我太lj了,所以趁着夜色刷了道最短路的水题。。。。然后,,我炸了。 

  题目描述:

   The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to deliver plenty of ice cold nutritious milk to Texas so the Texans will not suffer the heat too much.

FJ has studied the routes that can be used to move milk from Wisconsin to Texas. These routes have a total of T (1 <= T <= 2,500) towns conveniently numbered 1..T along the way (including the starting and ending towns). Each town (except the source and destination towns) is connected to at least two other towns by bidirectional roads that have some cost of traversal (owing to gasoline consumption, tolls, etc.). Consider this map of seven towns; town 5 is the

source of the milk and town 4 is its destination (bracketed integers represent costs to traverse the route):

   Traversing 5-6-3-4 requires spending 3 (5->6) + 4 (6->3) + 3 (3->4) = 10 total expenses.

Given a map of all the C (1 <= C <= 6,200) connections (described as two endpoints R1i and R2i (1 <= R1i <= T; 1 <= R2i <= T) and costs (1 <= Ci <= 1,000), find the smallest total expense to traverse from the starting town Ts (1 <= Ts <= T) to the destination town Te (1 <= Te <= T).

  德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。

   FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过T (1 <= T <= 2,500)个城镇,方便地标号為1到T。除了起点和终点外地每个城镇由两条双向道路连向至少两个其它地城镇。每条道路有一个通过费用(包括油费,过路费等等)。

  给定一个地图,包含C (1 <= C <= 6,200)条直接连接2个城镇的道路。每条道路由道路的起点Rs,终点Re (1 <= Rs <= T; 1 <= Re <= T),和花费(1 <= Ci <= 1,000)组成。求从起始的城镇Ts (1 <= Ts <= T)到终点的城镇Te(1 <= Te <= T)最小的总费用。

输入输出格式:

输入格式:

  第一行: 4个由空格隔开的整数: T, C, Ts, Te

  第2到第C+1行: 第i+1行描述第i条道路。有3个由空格隔开的整数: Rs, Re和Ci

输出格式:

  一个单独的整数表示从Ts到Te的最小总费用。数据保证至少存在一条道路。

输入输出样例:

  输入样例:

  输出样例:

说明

  【样例说明】  5->6->1->4 (3 + 1 + 3)

LCA的爱情,被一道‘热浪’冲毁了??????

调了一个小时的热浪还没调出来,我的dijkstra怎么了??????

#include"bits/stdc++.h"

#define maxn 11111

using namespace std;

int cnt,s,t,n,m/*,g[maxn][maxn]*/,head[maxn],dis[maxn],y,z;

bool vis[maxn];

struct edge{

         int u,v,w;

         int next;

}a[maxn];

/*inline int read() {

         int x=0,f=1;

         char c=getchar();

         while(c<'0'||c>'9') {

                   if(c=='-')f=-1;

                   c=getchar();

         }

         while(c>='0'&&c<='9') {

                   x=x*10+c-'0';

                   c=getchar();

         }

         return x*f;

}*/

void add_edge(int aa,int b,int c){

         cnt++;

         a[cnt].u=aa;

         a[cnt].v=b;

         a[cnt].w=c;

         a[cnt].next=head[aa];

         head[aa]=cnt;

}

/*void floyed() {

         for(int k=1; k<=n; k++) {

                   for(int i=1; i<=n; i++) {

                            if(k!=i)

                                     for(int j=1; j<=i; j++)

                                               if(i!=j&&j!=k&&g[i][j]>g[i][k]+g[k][j])

                                                        g[i][j]=g[i][k]+g[k][j];

                   }

         }

}*/

void dijkstra(){

         priority_queue <pair<int,int> > Q;         

         memset(dis,0x3f,sizeof(dis));

         dis[s]=;

         Q.push(make_pair(,s));

         while(!Q.empty()){

                   int x=Q.top().second;

                   Q.pop();

                   if(vis[x]) continue;

                   vis[x]=;

                   for(int i=head[x];i;i=a[i].next)

                            y=a[i].v,z=a[i].w;

                            if(dis[y]>dis[x]+z)

                                     dis[y]=dis[x]+z;

                                     Q.push(make_pair(-dis[y],y));

         }

}

int main() {

         ios::sync_with_stdio(false);

         cin>>n>>m>>s>>t;

         //n=read(); m=read(); s=read(); t=read();

/*     for(int i=1;i<=n;i++)

                   for(int j=1;j<=n;j++)

                            g[i][j]=0x3f3f3f3f;*/

         memset(vis,,sizeof(vis));

         for(int i=; i<=m; i++) {

                   int x,y,z;

                   cin>>x>>y>>z;

                   //x=read();y=read();z=read();

                   add_edge(x,y,z);

                   /*g[x][y]=z;

                   g[y][x]=z;*/

         }

//      floyed();

//      cout<<g[s][t];

         dijkstra();

         cout<<dis[s];

         return ;

}

迷茫之处:(这种BC错误真的没脸说)

  1.不将a[i].w用z表示就会显示错误。

  2.输出永远是0(应该是我的dijkstra错了)

  3.惨兮兮,有时候真的怀疑我是不是BC。。

AC代码:

  

#include"bits/stdc++.h"
#define maxn 12222
using namespace std;
int cnt=,s,t,n,m,head[maxn],dis[maxn],y,z;
bool vis[maxn];
struct edge {
int u,v,w;
int next;
} a[maxn];
priority_queue <pair<int,int> > Q; void add_edge(int aa,int b,int c) {
cnt++;
a[cnt].u=aa;
a[cnt].v=b;
a[cnt].w=c;
a[cnt].next=head[aa];
head[aa]=cnt;
} void dijkstra() {
memset(dis,0x3f,sizeof(dis));
memset(vis,,sizeof(vis));
dis[s]=;
Q.push(make_pair(,s));
while(Q.size()) {
int x=Q.top().second;
Q.pop();
if(vis[x]) continue;
vis[x]=;
for(int i=head[x]; i; i=a[i].next) {
y=a[i].v,z=a[i].w;
if(dis[y]>dis[x]+z) {
dis[y]=dis[x]+z;
Q.push(make_pair(-dis[y],y));
}
}
}
} int main() {
ios::sync_with_stdio(false);//
cin>>n>>m>>s>>t;
for(int i=; i<=m; i++) {
int x,y,z;
cin>>x>>y>>z;
add_edge(x,y,z);
add_edge(y,x,z);
}
dijkstra();
cout<<dis[t];
return ;
}

**之处:

  1.括号全忘了

  2.怒删注释和快读?

  3.打了个这个priority_queue <edge> Q。

  4.震惊!!是人性的丧失还是lyq的泯灭????

耗费一个半小时,我真的是lj

P1339 [USACO09OCT]热浪Heat Wave的更多相关文章

  1. 洛谷—— P1339 [USACO09OCT]热浪Heat Wave

    P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ...

  2. [最短路]P1339 [USACO09OCT]热浪Heat Wave

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  3. luogu P1339 [USACO09OCT]热浪Heat Wave

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  4. 洛谷 P1339 [USACO09OCT]热浪Heat Wave (堆优化dijkstra)

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  5. 洛谷P1339 [USACO09OCT]热浪Heat Wave(最短路)

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  6. 洛谷 P1339 [USACO09OCT]热浪Heat Wave

    题目链接:https://www.luogu.org/problemnew/show/P1339 解题思路: 一道简单的最短路水题,dijkstra解法模板思路:https://www.cnblogs ...

  7. 洛谷 P1339 [USACO09OCT]热浪Heat Wave(dijkstra)

    题目链接 https://www.luogu.org/problemnew/show/P1339 最短路 解题思路 dijkstra直接过 注意: 双向边 memset ma数组要在读入之前 AC代码 ...

  8. P1339 [USACO09OCT]热浪Heat Wave(SPFA)

    -------------------------------------- 农夫约翰再显神威,双向热浪,双倍数组 (双倍大小,否则RE) ------------------------------ ...

  9. 洛谷 P1339 [USACO09OCT]热浪Heat Wave(最短路)

    嗯... 题目链接:https://www.luogu.org/problem/P1339 这道题是水的不能在水的裸最短路问题...这里用的dijkstra 但是自己进了一个坑—— 因为有些城市之间可 ...

随机推荐

  1. 使用IO流写文件的一些骚操作

    序言 当需要对文件进行操作时,使用IO流是不能避免的操作:比如业务中需要存储一些请求的响应结果中的一些内容.当所需处理的文件过大时,如果频繁的关闭文件流,会造成很大的开销,何时关闭?往往会造成比较大的 ...

  2. Docker在Linux上运行NetCore系列(三)在Linux上使用Docker运行Asp.NetCore

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始说明 上几篇文章都是通过Linux运 ...

  3. java中求质数(素数)的问题

    这篇笔记讲讲关于java中质数的问题. 一.什么是质数(素数)? 定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数.它可以有无限个数. 二.ja ...

  4. 高淇java300集JAVA面向对象的进阶作业

    一.选择题 1.使用权限修饰符(B)修饰的类的成员变量和成员方法,可以被当前包中所有类访问,也可以被它的子类(同一个包以及不同包中的子类)访问.(选择一项) Apublic B.protected C ...

  5. 2015年第六届蓝桥杯javaB组 试题 答案 解析

    1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. ##### 答案 : 28   ### 2.立方 ...

  6. MySQL 字符集和校对

    字符集是指一种从二进制编码到某类字符符号的映射,校对是一组用于某个字符集的排序规则.每一类编码字符都有其对应的字符集和校对规则 MySQL 如何使用字符集 每种字符集都可能有多种校对规则,并且都有一个 ...

  7. Odoo / PS Cloud12版本中,产品变体功能如何使用

    场景: 产品:陶瓷马克杯 产品颜色变体:红色.蓝色.白色 产品尺寸变体:10CM.12CM.15CM 每个变体都有不同价格维度 odoo / PS Cloud 专业实施开发 EMAIL:1715860 ...

  8. IDEA启动tomcat乱码

    1.找到IDEA安装目录 2.找到2个文件 3.编辑,在最后一行加入 -Dfile.encoding=UTF-8 4.修改IDEA里tomcat内得编码 5.修改IDEA中tomcat中,startu ...

  9. C#格式化

    格式化表示的一般格式 { N [ , M ] [ :格式码 ] } N:  指定参数序列中的输出序号,比如{0} , {1}, {2}等. M: 指定参数输出的最小长度. 如果参数长度小于M,则空格填 ...

  10. 菜鸟学IT之第一次作业

    作业的要求来自于:https://www.cnblogs.com/greyzeng/p/9581624.html 反思· 为何要来上课并且认真参与? 在大学中的师生关系? 自我简述题目 心得· 学习态 ...