动态规划典型问题模板

一、最长上升子序列(Longest increasing subsequence)

状态(最关键):f[N]为动规数组,f[i]表示从第一个字符开始,以a[i]为最后一个字符的序列的最长递增子序列的长度。

由状态引出状态转移方程,因为f[i]的设定,所以可以去比较最后一个字符从而更新f[i];

  • f[0]=1;
  • 对于f[i],从第一个字符开始遍历0-(i-1)字符,if(a[i]>a[j]) f[i]=max(f[i],f[j]+1),从而找到最大值。
  • 初始化时可以设置f[i]=1,这样方便max比较。
  • 另外,f[n-1]只是以最后一个字符为结尾的子序列的最大长度,所以要得出LIS还需要遍历f[]。

例题:POJ2533 Longest Ordered Subsequence

AC代码

#include<iostream>
#include<algorithm>
using namespace std; int main()
{
int f[];
int a[];
int n;
cin >> n;
for (int i = ; i < n; i++)cin >> a[i];
f[] = ;
for (int i = ; i < n; i++)
{
f[i] = ;
for (int j = ; j < i; j++)
{
if (a[j] < a[i])f[i] = max(f[i], f[j] + );
}
}
int ans = ;
for (int i = ; i < n; i++)ans = max(ans, f[i]);
cout << ans << endl;
return ;
}

POJ-动态规划-典型问题模板的更多相关文章

  1. poj 动态规划题目列表及总结

    此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...

  2. poj动态规划列表

    [1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...

  3. POJ 动态规划题目列表

    ]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...

  4. poj 动态规划的主题列表和总结

    此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...

  5. Sliding Window POJ - 2823 单调队列模板题

    Sliding Window POJ - 2823 单调队列模板题 题意 给出一个数列 并且给出一个数m 问每个连续的m中的最小\最大值是多少,并输出 思路 使用单调队列来写,拿最小值来举例 要求区间 ...

  6. {POJ}{动态规划}{题目列表}

    动态规划与贪心相关: {HDU}{4739}{Zhuge Liang's Mines}{压缩DP} 题意:给定20个点坐标,求最多有多少个不相交(点也不相交)的正方形 思路:背包问题,求出所有的正方形 ...

  7. poj 3164(最小树形图模板)

    题目链接:http://poj.org/problem?id=3164 详细可以看这里:http://www.cnblogs.com/vongang/archive/2012/07/18/259685 ...

  8. poj 1006中国剩余定理模板

    中国剩余定理(CRT)的表述如下 设正整数两两互素,则同余方程组 有整数解.并且在模下的解是唯一的,解为 其中,而为模的逆元. 模板: int crt(int a[],int m[],int n) { ...

  9. [转载 ]POJ 1273 最大流模板

    转载 百度文库花了5分下的 不过确实是自己需要的东西经典的最大流题POJ1273 ——其他练习题 POJ3436 . 题意描述: 现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给 ...

随机推荐

  1. ListView 根据 文件路径 或 扩展名 显示系统文件图标

    private void 获取文件button1_Click(object sender, EventArgs e)         {            folderBrowserDialog1 ...

  2. EntityFrameworkCore Db First 生成Model时出错 PowerShell 版本过低

    一般Windows7默认安装的是PowerShell 2.0 使用Vs2017开发.Net Core时.使用 EntityFrameworkCore Db First自动生成实体时需要用到下面命令: ...

  3. 深入挖崛:mysql主从复制原理

    一.基本原理 MySQL复制过程分成三步: 1).master将改变记录到二进制日志(binary log).这些记录过程叫做二进制日志事件,binary log events: 2).slave将m ...

  4. 2-kong的preserve_host和strip_uri解析

    原文参考:https://www.cnblogs.com/mentalidade/p/6847004.html preserve_host:当代理的时候,k代理时,Kong的默认行为是将上游请求的Ho ...

  5. Ubuntu 16.4系统下安装docker

    本文将介绍在ubuntu16.04系统下安装和升级docker.docker-compose.docker-machine. docker:有两个版本:docker-ce(社区版)和docker-ee ...

  6. kindedit,uedit 上传跨域返回

    1.kindedit 跨域上传图片的时候,a.com 上传到b.com接收图片服务器,然后返回图片地址. 2.一般如果不做任何处理是获取不到返回的信息的.原因是跨域了 3.所以一般在上传成功后,在跳转 ...

  7. linux 忘记mysql用户root密码 解决方案

    1.vim /etc/my.cnf[mysqld]skip-grant-tables ##追加此行,跳过权限表, 2.重启mysqlsystemctl restart mysqld 3.mysql 登 ...

  8. ES6的常见语法!!

    let : 声明变量 不存在变量提前 拥有局部作用域 (只要有{}出现 则只在该{}范围内生效) (而var只在函数内会产生作用域范围) 不能重复声明 const : 声明常量(常量名从规范上来将 最 ...

  9. iOS 上传appstore 一直卡在正在通过 App Store 进行鉴定(转)

    原帖地址:https://www.jianshu.com/p/d28714f3ef74 手动操作一下执行xcode包里面的命令行操作: (1)找到前往>应用程序里面的xcode (2)显示包内容 ...

  10. 面向对象(五)--isinstance与issubclass方法、反射、内置方法(部分)、异常处理

    一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,class) 2.issubclass是用来判断一个类是否为另一个 ...