动态规划的很经典的教程
1. 动态规划基本概
1.1动态规划三要素
1.2动态规划的适用范围
1.3动态规划解决问题的一般思路
2. 动态规划分类讨论
2.1一维状态
2.1.1下降/非降子序列问题
例题1 拦截导弹 (missile.pas/c/cpp) 来源:NOIP1999(提高组) 第
例题二 合唱队形 (chorus.pas/c/cpp) 来源:NOIP2004(提高组) 第一
例题3 Buy Low Buy Lower (buylow.pas/c/cpp) 来源: US
例题4 船 (ships.pas/c/cpp) 来源:《奥赛经典》(提高篇)
2.1.2背包问题
例题5 装箱问题 (pack.pas/c/cpp) 来源:NOIP2001(普及组) 第四题
例题6 砝码称重 来源:NOIP1996(提高组) 第四题
例题7 积木城堡 来源:vijos P1059
例题8 采药 (medic.pas/c/cpp) 来源:NOIP2005(普及组) 第三题
例题9 开心的金明 来源:NOIP2006(普及组)第二题
例题10 金明的预算方案 (budget.pas/c/cpp) 来源:NOIP2006 第二题
例题11 Money Systems (money.pas/c/cpp) 来源:USACO 2
例题12 新年趣事之打牌 来源: vijos P1071
2.1.3其它问题
例题13 挖地雷问题 (P3.pas/c/cpp) 来源:NOIP1996(提高组)第三题(有
2.2 二维状态
2.2.1数塔问题
例题14 数塔问题 (numtri.pas/c/cpp) 来源:IOI94
例题15 Henry捡钱 (money.pas/c/cpp) 来源:Dream Team邀请赛
2.2.2街道问题
例题16 街道问题 (way.pas/c/cpp) 来源:《奥赛经典》(提高篇)
2.2.3最长公共子序列问题
例题17 最长公共子序列 (lcs.pas/c/cpp) 来源:《全国青少年信息学奥林匹克联赛
例题18 回文词 (palin.pas/c/cpp) 来源:IOI 2000
例题19 调整队形 (queue.pas/c/cpp) 来源:TJU P1006
2.2.4 背包问题的拓展
例题20 找啊找啊找GF (gf.pas/c/cpp) 来源:MM群2007七夕模拟赛(RQN
例题21 多多看DVD(加强版) (watchdvd.pas/c/cpp) 来源:本人原创
2.2.5石子合并问题
例题22 石子合并 (stone.pas/c/cpp) 来源:某年NOI(去巴蜀交)
例题23 能量项链 (energy.pas/c/cpp) 来源NOIP2006(提高组)
例题24 统计单词个数 (.pas/c/cpp) 来源:NOIP2001(提高组)
2.2.6其他问题
例题25 花店橱窗设计 (flower.pas/c/cpp) 来源:IOI或巴蜀评测系统
例题26 Divisibility 来源:ZJU2042
2.3 多维状态和动态规划的优化
2.3.1 矩阵问题
例题27 盖房子 来源:VIJOS P1057
2.3.2多进程动态规划
例题28 方格取数 (fgqs.pas/c/cpp) 来源:NOIP2000(提高组)
2.4 树型动态规划
例题29 加分二叉树 (binary.pas/c/cpp) 来源:NOIP2003(提高组)
例题30 A Binary Apple Tree 苹果二叉树 来源:URAL P1018
例题31 选课 来源:VIJOS P1180