【POJ】3268 Silver Cow Party
题目链接:http://poj.org/problem?id=3268
题意 :有N头奶牛,M条单向路。X奶牛开party,其他奶牛要去它那里。每头奶牛去完X那里还要返回。去回都是走的最短路。现在问这里面哪头奶牛走的路最长。
题解:对每个奶牛i与X做两次spfa。去回各一次。然后统计最长的。。板子稍微改一改//但是我还是T了好几发,因为初始化数组的时候maxn开大了。。QAQ。改小了就过了。
代码:
1 #include<iostream> 2 #include<stack> 3 #include<vector> 4 #include<queue> 5 #include<algorithm> 6 using namespace std; 7 const int maxn = 100005; 8 9 vector< pair<int,int> > e[maxn]; 10 11 int n,m,X; 12 int d[maxn],inq[maxn]; 13 14 int spfa(int s,int t){ 15 for(int i = 0 ;i < maxn ; i++) 16 inq[i] = 0; 17 for(int i = 0 ; i < maxn ; i++) 18 d[i] = 1e9; 19 queue<int>Q; 20 Q.push(s);d[s] = 0 ;inq[s] = 1; 21 while( !Q.empty() ){ 22 int now = Q.front(); 23 Q.pop(); 24 inq[now] = 0; 25 for(int i = 0; i < e[now].size() ; i++){ 26 int v = e[now][i].first; 27 if(d[v] > d[now] + e[now][i].second){ 28 d[v] = d[now] + e[now][i].second; 29 if(inq[v] == 1) 30 continue; 31 inq[v] = 1; 32 Q.push(v); 33 } 34 } 35 } 36 return d[t]; 37 } 38 39 int main() { 40 scanf("%d%d%d",&n,&m,&X); 41 int x,y,z; 42 for(int i = 0; i < m ;i++){ 43 scanf("%d%d%d",&x,&y,&z); 44 //cin>>x>>y>>z; 45 e[x].push_back(make_pair(y,z)); 46 //e[y].push_back(make_pair(x,z)); 47 } 48 49 int ans = 0; 50 for(int i = 1 ;i <= n ;i++){ 51 if(i == X){ 52 continue; 53 } 54 int sum = spfa(X,i); 55 sum += spfa(i,X); 56 ans = max(ans,sum); 57 } 58 cout<<ans<<endl; 59 60 return 0; 61 }
转载于:https://www.cnblogs.com/Asumi/p/9716129.html
【POJ】3268 Silver Cow Party相关推荐
- 【POJ】3268 Silver Cow Party (将有向图的边反转)
问题链接:http://poj.org/problem?id=3268 [问题描述] One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...
- 【POJ】3617 Best Cow Line (字典序 字符串)
http://poj.org/problem?id=3617 给定长度为N(1≤N≤2000)的字符串S,要构造一个长度为N的字符串T.期初,T是一个空串,随后反复进行下列任意操作. 从S的头部删除一 ...
- POJ 3268 Silver Cow Party (最短路径)
POJ 3268 Silver Cow Party (最短路径) Description One cow from each of N farms (1 ≤ N ≤ 1000) convenientl ...
- 【POJ】1067 取石子游戏(博弈论)
Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
- 【POJ】2676-Sudoku 【51Nod】1211-数独(DFS)
[POJ]2676-Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 25200 Accepted: 11782 Sp ...
- 【POJ】 1014 Dividing(多重背包,优化)
[POJ] 1014 Dividing(多重背包,优化) [题目链接]http://poj.org/problem?id=1014 题目 Description Marsha and Bill own ...
- 【POJ】1456 supermarket
[POJ]1456 supermarket 给定 n 件物品,第 i件物品有如下信息: 卖出去可以得到pi的收益. 过期时间为di ,过了过期时间就不能再卖出去. 卖掉一件物品要用 1 的时间,求最大 ...
- [POJ](3268)Silver Cow Party ---最短路径(图)
Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 23762 Accepted: 1085 ...
- jzoj 1594: 【USACO】The Chivalrous Cow(骑士牛)( 待加入)
1594: [USACO] 题目描述 Farmer John traded one of his cows for a cow that Farmer Don called 'The Knight' ...
最新文章
- cffi java_atomiclong-使用CFFI的原子长类型。-David Reid
- jmeter将响应结果由Unicode转码成中文展示
- python中与时间有关的对象-datetime、time、date
- MySQL 纯insert_MySQL使用INSERT插入多条记录
- DivideMix: Salesforce提出使用半监督学习大幅改进含噪声标签的学习
- 多线程的概念及实现方式
- 第八章 Hyper-V 2012 R2 故障转移群集
- RabbitMQ之Topic交换器模式开发
- awstats 日志分析
- linux运维零基础学习,没有基础怎么学习Linux运维?Linux学习
- Visual studio2019 装svn插件
- 设计物联网系统的步骤和原则有哪些
- css 修改文字基准线_css如何添加删除线?css text-decoration属性设置删除线(代码实例)...
- Radon变换主要知识点
- 微信公众号:提示“redirect_uri 参数错误”
- 安徽大学计算机考研经验贴
- JBoss,Geronimo还是Tomcat?——三种开源Java应用服务器的比较
- log4j2远程代码执行漏洞学习总结
- gzip: stdin: not in gzip format / tar: Child returned status 1
- linux下float的寄存器,检测x86上Linux的非正常浮动操作(Detecting denormal float operations on Linux for x86)...
热门文章
- linux ssh非交互脚本,sshpass实现shell脚本非交互密码验证
- go for 循环遍历数组并排序_10. Go语言流程控制:for 循环
- CCIE理论第三篇-LISP技术
- 【牛客 - 301哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)】小乐乐的组合数+(取模,数学,思维)
- 详解停车位检测算法 Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark
- java date 相差_java 比较时间相差多少分钟
- centos 6.5 apache mysql php_CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- code vs 代码格式化排版_23行代码,教你用python实现百度翻译!(建议收藏)
- 渤海船舶职业学院计算机应用公司,渤海船舶职业学院
- 苹果支付:如何解决沙盒环境下获取可恢复购买项为空