【USACO09OCT】热浪Heat Wave
题目描述
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):
                          [1]----1---[3]-
                         /               \
                  [3]---6---[4]---3--[3]--4
                 /               /       /|
                5         --[3]--  --[2]- |
                 \       /        /       |
                  [5]---7---[2]--2---[3]---
                        |       /
                       [1]------
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的最小总费用。数据保证至少存在一条道路。
输入样例#1:
7 11 5 4
2 4 2
1 4 3
7 2 2
3 4 3
5 7 5
7 3 3
6 1 1
6 3 4
2 4 3
5 6 3
7 2 1
输出样例#1:
7
说明
【样例说明】
5->6->1->4 (3 + 1 + 3)
题解
随手做一下
SPFA裸题
不解释
防止某个虚伪的大佬又说我切火题
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<set>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
#define MAX 20000
#define INF 1000000000
int dis[MAX];
bool vis[MAX];
queue<int> Q;
inline int read()
{
	   register int x=0,t=1;
	   register char ch=getchar();
	   while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
	   if(ch=='-'){t=-1;ch=getchar();}
	   while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	   return x*t;
}
struct Line
{
	   int v,next,w;
}e[MAX];
int h[MAX],cnt=1;
int Ts,Te,T,C;
inline void Add(int u,int v,int w)
{
	   e[cnt]=(Line){v,h[u],w};
	   h[u]=cnt++;
}
int main()
{
		T=read();C=read();
		Ts=read();Te=read();
		for(int i=1;i<=C;++i)
		{
			    int u=read(),v=read(),w=read();
			    Add(u,v,w);
			    Add(v,u,w);
		}
		/****************SPFA******************/
		for(int i=1;i<=T;++i)dis[i]=INF;
		vis[Ts]=true;
		dis[Ts]=0;
		Q.push(Ts);
		while(!Q.empty())
		{
			    int u=Q.front();Q.pop();
			    vis[u]=false;
			    for(int i=h[u];i;i=e[i].next)
			    {
			    	    int v=e[i].v;
			    	    if(dis[v]>dis[u]+e[i].w)
			    	    {
			    	    	   dis[v]=dis[u]+e[i].w;
			    	    	   if(!vis[v])
			    	    	   {
			    	    	   	    vis[v]=true;
			    	    	   	    Q.push(v);
			    	    	   }
			    	    }
			    }
		}
		cout<<dis[Te]<<endl;
		return 0;
}
【USACO09OCT】热浪Heat Wave的更多相关文章
- 洛谷—— P1339 [USACO09OCT]热浪Heat Wave
		P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ... 
- [USACO09OCT]热浪Heat Wave
		未经同意,不得转载. The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make ... 
- [最短路]P1339 [USACO09OCT]热浪Heat Wave
		题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ... 
- P1339 [USACO09OCT]热浪Heat Wave
		我太lj了,所以趁着夜色刷了道最短路的水题....然后,,我炸了. 题目描述: The good folks in Texas are having a heatwave this summer. T ... 
- luogu P1339 [USACO09OCT]热浪Heat Wave
		题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ... 
- [USACO09OCT]热浪Heat Wave Dijkstra
		题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ... 
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave (堆优化dijkstra)
		题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ... 
- 洛谷P1339 [USACO09OCT]热浪Heat Wave(最短路)
		题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ... 
- P1339 [USACO09OCT]热浪Heat Wave(SPFA)
		-------------------------------------- 农夫约翰再显神威,双向热浪,双倍数组 (双倍大小,否则RE) ------------------------------ ... 
- 洛谷P1339 [USACO09OCT]热浪Heat Wave 题解
		题目传送门 这道题实际非常简单好奇是怎么变黄的... 其实也就是一个SPFA,本人非常懒,不想打邻接表,直接用矩阵就好啦... #include<bits/stdc++.h> using ... 
随机推荐
- nginx/php-fpm 访问php文件直接下载而不运行
			遇到这种问题,首先确认你web服务器配置中的.PHP是不是被指定给FastCGI server处理: location ~ .php$ { fastcgi_pass ; } 如已配置,那么可能是由于f ... 
- [bzoj4552][Tjoi2016&Heoi2016]排序-二分+线段树
			Brief Description DZY有一个数列a[1..n],它是1∼n这n个正整数的一个排列. 现在他想支持两种操作: 0, l, r: 将a[l..r]原地升序排序. 1, l, r: 将a ... 
- 跟面向对象卯上了,看看ES6的“类”
			上回我们说到ES5的面向对象,以及被大家公认的最佳的寄生组合式继承.时代在进步,在ES6中对于面向对象这个大boss理所应当地进行了一次大改,从原先那种比较长的写法转变为"小清新" ... 
- Dynamics 365 Online-多选域
			参与过Dynamics CRM相关工作的朋友们都知道,Dynamics 365之前并没有多选域字段,想要实现多选域,需要自己添加WebResource定制,而这也带来了一系列需要考虑的情况,比如额外的 ... 
- js中boolean类型的理解
			<html> <head> <script type="text/javascript"> var x="12"; aler ... 
- 在jdbc中使用properites文件进行使用
			首先先在源代码中创建一个properites文件 db_url=jdbc\:mysql\://localhost\:3306/db_friend db_user=root db_password= d ... 
- mysql4 - 高级操作
			一.联结(使用 where(早) 和 join(晚) 都可以完成联结) 1.1 从 Teacher 表和 Profession 表中,查询出老师的名字和所属专业的名称. SELECT t.`l_nam ... 
- 【开源项目】智能电视及电视盒子的控制应用TVRemoteIME的接口说明
			一.APP项目介绍: APP名称:TVRemoteIME 功能说明:安卓智能电视或者安卓盒子的控制应用,可跨屏远程输入.远程遥控(代替遥控器)盒子.盒子应用及文件管理.HTTP/RTMP/MMS网络视 ... 
- 3D打印技术在医疗上的实际应用与实验室研究
			2018-01-17 Chris 免费3D打印模型资源站 预计阅读时间:5-10分钟 关键字:3D打印髋关节.脊柱置换产品,3D打印技术辅助精准截骨,义齿,生物墨水(BioInk),干细胞 随着& ... 
- 将FTP映射至Windows
			在经常使用ftp传输文件的环境中,每次上传和下载文件都需要重新连接然后登录是非常繁琐的一件事情.我们可以将FTP空间映射到本地磁盘空间,免去输入地址以及账号.密码.方便我们日常中文件的上传和下载. 1 ... 
