ZOJ2136解题报告
来源:互联网 发布:淘宝怎么买vr资源 编辑:程序博客网 时间:2024/04/30 22:53
算法分析:这是个动态规划的问题,先求其子集,保存子集的结果,然后在子集的基础上再进行计算。此题要求最大升序子序列的长度,可以逆向考虑,先计算以第i个数为终点的最大升序子序列的长度,然后计算i后面的类似子序列。遍历的时候从首部开始,依次计算,最后求出最大的升序子序列。
数据结构:使用数组,vector.
代码实现:
#include <iostream>#include <vector>#include <cstring>using namespace std;struct num{ int index; int number; int longest;};int main(){ vector<num> v; num ele; int Nblock; int Nelement; int enumber; cin>>Nblock; for(int t = 0;t < Nblock;t++){ v.clear(); cin>>Nelement; for(int i = 0;i < Nelement;i++){ cin>>enumber; v.push_back(ele); v[i].index = i; v[i].number = enumber; if(i == 0){ v[i].longest = 1; continue; } int maxlongest = 0; for(int j = 0;j < i;j++){ if(v[j].number < enumber){ if(v[j].longest > maxlongest) maxlongest = v[j].longest; } } v[i].longest = maxlongest+1; } int k = 0; for(int p = 0;p < Nelement;p++){ if(v[p].longest > k) k = v[p].longest; } if(t != 0) cout<<endl; cout<<k<<endl; } return 0;}
- ZOJ2136解题报告
- zoj2136
- zoj2136
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- Antiprime解题报告
- expr解题报告
- 华容道解题报告
- tju解题报告
- zju1062/pku1095解题报告
- UsacoGate解题报告 --- 序曲
- ZJU 2060 解题报告
- ZJU 1331 解题报告
- Jquery 操作COOKIE
- asp.net 获取 URL
- parse,tryparse区别
- Jquery 1.6+ .prop()与.attr()方法比较
- Qt的双缓冲
- ZOJ2136解题报告
- ModelsimSE添加Altera库及简单的功能仿真
- array-grid的学习:
- OGNL表达式struts2标签“%,#,$”
- 表某一位为特定值的记录排在最前
- 给视图添加映射 并使之弹跳
- 嵌入式根文件系统的移植和制作详解
- MFC界面 坐标获取/转换 及 区域获取
- Oracle 的 procedure