hdu 2962 最短路+二分
题意:最短路上有一条高度限制,给起点和最大高度,求满足高度最大情况下,最短路的距离
不明白为什么枚举所有高度就不对
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 const int maxint=999999; 5 int c[1005][1005][2],dist[1005],H[1005]; 6 using namespace std; 7 int n,line; 8 int i,j,k; 9 int st,ed,mid; 10 int t=0; 11 int path[1005]; 12 int visit[1005]; 13 bool dijkstra() 14 { 15 bool s[1005]; 16 for(int i=1;i<=n;i++) 17 { 18 s[i]=0; 19 if(c[st][i][0]>=mid) 20 dist[i]=c[st][i][1]; 21 else dist[i]=maxint; 22 path[i]=st; 23 } 24 s[st]=1; 25 for(int i=1;i<n;i++) 26 { 27 int temp=maxint; 28 int u=st; 29 for(int j=1;j<=n;j++) 30 if(!s[j]&&temp>dist[j]&&c[path[j]][j][0]>=mid) 31 { 32 temp=dist[j]; 33 u=j; 34 } 35 if(temp==maxint) break; 36 s[u]=1; 37 if(u==ed) return true; 38 for(int j=1;j<=n;j++) 39 if(!s[j]&&c[u][j][1]!=maxint&&c[u][j][0]>=mid) 40 if(dist[j]>dist[u]+c[u][j][1]) 41 { 42 dist[j]=dist[u]+c[u][j][1]; 43 path[j]=u; 44 } 45 } 46 return false; 47 } 48 int main() 49 { 50 #ifndef ONLINE_JUDGE 51 freopen("1.in","r",stdin); 52 #endif 53 while(scanf("%d%d",&n,&line)!=EOF&&n&&line) 54 { 55 int tot=1; 56 memset(H,0,sizeof(H)); 57 H[0]=0; 58 if(t) printf("\n"); 59 printf("Case %d:\n",++t); 60 for(i=1;i<=n;i++) 61 for(j=1;j<=n;j++) 62 { 63 c[i][j][1]=(i==j?0:maxint); 64 c[i][j][0]=-999999; 65 } 66 for(i=1;i<=line;i++) 67 { 68 int p,q,len,h; 69 scanf("%d%d%d%d",&q,&p,&h,&len); 70 if(h==-1) 71 { 72 c[p][q][0]=c[q][p][0]=maxint; 73 c[p][q][1]=c[q][p][1]=len; 74 continue; 75 } 76 if(c[p][q][0]<h) 77 { 78 c[p][q][0]=c[q][p][0]=h; 79 c[p][q][1]=c[q][p][1]=len; 80 } 81 } 82 int tall; 83 scanf("%d%d%d",&st,&ed,&tall); 84 /*if(st==ed) 85 { 86 printf("maximum height = %d\n",tall); 87 printf("length of shortest route = 0\n"); 88 continue; 89 }*/ 90 /*H[tot++]=tall; 91 sort(H,H+tot); 92 int ans=0; 93 bool flag=0; 94 for(i=tot-1;i>=0;i--) 95 { 96 if(H[i]>tall) continue; 97 mid=H[i]; 98 if(dijkstra()) 99 { 100 flag=1; 101 ans=dist[ed]; 102 break; 103 } 104 }*/ 105 int first=1; 106 int ans; 107 mid=(first+tall)>>1; 108 while(first<=tall) 109 { 110 if(dijkstra()) 111 { 112 ans=dist[ed]; 113 first=mid+1; 114 } 115 else 116 tall=mid-1; 117 mid=(first+tall)>>1; 118 } 119 if(tall==0) printf("cannot reach destination\n"); 120 else 121 { 122 printf("maximum height = %d\n",tall); 123 printf("length of shortest route = %d\n",ans); 124 } 125 } 126 return 0; 127 }
转载于:https://www.cnblogs.com/cnblogs321114287/p/4454121.html
hdu 2962 最短路+二分相关推荐
- Luogu P1462 通往奥格瑞玛的道路(最短路+二分)
P1462 通往奥格瑞玛的道路 题面 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己 ...
- 【HDU - 1839】Delay Constrained Maximum Capacity Path(最短路 + 二分)
题干: 考虑一个包含 N 个顶点的无向图,编号从 1 到 N,并包含 M 条边.编号为 1 的顶点对应了一个矿藏,可从中提取珍稀的矿石.编号为 N 的顶点对应了一个矿石加工厂.每条边有相应的通行时间 ...
- Hdu 1217 最短路.cpp
题意: 各国的汇率兑换.. 给出各国之间汇率兑换的比例,然后问你是否可以通过不断地兑换最后挣钱.. 譬如美金兑换英镑 是0.5 英镑兑换法币是 10 法币兑换美金是 0.21 所以通过1美金兑换成0. ...
- P1462 通往奥格瑞玛的道路[最短路+二分+堆优化]
题目来源:洛谷 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描 ...
- hdu 2112 HDU Today 最短路(Dijkstra算法)
HDU Today Time Limit: 15000/5000 MS ...
- hdu 2544 最短路 (dijkstra)
http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...
- HDU3143Speedy Escape 最短路+二分+搜索
题目大意: 给出一个图,其中有一些点是出口,现在有一个罪犯有一个警察,各在两个不同的点.其中警察有一个最大速度160,问罪犯最少需要多大的速度,保证能从某个出口逃跑. 一开始看了题目没什么感觉,当将题 ...
- 中石油训练赛 - 小说(最短路+二分)
题目链接:点击查看 题目大意:给出一个无环无向图,以及k,定义答案是点1到点n的任意一条路径上,所经过的所有边的权值中的第k大值,求答案的最小值.(题目是中文题面,没看懂大意可以直接去看原题目..) ...
- HDU 3646 DP + 二分
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3646 题意:你有N把武器,每把武器可以对敌人造成一定的伤害(et:攻击力500,敌人血量为200,杀死敌人 ...
最新文章
- 蓝云公布2019云生态战略,如何解决企业上云关键问题?
- 组策略部署软件----将部署的软件分类
- AngularJS基于模块化的MVC实现
- 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求响应
- 网址导航html5源码图标版,最新仿hao123网址导航(晓风网址导航系统) v4.2
- python快乐数字怎么表达_Python经典面试题:这些面试题你会了吗?
- 新建SVN Repository
- 搜索引擎网站登录入口
- HG255D[OpenWrt]刷机
- 毕业季-Java分布式开发面试题
- 计算机硬盘型号怎么看,硬盘编号怎么看
- Dynamsoft SourceAnywhere for VSS 5.4安装配置指南
- 【WebGoat习题解析】Parameter Tampering-Bypass HTML Field Restrictions
- 世界坐标、相机坐标、图像坐标、像素坐标的原理、关系,并用matlab仿真
- 给宝贝女儿雅琪写的顺口溜
- Autumn Web Handler
- 用Python搞出自己的云词图 | 【带你装起来】
- jsp基础之page指令,include动作(新手学习笔记)
- 2022总结,强风吹拂
- streaming mr