to get the ans of how many roads at most that can be built between two line without intersection of roads,we need sort the input sequence at ont edge and then deal with anther line with LIS

way,meanwhile, not forget using the nlogn way.

 #include<iostream>
#include<algorithm>
using namespace std;
const int N=;
struct LINE
{
int from,to;
friend bool operator<(LINE A,LINE B)
{
return A.from<B.from;
}
};
LINE node[N];
int y[N];
int c[N];
int MID(int a[],int value,int size)
{
int l=,r=size;
int mid=(l+r)/;
while(l<r)//1 3 5 7 9 3
{
if(a[mid]<value&&value<=a[mid+])return mid+;
else if(value<=a[mid])r=mid;
else l=mid+;
mid=(l+r)/;
}
}
int LIS(int len)
{
int size=;
int zhong=;
c[]=y[];
for(int i=;i<=len;i++)//7 6 4 9 11 14 17 3 15 20 4 5 6 7 8
{//3 9 11 15 17 20
if(y[i]<=c[])c[]=y[i];
else if(y[i]>c[size])
c[++size]=y[i];
else
{
zhong=MID(c,y[i],size);
c[zhong]=y[i];
}
}
return size;
}
int main()
{
int n;
int cnt=;
while(cin>>n)
{
for(int i=;i<n;i++)
scanf("%d %d",&node[i].from,&node[i].to);
sort(node,node+n);//sort one side by ascending direction
for(int i=;i<n;i++)
y[i+]=node[i].to;
int ans=LIS(n);
cout<<"Case "<<cnt<<':'<<endl;
cout<<"My king, at most "<<ans;
if(ans>)cout<<" roads can be built."<<endl;
else cout<<" road can be built."<<endl;
cnt++;
cout<<endl;
}
return ;
}

It has used the longest increasing subsequence algorithm way,and to get it solved after you have learned it.

input : with a n,represent n pairs of integers followed.And n pairs of intergers followed

output:

Cast i:

My king, at most n road(s) can be built

A sample below:

11
2 5
3 6
4 2
5 1
6 9
7 11
8 7
9 12
10 8
11 4
12 10
Case 1:
My king, at most 6 road can be built.

ACM.hdu1025的更多相关文章

  1. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  2. ACM训练计划建议(转)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  3. SCNU ACM 2016新生赛决赛 解题报告

    新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...

  4. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  5. acm结束了

    最后一场比赛打完了.之前为了记录一些题目,开了这个博客,现在结束了acm,这个博客之后也不再更新了. 大家继续加油!

  6. 关于ACM的总结

    看了不少大神的退役帖,今天终于要本弱装一波逼祭奠一下我关于ACM的回忆. 从大二上开始接触到大三下结束,接近两年的时间,对于大神们来说两年的确算不上时间,然而对于本弱来说就是大学的一半时光.大一的懵懂 ...

  7. 第一届山东省ACM——Phone Number(java)

    Description We know that if a phone number A is another phone number B’s prefix, B is not able to be ...

  8. 第一届山东省ACM——Balloons(java)

    Description Both Saya and Kudo like balloons. One day, they heard that in the central park, there wi ...

  9. ACM之鸡血篇

    一匹黑马的诞生 故事还要从南京现场赛讲起,话说这次现场赛,各路ACM英雄豪杰齐聚南京,为争取亚洲总舵南京分舵舵主之职位,都使出了看 家本领,其中有最有实力的有京城两大帮清华帮,北大帮,南郡三大派上交派 ...

随机推荐

  1. UML类图(Class Diagram)中类与类之间的关系及表示方式(转)

    源地址:https://blog.csdn.net/a19881029/article/details/8957441 ======================================== ...

  2. django request bug

    bug描述:django请求request接收数据时,如果参数中包含分号时,会导致分号后面的消息丢失. 比如前台js调用代码 $.post('/get_params', { "A" ...

  3. 剑指offer-字符串的排列26

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...

  4. docker创建redis镜像

    pull redis 镜像 创建redis的镜像有几种方式,可以直接从仓库中拉取,也可以采用dockerfile文件自己编译创建. 基于已有的redis镜像,docker可以采用run,或者creat ...

  5. [leetcode-693-Binary Number with Alternating Bits]

    Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a ...

  6. POJ 1639 Picnic Planning(最小度限制生成树)

    Description The Contortion Brothers are a famous set of circus clowns, known worldwide for their inc ...

  7. Nodejs中关于模块的总结

    关于Nodejs中的模块 概念 Nodejs在ECMAScript的基础上扩展并封装了许多高级特性,如文件访问.网络访问等,使得Nodejs成为一个很好的Web开发平台.基于Nodejs这个平台将We ...

  8. Beta版本软件使用说明

    北京航空航天大学计算机学院 远航1617 小组 产品版本: Beta版本 产品名称:Crawling   is going on 文档作者:杨帆 文档日期:2013/12/24 1.   引言 1.1 ...

  9. wwnjld团队第二轮迭代成员分数

    2014-01-05 第二轮迭代团队内成员分数如下(依据分数分配规则以及团队会议协商所得结果): 吴渊渊 23 汪仁贵 21.5 高小洲 19.5 聂建 22.5 吕家辉 23.5 程志 10

  10. 下载 编译 Android源代码 和 Android kernel源代码

    下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo ...