您的位置:首页 > 产品设计 > UI/UE

POJ 2533 Longest Ordered Subsequence (DP动态规划)

2015-09-21 16:35 375 查看
#include <stdio.h>
int seq[1001];
//lenOfLOSWithTai[i]表示已seq[i]为结尾的最长有序子序列的长度
int lenOfLOSWithTail[1001];//length of longest ordered sequence with tail

int main(){

int lenOfSeq;
scanf("%d", &lenOfSeq);
int i;
for (i = 0; i < lenOfSeq; i++)
scanf("%d", &seq[i]);

int result = 0;
for(i = 0; i < lenOfSeq; i++){
lenOfLOSWithTail[i] = 1;
int j;
for (j = 0; j < i; j++)
if (seq[i] > seq[j] && lenOfLOSWithTail[j] + 1 > lenOfLOSWithTail[i])
lenOfLOSWithTail[i] = lenOfLOSWithTail[j] + 1;
if (lenOfLOSWithTail[i] > result)
result = lenOfLOSWithTail[i];
}

printf("%d\n", result);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息