397. [USACO Oct09] 热浪

★☆   输入文件:heatwvx.in   输出文件:heatwvx.out   简单对比
时间限制:1 s   内存限制:128 MB

德克薩斯純樸的民眾們這個夏天正在遭受巨大的熱浪!!!他們的德克薩斯長角牛吃起來不錯,可是他們並不是很擅長生產富含奶油的乳製品。Farmer John此時以先天下之憂而憂,後天下之樂而樂的精神,身先士卒地承擔起向德克薩斯運送大量的營養冰涼的牛奶的重任,以減輕德克薩斯人忍受酷暑的痛苦。

FJ已經研究過可以把牛奶從威斯康星運送到德克薩斯州的路線。這些路線包括起始點和終點先一共經過T (1 <= T <= 2,500)個城鎮,方便地標號為1到T。除了起點和終點外地每個城鎮由兩條雙向道路連向至少兩個其它地城鎮。每條道路有一個通過費用(包括油費,過路費等等)。

考慮這個有7個城鎮的地圖。城鎮5是奶源,城鎮4是終點(括號內的數字是道路的通過費用)。

                              [1]----1---[3]-
/ \
[3]---6---[4]---3--[3]--4
/ / /|
5 --[3]-- --[2]- |
\ / / |
[5]---7---[2]--2---[3]---
| /
[1]------

經過路線5-6-3-4總共需要花費3 (5->6) + 4 (6->3) + 3 (3->4) = 10的費用。

給定一個地圖,包含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)最小的總費用。

題目名稱: heatwv

輸入格式:

* 第一行: 4個由空格隔開的整數: T, C, Ts, Te

* 第2到第C+1行: 第i+1行描述第i條道路。有3個由空格隔開的整數: Rs, Re和Ci

樣例輸入 (文件 heatwv.in):

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

輸入細節:

跟題目描述的地圖一致。

輸出格式:

* 第一行: 一個單獨的整數表示Ts到Te的最短路的長度。(不是費用麼?怎麼突然變直白了

——譯者注)數據保證至少存在一條道路。

樣例輸出 (文件 heatwv.out):

7

輸出細節:

5->6->1->4 (3 + 1 + 3)

唉 本人真是Dijkstra的忠实粉丝啊

这一道题的题面颓人啊   为什么是繁体字?投诉!

这一道题看起来好简单的样子  跑一遍Dijkstra   然后输出终点的dis就行了 啊(天呐 突然发现一道水题)

挑战5分钟AC

成功!

注意:是双向边

