【总结】《算法设计与分析》第三章动态规划

第 3章  动态规划 习题总结

算法实现题 3-0 独立任务最优调度问题 

{}

算法实现题 3-1 最少硬币问题 

{}

算法实现题 3-2 序关系计数问题 

{}

算法实现题 3-3 多重幂计数问题 

{}

算法实现题 3-4 编辑距离问题 

{}

算法实现题 3-5 石子合并问题 

{}

算法实现题 3-6 数字三角形问题 

{}

算法实现题 3-7 乘法表问题 

{<区间dp,f[l,r,num]=f[l,r,num]+dp(l,i,x1)*dp(i+1,r,x2) l到r间得到的num是从l到i的num*从i+1到r的num得到的。递归版>}

算法实现题 3-8 租用游艇问题 

{<类似floyd,f[i,j]=min{f[i,k]+f[k,j],f[i,j](i}

算法实现题 3-9 汽车加油行驶问题 

{}

算法实现题 3-10 最小 m段和问题 

{<二分答案+贪心验证>}

算法实现题 3-11 圈乘运算问题 
算法实现题 3-12 最大长方体问题 {<三维转二维,二维转一维然后求最长连续序列和,复杂问题简单化>}

算法实现题 3-13 正则表达式匹配问题 

{<先讨论*再讨论?再讨论其他>}

算法实现题 3-14 双调旅行售货员问题 

{}

算法实现题 3-15 最大 k乘积问题 

{<先预处理每段数字然后f[i,j]=max{f[i-p,j-1]*a[i-p+1,i],f[i,j]}前i个数字j个乘号的最大值。>}

算法实现题 3-16 最少费用购物 
算法实现题 3-17 收集样本问题 

算法实现题 3-18 最优时间表问题 

{<尼克的任务,f[i]=max{f[i],f[a[k].st+a[k].ed]}/f[i]=f[i+1]+1 先按开始时间排序,然后倒着枚举相同开始时间的逐个比较,不同的+1,最后输出n-f[1]>}

算法实现题 3-19 字符串比较问题 

{<类似于编辑距离,f[i,j]=min{f[i-1,j]+k,f[i,j-1]+k,f[i-1,j-1]+dist(i,j)} s1前i个字符s2前j个字符的最短扩展距离>}

算法实现题 3-20 有向树 k中值问题 

{}

算法实现题 3-21 有向树独立 k中值问题 

{<修改320的话,过了14个,不知正确解>}

算法实现题 3-22 有向直线 m中值问题 

{<修改320的话超内存,写直线的吧超时间。。纠结着>}

算法实现题 3-23 有向直线 2中值问题 

{<把322中的m改成2,貌似有更优解>}

算法实现题 3-24 树的最大连通分支问题 
算法实现题 3-25 直线 k中值问题 
算法实现题 3-26 直线 k覆盖问题 
算法实现题 3-27 m处理器问题 
算法实现题 3-28 红黑树的红色内结点问题

你可能感兴趣的:(动态规划,总结)