zoukankan      html  css  js  c++  java
  • POJ-2533.Longest Ordered Subsequence (LIS模版题)

      本题大意:和LIS一样

      本题思路:用dp[ i ]保存前 i 个数中的最长递增序列的长度,则可以得出状态转移方程dp[ i ] = max(dp[ j ] + 1)(j < i)

      参考代码:

     1 #include <iostream>
     2 #include <cstring>
     3 #include <algorithm>
     4 using namespace std;
     5 
     6 const int maxn = 1e3 + 5;
     7 int a[maxn], dp[maxn];
     8 
     9 int main () {
    10     int n, ans = 0;
    11     cin >> n;
    12     for(int i = 1; i <= n; i ++)
    13         cin >> a[i];
    14     for(int i = 1; i <= n; i ++) {
    15         dp[i] = 1;
    16         for(int j = 1; j < i; j ++) {
    17             if(a[i] > a[j]) dp[i] = max(dp[i], dp[j] + 1);
    18         }
    19         ans = dp[i] > ans ? dp[i] : ans;
    20     }
    21     cout << ans << endl;
    22     return 0;
    23 }
    View Code
  • 相关阅读:
    双向(端)链表、栈、队列
    WPF 3D基础(1)
    静态查找
    栈和队列 迷宫求解
    异步编程Demo
    WPF 3D基础(2)
    串操作
    链栈和链队
    Linux恢复数据
    word文件修复窍门
  • 原文地址:https://www.cnblogs.com/bianjunting/p/10648329.html
Copyright © 2011-2022 走看看