http://acm.hdu.edu.cn/showproblem.php?pid=1025

题意:题目的意思就是有两种城市,穷和富,要富的运到穷的里面问你最多能建几条路。

思路:就是按穷的递增序列来找富的城市里的最大上升子序列。就是LIS法,因为有500000个数据所以用普通的方法肯定超时,那么就用二分查找就可以了。每次就是找第一个比这个数大的数如果没有就放在最右边把最长的序列加一,否则把第一个比他大的数给替换掉。

View Code

#include<cstdio>using namespace std;int n;int s[500010],ans[500010],a,b;int real;int solve(int t){int l=1,r=real;while(l<=r)    {int mid=(l+r)/2;if(ans[mid]>=t)        r=mid-1;else        l=mid+1;    }if(l>real)    real=l;return l;}int main(){int i,tt=0,temp;while(scanf("%d",&n)!=EOF)   {       tt++;real=0;for(i=1;i<=n;i++)       {       scanf("%d%d",&a,&b);       s[a]=b;       }

for(i=1;i<=n;i++)       {           temp=solve(s[i]);           ans[temp]=s[i];

       }if(real==1)       printf("Case %d:\nMy king, at most %d road can be built.\n\n",tt,real);else       printf("Case %d:\nMy king, at most %d roads can be built.\n\n",tt,real);   }return 0;}

转载于:https://www.cnblogs.com/LT-blogs/archive/2011/11/29/2267545.html

hdu 1025 Constructing Roads In JGShining's Kingdom相关推荐

  1. hdu 1025 Constructing Roads In JGShining's Kingdom(DP + 二分)

    此博客为转发 Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Li ...

  2. HDU 1025 Constructing Roads In JGShining's Kingdom(DP+二分)

    点我看题目 题意 :两条平行线上分别有两种城市的生存,一条线上是贫穷城市,他们每一座城市都刚好只缺乏一种物资,而另一条线上是富有城市,他们每一座城市刚好只富有一种物资,所以要从富有城市出口到贫穷城市, ...

  3. hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1025 View Code 1 #include <iostream> 2 #include&l ...

  4. 【HDU - 1025】Constructing Roads In JGShining's Kingdom(dp最长上升子序列模型 + 二分优化)

    题干: Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

  5. HDU-1025 Constructing Roads In JGShining's Kingdom

    题目大意:就是说怎样建道路才使得所建道路最多.任意两天道路不能交叉. 解题思路:因为是按城市按顺序排列.所以我们只需将两个城市序号用结构体存下来.对富人城市排序. 这样就成了一个序列了,这样就成了一个 ...

  6. hdu1025 Constructing Roads In JGShining#39;s Kingdom(二分+dp)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 Problem ...

  7. hdu1025 Constructing Roads In JGShining#39;s Kingdom (nlogn的LIS)

    题目链接 第一次写nlogn复杂度的LIS,纪念一下. 题目意思是说.有两条平行线.两条平行线都有n个城市,都是从左到右标记为1--n,一条线上是富有城市,一个是贫穷城市.输入n.接下来有n行,p,r ...

  8. HDU1102 Constructing Roads 最小生成树

    点击打开链接 Online Judge Online Exercise Online Teaching Online Contests Exercise Author F.A.Q Hand In Ha ...

  9. HDU 1301 Jungle Roads(裸最小生成树)

    题目链接 今天做了好几个模版最小生成树...贴一个kurskral. 1 /* 2 HDU 1301 Jungle Roads 3 最小生成树Kurskal模版 4 */ 5 #include < ...

最新文章

  1. asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页...
  2. 2012组策略自动部署wsus
  3. 基于http协议的api接口对于客户端的身份认证方式以及安全措施
  4. 深度解析两种信用评估模型
  5. Java基础提升篇:equals()与hashCode()方法详解
  6. ESP8266开发笔记
  7. java table集合_Java集合类汇总记录--guava篇
  8. CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
  9. [蓝桥杯][算法训练VIP]王、后传说(深搜+回溯)
  10. Redis(案例一:注册登录-图形验证码+谷歌开源Kaptcha)
  11. java联接pg库_Java14:使用Java 14的新记录联接数据库表
  12. java txt html格式_java中xml(txt/html等格式)解析问题,请教java高手,请勿粘贴其他网页上的内容(能查的都看了)。...
  13. 【操作系统复习】进程控制
  14. 真5G尚需时日,滑稽的假5G营销已经上演
  15. git管理工具使用-本地通过git命令拉取项目
  16. docker视频教程下载
  17. minitab学习系列(1)--二项式分布过程能力分析
  18. Python网络爬虫——爬取视频网站源视频!
  19. 自定义结构体及初始化
  20. 腾讯发布 2017 年度代码报告

热门文章

  1. 4014-基于邻接表的长度为k的简单路径的求解(C++,附思路)
  2. 大专学计算机应用难吗,上了两年技校,专业是计算机应用,什么也没学到。现在想在去上个大专。学什么专业好呢。?...
  3. c 语言中的菱形继承,C++中的菱形继承深入分析
  4. 使用rust编译linux,在 Ubuntu 上为 CentOS 编译 Rust 程序,
  5. mysql 张三的语文成绩_八道 经典的 MYSQL 面试题目(有答案)
  6. java环境变量配置 - win10
  7. Unexpected end of JSON input while parsing near '...kwrap:false,directo'
  8. flask使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法
  9. 跳台阶问题:动态规划,公式
  10. 【BZOJ-1952】城市规划 [坑题] 仙人掌DP + 最大点权独立集(改)