Sicily 1685 Missile

来源:互联网 发布:汨罗淘宝售后打包招聘 编辑:程序博客网 时间:2024/06/12 22:41

DP,最长单调子序列的变形。

#include <stdio.h>int dp[1010][2];int nums[1010];int get_max(int a, int b) {if (a>b)return a;elsereturn b;}int main() {int i,j,n;int ans;scanf("%d",&n);while (n!=0) {for (i=1;i<=n;i++) {scanf("%d",&nums[i]);dp[i][0]=0;// evendp[i][1]=1;// odd}ans=0;for (i=1;i<=n;i++) {for (j=1;j<i;j++) {if (nums[j]>nums[i])dp[i][0]=get_max(dp[i][0], dp[j][1]+1);if (nums[j]<nums[i])dp[i][1]=get_max(dp[i][1], dp[j][0]+1);}ans=get_max(ans,get_max(dp[i][0],dp[i][1]));}printf("%d\n", ans);scanf("%d",&n);}return 0;}


原创粉丝点击