hdu 1087 Super Jumping! Jumping! Jumping!(最长上升子序列变形)
来源:互联网 发布:ifind金融数据终端 编辑:程序博客网 时间:2024/05/17 21:39
注意:对最长上升子序列,理解不深刻,一直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) { ans = 0; for(j=1; j<i;j++) { if(arr[i]>arr[j] && dp[j]>ans) { ans = dp[j]; } } dp[i]=ans+arr[i]; } ans = 0; for(int i=1; i<=n; ++i) { if(dp[i]>ans) ans = dp[i]; } printf("%d\n",ans); } system("pause"); return 0;}/***************************样例能过,错的!!!#include<iostream>#include<cstdio>using namespace std;int arr[1010];struct node{__int64 no,w;}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].w=0; for(int i=1; i<=n; ++i) dp[i].no = 0; dp[1].w=arr[1]; dp[1].no=1; __int64 ans,temp=0,j; for(int i=2; i<=n; ++i) { ans = dp[i].no; for(j=1; j<i; ++j) { if(arr[i]>arr[j] && dp[j].no>ans) { ans = dp[j].no; //temp=j; } } dp[i].no = ans+1; dp[i].w=dp[temp].w+arr[i]; } ans = 0; for(int i=1; i<=n; ++i) { if(dp[i].w>ans) ans = dp[i].w; } /* for(int i=1; i<=n; ++i) { if(dp[i].no>ans) ans = dp[i].no; } ans=dp[ans].w; /*for(int i=1;i<=n;i++) printf("%d ",dp[i].w); printf("\n\n"); printf("%I64d\n",ans);}system("pause");return 0;}*//*#include<iostream>#include<cstdio>using namespace std;int arr[1010],dp[1010];//int B_search(int )int main(){int n;while(scanf("%d",&n)!=EOF){ if(n==0) break; for(int i=1;i<=n;i++) scanf("%d",&arr[i]); dp[1]=arr[1]; int c=1; for(int i=2;i<=n;i++) { if(arr[i]>dp[j]) dp[++c]=arr[i]; else { for(int j=1;j<=c;j++) { if(arr[i]<=dp[j]) dp[j]=arr[i]; } } /*if(arr[i]<=dp[1]) dp[1]=arr[i]; else if(arr[i]>=dp[c]) { dp[++c]=arr[i]; }*/ /*else { int low=1,high=i,mid; while(low<=high) { mid=(low+high)/2; if(dp[i]<arr[mid]) high=mid-1; else low=mid+1; } }}}*/
- hdu 1087 Super Jumping! Jumping! Jumping!(最长上升子序列变形)
- HDU 1087 Super Jumping! Jumping! Jumping!最长上升子序列
- hdu 1087 Super Jumping! Jumping! Jumping! 最长上升子序列的变形
- hdu 1087 Super Jumping! Jumping! Jumping!(dp 最长上升子序列和)
- HDU 1087 Super Jumping! Jumping! Jumping! (最长上升子序列和)
- HDU 1087 Super Jumping! Jumping! Jumping!(dp最长上升子序列的和)
- hdoj--1087--Super Jumping! Jumping! Jumping!(最长上升序列)
- hdu 1087 Super Jumping! Jumping! Jumping!(LIS变形题,求上升子序列的最大和)
- HDU 1087 Super Jumping! Jumping! Jumping! (最长上升子序列求和)【最长序列求和类模板】
- 【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!
- hdu 1087 Super Jumping! Jumping! Jumping!-dp 最长上升子序列和
- hdu 1087 Super Jumping! Jumping! Jumping!(最长上升子序列&dp)
- HDU 1087 Super Jumping! Jumping! Jumping!【最长上升子序列元素总和】
- Super Jumping! Jumping! Jumping! 【hdu-1087】【动态规划-最长上升子序列】
- HDU1087 Super Jumping! Jumping! Jumping!【最长上升子序列+DP】
- HDU 1087 Super Jumping! Jumping! Jumping!(最大的上升子序列的和)(不是最长)(易混淆)
- hdu 1087 Super Jumping! Jumping! Jumping!(dp:上升子序列最大和)
- hdu 1087 Super Jumping! Jumping! Jumping!(最大上升子序列之和)
- linux SSH上传下载
- suggestTree-实现rank-ordered autocomplete suggestions的数据结构
- linux网络地址配置
- Step-by-Step SqlAlchemy Tutorial(part 1 of 2)
- vc6.0内存泄露之检测工具Visual Leak Detector
- hdu 1087 Super Jumping! Jumping! Jumping!(最长上升子序列变形)
- nagios简易安装配置
- VS2010 + C# + OpenCV 开发环境的搭建 项目配置
- x米笔试题
- linux符号
- 程序员面试题—国内知名IT公司面试经历
- javascript 之 模态(Modal) 父子窗口交互
- Cacti简易安装配置
- poj1094