BZOJ 1852 最长不下降序列
2016-09-23 17:20
246 查看
数据过水。此非正解。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 100500 using namespace std; int n,ret=0; struct pnt { int a,b; }p[maxn]; bool cmp1(pnt x,pnt y) { if ((x.b>=y.a) && (x.a>y.b)) return false; else if ((x.b>=y.a) && (x.a<=y.b)) return x.b<y.b; else if ((x.b<y.a) && (x.a>y.b)) return x.a<y.a; else return true; } bool cmp2(pnt x,pnt y) { if (x.a==y.a) return x.b>y.b; return x.a>y.a; } inline int read() { int data=0;char ch; while (ch<'0' || ch>'9') ch=getchar(); while (ch>='0' && ch<='9') { data=data*10+ch-'0'; ch=getchar(); } return data; } int main() { n=read(); for (register int i=1;i<=n;i++) p[i].a=read(),p[i].b=read(); int ans=0,mx=0; sort(p+1,p+n+1,cmp1); for (register int i=1;i<=n;i++) { if (p[i].a>mx) { ans++; mx=max(mx,p[i].b); } } ret=max(ret,ans); sort(p+1,p+n+1,cmp2); ans=1;mx=p[1].a; for (register int i=2;i<=n;i++) { if (mx>p[i].b) { ans++; mx=p[i].a; } } ret=max(ret,ans); printf("%d\n",ret); return 0; }
相关文章推荐
- BZOJ 1852 [MexicoOI06]最长不下降序列(贪心+DP+线段树+离散化)
- BZOJ 4758 [Usaco2017 Jan] 区间dp->最长不下降+翻转子序列
- [模型转化 最长下降子序列] BZOJ 2924 [Poi1998]Flat broken lines
- BZOJ1046(HAOI2007)[上升序列]--最长下降子序列预处理
- BZOJ 1046 DP 逆求最长下降序列+枚举
- 【BZOJ1609】[Usaco2008 Feb]Eating Together麻烦的聚餐【最长不下降子序列】
- bzoj 4282: 慎二的随机数列 最长不下降序列
- Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列)
- POJ3670Eating Together(LIS最长(非)上升(下降)子序列模板)
- POJ 1836 Alignment 【最长上升(下降)子序列】
- 【网络流24题】最长不下降子序列问题
- 最长不下降序列
- POJ 1836 Alignment 最长上升(下降)子序列(dp)
- HDU 1160 最长下降子序列(错误代码也可能通过,误导啊)
- 关于最长不下降子序列O(nlogn)算法
- Codeforces Round #323 (Div. 1) B. Once Again... (最长不下降序列_DP)
- 最长不下降序列nlogn算法
- BZOJ 3173 [Tjoi2013] 最长上升子序列 解题报告
- [线性DP]最长不下降子序列(LIS)
- 拦截导弹(规律:下降子序列的个数等于最长上升子序列的长度)