高级算法题目,动态规划解
来源:互联网 发布:大明甲乙纪 知乎 编辑:程序博客网 时间:2024/05/16 12:04
标签(空格分隔): 高级算法,动态规划
consider the following optimization problem.
Instance:
Find two disjoint nonempty subsets
Give a pseudo-polynomial time algorithm for the problem, and then give an FPTAS for the problem based on the pseudo-polynomial time algorithm.
解:
将原问题扩展为在A已经有
可以看的出来变化后的问题比原问题复杂.而原问题就是
在该问题上很容易写出递推式.
有n个整数
对问题解
1.
此时
2.
2.1
此时可以认为
2.2
此时可以认为
综上可以认为:
这就是该问题的递推式.
原问题的答案的形式为
算法复杂度为
下面给出FPTAS
令
总结
- 本质上动态规划就是把某个递推公式从前向后展开。所以用动态规划做,第一件事就是要写出递推公式。
- 而递推的含义本质上就是先计算出规模更小的问题,然后用规模更小的问题解决规模更大的问题。
- 分情况讨论的方法很容易产生递推式.
- 递推产生的问题可能比原问题复杂,原问题是新问题的子集
附 对背包问题动态规划的理解
记
很容易产生递推式,分情况讨论:
1.最后一个物体在
那么此时,我们只需要解决 前n-1个物体在背包已经装了第n个物体时,应当怎么选择使得价值最大 这个问题。此时背包容量只有
2.最后一个物体不在
此时,
综上,
所以一个很简单的分类讨论,就可以写出递推式。
然后用动态规划写出递归函数的展开形式,就是背包问题的动态规划方法.
而我在试图通过分类讨论写出上面问题的递推式时,发现必须要解决带
这不经让我想到数理逻辑中证明完全性定理时的情形。有时候要解决问题A,必须首先将问题A扩充为问题B,问题A是问题B的一个子集。然后解决问题B.几何里的辅助线,群里的群作用思想不也是同样的思想吗。
- 高级算法题目,动态规划解
- 算法:动态规划经典题目
- 一道topcoder题目的动态规划解
- poj 未解动态规划题目
- 【转】高级动态规划
- 动态规划题目
- 动态规划小题目;
- 动态规划经典题目
- 动态规划题目小结
- 动态规划经典题目
- POJ 动态规划题目
- 动态规划题目
- 动态规划题目思路
- 动态规划题目特性
- 动态规划题目总结
- |题目分类|动态规划
- 动态规划题目总结
- 动态规划题目集锦
- 大主播 上下线通知 程序
- POJ 1753 Flip Game (枚举)
- hive元数据库配置metadata
- 易变业务使用脚本语言编写
- Java中的日期计算器(1970年1月1日)
- 高级算法题目,动态规划解
- 第六届(2017)赛迪学术年会邀请函
- Segger SystemView: Realtime Analysis and Visualization for FreeRTOS
- 酷科技 | 天空画布
- 洞见 | 智能引领数字经济 2017 ICT企业家大会带您与产业领袖同行未来!
- BZOJ 3745: [Coci2015]Norma cdq分治
- 世界互联网大会,马云、马化腾、李彦宏、库克他们都讲了啥?
- 一名前端工程师的自学之路!Js篇(12-05更新)
- linux bash脚本 获取git最近一次提交的commit id