动态规划 之 最长上升序列

来源:互联网 发布:网络视频监控系统方案 编辑:程序博客网 时间:2024/06/07 02:20

/*#include <iostream>using namespace std;const int m_size = 40010;int arr[m_size],opt[m_size];void dp(const int &n){    int i,j,max;    opt[1] = 1;    for(i=2;i<=n;i++)    {        max = 0;        for(j=i-1;j>0;j--)        {            if(arr[j]<arr[i] && max<opt[j])                max = opt[j];        }// 找最大的        opt[i] = max + 1;    }}void print_max(const int &n){    int i;    int max = 0;    for(i=1;i<=n;i++)    {        if(max<opt[i])            max = opt[i];    }//找最大的    cout << max << "***" << endl;}int main(){    int tcase,n,i;    cin >> tcase;    while(tcase--)    {        cin >> n;        for(i=1;i<=n;i++)            cin >> arr[i];        dp(n);        print_max(n);    }    return 0;}*/

这是dp中入门简单题,但是说它经典是由于作为dp的教材案例了。



0 0