Vijos P1763 Wormhole
来源:互联网 发布:沙滩鞋淘宝 编辑:程序博客网 时间:2024/06/03 20:16
贪心题目。
显然可以发现一个性质。。。
接下来就是二分判断。。
首先二分一个最大路径,然后枚举虫洞的位置,考虑冲突时决策的调整。
先将虫洞的位置设在第一个到1距离>mid的点,然后继续向后扫描,
发现一个点j到i的距离也大于mid,这样就将j-1设成虫洞,然后看后面的点到j-1的距离是否符合要求。
这样做一定是最优的。(因为要想满足全部条件,首先局部必须满足,否则就无法满足全部条件,因此一步一步的考虑)
#include<cstdio>using namespace std;int n,t,d[200000],x[200000];bool check(int mid){int j;for(int i=1;i<=n;i++)if(d[i]>mid) {for(j=i;j<=n+1;j++) if(d[j]-d[i]>mid) break;for(int k=j;k<=n;k++){if(d[k]-d[j-1]>mid) return false;}return true; }return true;}int main(){scanf("%d",&t);for(int k=1;k<=t;k++){int l=0,r=1000000000,mid,ans=999999999; scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&x[i]);d[i]=x[i]-x[1];}if(k==2) check(1);while(l<=r){mid=(l+r)/2;if(check(mid)) {ans=mid; r=mid-1;}else l=mid+1;}printf("%d\n",ans);}}
0 0
- Vijos P1763 Wormhole
- USACO wormhole
- usaco wormhole
- [vijos1763] wormhole
- Wormhole大盘
- [vijos1763]Wormhole
- ZOJ 3613 Wormhole Transport
- USACO1.3.5 Wormholes (wormhole)
- USACO1.3.5 Wormholes (wormhole)
- usaco 1.3.7wormhole
- poj 3259 Wormhole【bellman_ford】
- wormhole make 问题
- usaco 1.3.5 wormhole
- usaco1.3.4 Wormhole
- Wormhole、MergeDelta优化
- wormhole-section1.3
- USACO1.3 wormhole
- ZOJ3613-Wormhole Transport
- IE6,IE7下text-indent消失问题
- 打开Eclipse时出现 "Failed to create the Java Virtual Machine
- 生活随笔与读书笔记20140302
- 将HDFS中的数据导入HBase
- 杭电 1002
- Vijos P1763 Wormhole
- c# AntiSocialRobots 源码分析
- iOS多线程之NSThread
- Eclipse搭建安卓-android开发环境
- 表单中的验证码通过js简单实现局部刷新效果
- 关于 wcout 输出中文的问题
- launchMode(启动模式)
- [Java]Swing基础编程【2】事件模型 持有对方的引用
- ERStudio 的安装