【九度OJ】题目1262:Sequence Construction puzzles(I)_构造全递增序列
来源:互联网 发布:pkpm节能计算软件 编辑:程序博客网 时间:2024/06/03 21:43
这是一道典型的LIS问题,属于动态规划类,之前做老是WA,但是我测试了N次组100个随机数据组,跟别人的正确答案比对,样子都是完全吻合。殊不知其实里面有个字符是不同的,就是我一开始输出的时候用的"ends",这个字符在微软库里面写是起终止字符串的作用,也就是说它并不是空字符。之前第一次还用的是二维的dp,错了,但是答案也一样,估计也是这个原因。
Here is my code:
#include<stdio.h>#include<iostream>#include<string.h>#include<math.h> using namespace std; int main(){ //freopen("input.txt","r",stdin); int N; while(scanf("%d",&N)!=EOF) { int seq[N]; int dp[N],path[N],save[N]; int maxn=-1,maxj; memset(path,-1,sizeof(path)); memset(save,0,sizeof(save)); for(int i = 0 ;i<N;i++) { scanf("%d",&seq[i]); dp[i] = 1; } for(int i = 0;i<N;i++) { for(int j = i;j<N;j++) { if(seq[i]<seq[j]) { if(dp[j]<dp[i]+1) path[j] = i; dp[j] = max(dp[i]+1,dp[j]); //如果j序列比i序列+1大的话,继续用j序列,否则更新j序列 } } } for(int i = 0;i<N;i++) { if(dp[i]>maxn) { maxn = dp[i]; maxj = i; } } int maxi = maxn; save[maxi] = seq[maxj]; while(path[maxj]!=-1) { maxi--; save[maxi] = seq[maxj]; maxj = path[maxj]; } save[0] = seq[maxj]; for(int i = 0;i<maxn;i++) { cout<<save[i]; if(i!=maxn-1) cout<<" "; } cout<<endl; } return 0;} /************************************************************** Problem: 1262 User: xing9634 Language: C++ Result: Accepted Time:30 ms Memory:1520 kb****************************************************************/
阅读全文
0 0
- 【九度OJ】题目1262:Sequence Construction puzzles(I)_构造全递增序列
- 九度OJ 1262:Sequence Construction puzzles(I)_构造全递增序列 (DP)
- 九度 题目1262:Sequence Construction puzzles(I)_构造全递增序列
- 题目1262:Sequence Construction puzzles(I)_构造全递增序列
- 题目1262:Sequence Construction puzzles(I)_构造全递增序列
- 九度OJ 题目1120:全排列
- 九度OJ 题目1120:全排列
- 九度OJ题目1442:A sequence of numbers
- 题目1442:A sequence of numbers 九度OJ
- 九度OJ 题目1162:I Wanna Go Home
- 九度 oj 题目1162:I Wanna Go Home
- 九度OJ—题目1011:最大连续子序列
- 九度OJ 题目1011:最大连续子序列
- 九度OJ 题目1077:最大序列和
- 九度OJ 题目1011:最大连续子序列
- 九度 oj 题目1480:最大上升子序列和
- 九度OJ-题目1011 最大连续子序列
- 题目1011:最大连续子序列 九度OJ
- 蓝桥-BASIC-17-矩阵乘法
- 【四】软考—计算机网络
- 离职了
- 人称代名词
- python007 -- 操作符与流程控制
- 【九度OJ】题目1262:Sequence Construction puzzles(I)_构造全递增序列
- 自定义Qt插件
- Kotlin 单例
- Python-day9
- php+html下载文件
- 多个同类型编码视频切换时,只改变SourceFilter,不改变Filter Graph中其他Filter的C#实现
- ORACLE中用rownum分页并排序的SQL语句
- linux
- 高效退出循环线程