- 1
- 0
- 约4千字
- 约 47页
- 2019-12-22 发布于湖北
- 举报
分析 可以用矩阵来保存结果 C[j,k]表示从j到k的关键码组成的最优排序二叉树 Root[j,k]记录这棵排序二叉树的根 * jjjkk 分析 考虑三个结点的情形 最优值放在C[B,D]中,根放在root[B,D]中 * jjjkk 分析 类似地,更新所有C[j-2,j]和root[j-2,j] * jjjkk 分析 四个结点的情形(如A-D) * jjjkk 分析 最终计算结果为 * jjjkk 分析 可以利用root矩阵递归地构造出最优树 * jjjkk 分析 时间复杂度:计算每个C[i,j]和root[i,j]需要枚举根结点,故为O(n3) 空间复杂度:需要两个n*n矩阵,O(n2) * jjjkk 三、最长上升子序列 最长上升子序列问题(LIS)给一个序列,求它的一个递增子序列,使它的元素个数尽量多。例如序列1,6,2,5,4,7的最长上升子序列是1,2,5,7(还有其他的,这里略去) * jjjkk 分析 定义d[i]是从第1个元素到第i个元素为止的最长子序列长度, 则状态转移方程为 直接使用这个方程得到的是O(n2)算法 下面把它优化到O(nlogn) * jjjkk 状态的组织 d值相同的a值只需要保留最小的, 因此用数组g[i]表示d值为i的数的a最小值, 显然 g[1]=g[2]=…=g[k] 计算d[i]: 需要在g中找到大于等于a[i]的第一个数j, 则d[i]=j 更新g: 由于g[j]a[i], 需要更新g[j]=a[i] * jjjkk 代码 使用STL的lower_bound可以直接求出比a[i]大的第一个数, 用二分查找实现, 每次转移时间O(logn), 总时间O(nlogn) fill(g,?g?+?n,?infinity);for(int?i?=?0;?i??n;?i++){ int?j?=?lower_bound(g,?g?+?n,?a[i])?-?g;??d[i]?=?j?+?1;??g[j]?=?a[i];} * jjjkk 变形1: 航线问题 有两行点, 每行n个. 第一行点和第二行点是一一对应的, 有线连接, 如下图所示 选择尽量多的线, 两两不交叉 * jjjkk 分析 设与第1行第i个点对应的是第2行第f[i]个点 假设ij, 两条线(i, f[i])和(j, f[j])的充要条件是f[i]f[j], 因此问题变成了 求f的最长上升子序列 时间复杂度为O(nlogn) * jjjkk 变形2: 两排列的LCS 给1~n的两个排列p1, p2 求p1和p2的最长公共子序列 例: 1 5 3 2 4 ? 5 3 4 2 1 * jjjkk 分析 算法一: 直接套用LCS算法, 时间O(n2) 算法二: 注意到把两个排列做相同的置换, LCS不变, 可以先把p1排列为1,2,3…,n 1 5 3 2 4 ? 1 2 3 4 5 即映射5?2, 2?4, 4?5, p2作同样置换 5 3 4 2 1 ? 2 3 5 4 1 与1,2,3..n的LCS显然是最长上升子序列, 时间降为O(nlogn) * jjjkk 推广: DAG上的最短路 “上升”依赖于序关系=, 它具有一般性 DAG(有向无环图)的最长路径问题: 把有向边看成偏序关系, 则本题的算法一仍然适用, 时间复杂度为O(n2). 如果图的边数m比较, 可进一步优化到O(m), 因为每条边恰好考虑一次(用邻接表或前向星, 而不是邻接矩阵) 算法二不再适用! 因为d值相同的a不一定可以两两相互比较, 不一定存在最小值. * jjjkk 四、最优三角剖分 给一个n个顶点的凸多边形, 有很多方法对它进行三角剖分(polygon triangulation) 每个三角形有一个权计算公式(如周长, 顶点权和), 求总权最小(大)的三角剖分方案 * jjjkk kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg kkkkk ggggg 《算法艺术与信息学竞赛》标准课件 动态规划(一): 经典问题 刘汝佳 * jjjkk 目录 一、最长公共子序列O(mn) 二、最优排序二叉树O(n3) 三、最长上升子序列O(nlogn) 四、最优三角剖分O(n3) 五、最大m子段和O(mn) 六、0-1背包问题O(min{nc, 2n, n1.44n}) * jjjkk 一、最长公共子序列 Longest Common Sub
您可能关注的文档
- ...提高分析结果准确度的方法第五节 有效数字及其运算规则第...演示课件.ppt
- ...图的存储结构7.3 图的遍历7.4 图的连通性问题7.5 有向无环...演示课件.ppt
- ...文件依据充分,不细说了。简单说,我们的上级早有明确的...演示课件.ppt
- ...我们的远程学习已经过去两周了,在过去的两周里大家克...演示课件.ppt
- ...相互交流一下学生在校及在家的情况,以便我们老师能够...演示课件.ppt
- ...也是解题的关键。 限定描绘大长高, 形状年龄和新老; 颜...演示课件.ppt
- ...一个在纸上设计得非常完美的电源可能在初次调试时无法...演示课件.ppt
- ...以抗战时期陕甘宁边区国共政权货币竞争为例演示课件.ppt
- ...由于工具不全,就没有研磨周围的胎皮,用胶直接就把补丁...演示课件.ppt
- ...原名林含英,小名英子,1918年3月18日生于日本大版,不...演示课件.ppt
最近下载
- 偷窥漫画第一季完整.docx VIP
- 走向成熟(青春期男生性教育).ppt VIP
- 2025年上海市中考语文试卷真题(含答案解析).pdf
- 内蒙古房屋市政工程建设、监理、施工单位施工现场安全资料用表.pdf VIP
- 附表C 施工单位施工现场安全资料用表.doc VIP
- 2025年中小学教师副高水平能力测试题(附答案).docx
- 深度解析(2026)《GBT 8568-2013铁路行车组织词汇》.pptx VIP
- CRH380B动车组司机台设备及操作上课讲义.ppt VIP
- 2026《W市希望高级中学教学楼工程工程量清单编制及招标控制价计价》10000字.docx
- CRH380A型动车组-司机室讲义.pdf VIP
原创力文档

文档评论(0)