HDU 1160(记录路径的最长上升子序列)
来源:互联网 发布:淘宝退款写了假冒品牌 编辑:程序博客网 时间:2024/06/05 15:43
那一个pre记录一下路径,递归输出就行了。
n2可以过
#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int maxn = 10000+10;struct Mouse{ int speed,wight,pos; operator < (const Mouse &t) { return wight < t.wight; }}s[maxn];int pre[maxn];int max_length[maxn];void print(int x){ if(x != 0) { print(pre[x]); cout << s[x].pos << endl; }}int main(){ int E = 0; while(scanf("%d%d",&s[E].wight , &s[E].speed) != EOF) { s[E].pos = E+1; E++; } sort(s,s+E);// for(int i = 0 ; i < E ; i++) cout << s[i].wight << endl; int maxx = 0; int ed; max_length[0] = 1; for(int i = 1 ; i < E ; i++) { max_length[i] = 1; for(int j = 0 ; j < i ; j++) { if(s[i].wight > s[j].wight &&s[i].speed < s[j].speed && max_length[j]+1 > max_length[i]) { pre[i] = j; max_length[i] = max_length[j] + 1; if(max_length[i] > maxx) { maxx = max_length[i]; ed = i; } } } } cout << maxx << endl; if(maxx) print(ed); return 0;}
阅读全文
0 0
- HDU 1160(记录路径的最长上升子序列)
- hdu 1160 dp (二维最长上升子序列 记录路径
- hdu 1160 最长上升子序列 + 记录路径
- HDU 1160 FatMouse's Speed (最长上升子序列+记录路径)
- HDU 1160 FatMouse's Speed 最长上升子序列及记录路径DP
- hdu 1160 FatMouse's Speed(最长上升子序列 +记录路径)
- HDU 1160 FatMouse's Speed (最长上升子序列+记录路径)
- hdu 1160 FatMouse's Speed (最长上升子序列 + 记录路径)
- HDU NO.1160 FatMouse's Speed(“最长上升子序列”,记录路径)
- 【最长上升子序列 && 输出路径】HDU
- HDU 1160(类似于最长上升子序列)
- hdu 1160 排序 + 最长上升子序列
- HDU 1160 FatMouse's Speed(最长上升子序列长度及其路径)
- J - FatMouse's Speed HDU 1160 (动态规划,最长上升子序列+路径输出)
- hdu 1160 FatMouse's Speed(最长上升子序列路径输出)
- Codeforces10D(最长公共上升子序列+路径打印)很水的最长上升公共子序列+路径打印
- uva10051(最长上升子序列 + 路径打印)
- HDU 1087 最长上升子序列的和
- 算法(一)——算法特性
- PHP基础学习day5(继承)
- Linux基础练习题(3)
- 计蒜客 泥塑课 java练习
- C语言求累加
- HDU 1160(记录路径的最长上升子序列)
- 覆写和重载
- UVA 1590 IP Networks(暴力)
- 清北学堂-D4-T2-xor
- java面试(基础篇)
- jQuery原生js实现---trim
- 数字图像处理成长之路11:harris角点检测
- JAVA反射与框架
- nyoj113字符串替换