注意:对最长上升子序列,理解不深刻,一直wa.....
题目分析:每次从左向右,找arr[i]>a[j]&&dp[i]最大的,
#include<iostream>
#include<cstdio>
using namespace std;
int arr[1010];
int dp[1010];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(int i=1;i<=n;i++)
scanf("%d",&arr[i]);
for(int i=1; i<=n; ++i)
dp[i] = 0;
dp[1]=arr[1];
int ans,temp=0,j;
for(int i=2; i<=n; ++i) ......
阅读全文