只需在最长上升子序列中多加一个判断条件即可View Code 1 #include <iostream> 2 using namespace std; 3 double missile[1001]; 4 int dp[1001]; 5 int main() 6 { 7 int n; 8 while(1) 9 {10 cin>>n;11 if(n==0)12 break;13 for(int i=1;i<=n;i++)14 cin>>missile[i];15 ... Read More
posted @ 2012-10-21 22:00 sidereal Views(152) Comments(0) Diggs(0)
最长上升子序列先dp,O(n^2)太慢了,超时。10000的规模需要1千万,不可接受,5000000可以接受。View Code 1 #include <stdio.h> 2 3 int signal[40001]; 4 int length[40001]; 5 int main() 6 { 7 int test,p; 8 scanf("%d",&test); 9 for(int t=1;t<=test;t++){10 scanf("%d",&p);11 for(int i=1;i<=p;i++)12 scan.. Read More
posted @ 2012-10-21 20:59 sidereal Views(137) Comments(0) Diggs(0)