#include<bits/stdc++.h>
#define pa pair<int,int>
#define maxn 2505
using namespace std;
int n,m,s,t;
vector<int> v[maxn],w[maxn];
int vis[maxn],dis[maxn];
priority_queue<pa,vector<pa>,greater<pa> > q;
void Dijkstra()
{
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=;i<v[x].size();i++)
{
int y=v[x][i];
int val=w[x][i];
if(dis[y]>dis[x]+val)
{
dis[y]=dis[x]+val;
q.push(make_pair(dis[y],y));
}
}
}
}
int main()
{
freopen("heatwvx.in","r",stdin);
freopen("heatwvx.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&s,&t);
for(int i=;i<=m;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
v[x].push_back(y);v[y].push_back(x);
w[x].push_back(z);w[y].push_back(z);
}
Dijkstra();
printf("%d\n",dis[t]);
return ;
}

总结心得:

熟能生巧 练的多了 自然就熟了(仿佛闻到了饭香味儿QAQ) 熟了就AC了(不应该是就可以吃了吗??QAQ)

cogs 397. [USACO Oct09] 热浪 Dijkstra的更多相关文章

  1. COGS 163 [USACO Mat07] 牛语

    COGS 163 [USACO Mat07] 牛语 输入文件:latin.in   输出文件:latin.out   简单对比 时间限制:1 s   内存限制:128 MB 奶牛们听说猪发明了一种秘密 ...

  2. Cogs 309. [USACO 3.2] 香甜的黄油 dijkstra,堆,最短路,floyd

    题目:http://cojs.tk/cogs/problem/problem.php?pid=309 309. [USACO 3.2] 香甜的黄油 ★★   输入文件:butter.in   输出文件 ...

  3. cogs 176. [USACO Feb07] 奶牛聚会 dijkstra

    176. [USACO Feb07] 奶牛聚会 ★☆   输入文件:sparty.in   输出文件:sparty.out   简单对比时间限制:3 s   内存限制:16 MB 译: zqzas N ...

  4. Dijkstra TYVJ 1031热浪 Dijkstra测试数据

    测试用邻接表写得Dijkstra 代码写得很烂. 描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer Jo ...

  5. COGS 144. [USACO Dec07] 魅力手镯【01背包复习】

    144. [USACO Dec07] 魅力手镯 ★   输入文件:charm.in   输出文件:charm.out   简单对比 时间限制:1 s   内存限制:8 MB 译 by CmYkRgB1 ...

  6. COGS——T1588. [USACO FEB04]距离咨询

    http://cogs.pro/cogs/problem/problem.php?pid=1588 ★★   输入文件:dquery.in   输出文件:dquery.out   简单对比时间限制:1 ...

  7. 匈牙利算法 cogs 886. [USACO 4.2] 完美的牛栏

    886. [USACO 4.2] 完美的牛栏 ★★☆   输入文件:stall4.in   输出文件:stall4.out   简单对比时间限制:1 s   内存限制:128 MB USACO/sta ...

  8. 算法优化(动态规划):COGS 2009. [USACO Mar09]餐厅清扫

    2009. [USACO Mar09]餐厅清扫 ★★☆   输入文件:cleanup.in   输出文件:cleanup.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] ...

  9. Cogs 1435. [USACO NOV]金发姑娘和N头牛

    1435. [USACO NOV]金发姑娘和N头牛 ★★☆   输入文件:milktemp.in   输出文件:milktemp.out   简单对比时间限制:1 s   内存限制:256 MB [题 ...

随机推荐

  1. H3C 基本ACL部署位置示例

  2. H3C 出站包过滤工作流程

  3. Python--day37--多进程中的方法join()

    1,多进程中的方法join()的作用: 感知一个子进程的结束,将异步的程序改为同步 #join() import time from multiprocessing import Process de ...

  4. P1019 聪聪理扑克

    题目描述 聪聪的两个小伙伴灵灵和豪豪喜欢打扑克,什么斗地主.德州.牛牛,他们都玩的有模有样. 但是每次玩好扑克他们都不整理一下,所以整理扑克的任务就交到了聪聪的手上. 已知现在桌面上有 n 张扑克牌, ...

  5. 5款顶尖Windows文件传输工具

    5款顶尖Windows文件传输工具 英文原文: Drasko 日常工作中,公司里的系统管理员或其他岗位的员工都需要传递大量各种类型的文件和文档.其中一些可以通过 email 收发.但由于 email ...

  6. Vue基础练习之Todo List

    <body> <div id = "app"> <input type="text" v-model="inputVal ...

  7. Docker应用容器引擎

    1.Docker概述 1.1.Docker简介 Docker 是一个开源的应用容器引擎,基于 Go 语言开发.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到 ...

  8. 由“Sysnative”引发的思考

    在64位的Windows系统中,有个非常神秘的文件夹“Sysnative”,你无法通过Explorer去访问它,甚至你都无法找到它,但它却扮演了一个非常重要的角色.下面我们就来聊聊它. 32位和64位 ...

  9. Visual Studio Team Services使用教程【3】:默认团队权限说明

    2017.4.23之后建议朋友看下面的帖子 TFS2017 & VSTS 实战(繁体中文视频) Visual Studio Team Services(VSTS)与敏捷开发ALM实战关键报告( ...

  10. 【一起学源码-微服务】Nexflix Eureka 源码七:通过单元测试来Debug Eureka注册过程

    前言 上一讲eureka client是如何注册的,一直跟到源码发送http请求为止,当时看eureka client注册时如此费尽,光是找一个regiter的地方就找了半天,那么client端发送了 ...