poj 1631 Bridging signals
2014-08-22 20:03
405 查看
题意:(1,2,3,4,5,6,)分别对应(4,2,6,3,1,5,),看题看了半天。然后发现是最长不下降子序列,用二分法就能搞定。
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int n,sor[500010],num[500010]; void task() { int i,M=0; sor[0]=num[0]; for(i=1;i<n;i++) { int low=0,high=M; while(low<=high) { int mid=(low+high)/2; if(sor[mid]<num[i]) low=mid+1; else high=mid-1; } if(low>M) M++; sor[low]=num[i]; } printf("%d\n",M+1); } int main() { int t,m,i,j,k; while(scanf("%d",&t)!=EOF) { while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&num[i]); } task(); } } return 0; }
相关文章推荐
- POJ_1631_Bridging_Signals_(动态规划,LIS)
- 刷题——Bridging signals POJ - 1631
- POJ 1631 Bridging signals & 2533 Longest Ordered Subsequence
- poj 1631(Bridging signals LIS)nlogn
- POJ 1631 Bridging signals LIS(最长递增子序列) +nlogn算法+二分查找
- POJ 1631 Bridging signals LIS(最长递增子序列) +nlogn算法+二分查找
- POJ-1631 Bridging signals LIS
- poj 1631 Bridging signals LIS 最长非递减子序列
- POJ 1631 Bridging signals DP(最长上升子序列)
- poj 1631--Bridging signals
- poj 1631 Bridging signals dp LIS
- poj1631 Bridging signals
- POJ 1631 Bridging Singnals
- HDU 1950 Bridging signals
- poj1631 Bridging signals
- POJ 1631 HDU 1950(最长上升子序列问题)
- POJ1631_Bridging signals【LIS】【二分法+栈】
- POJ 1631 && HDU 1950 Bridging signals(LIS)
- POJ1631最长单调递增子序列
- OpenJudge/Poj 1631 Bridging signals