摘要: http://poj.org/problem?id=1836题意:从一列士兵中剔除一些,使剩下的符合a1>a2>a3>...>ai ai+1<ai+2<....<aN-1<aN思路:用了两个LIS分别从前往后和从后往前,得到啊a[],b[],最后取a[i]+b[i]的最大值;View Code #include<cstdio>#include<cstring>#include<algorithm>using namespace std;double s[1010];int n,a[1010],b[1010],i 阅读全文
posted @ 2011-11-29 18:58 LT-blogs 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2011-11-29 14:05 LT-blogs 阅读(184) 评论(0) 推荐(0) 编辑