区间dp
来源:互联网 发布:北京电脑编程学校 编辑:程序博客网 时间:2024/06/05 00:31
关于区间dp的理解
一直不知道这玩意,研究了一下才发现学长原先讲过(跑 )
前导算法
dp
算法干嘛:
这种算法可以解决一类问题,这类问题,大区间的最优解,可以由构成它的小区间的最优解组合生成。
算法思路:
既然大区间的答案,可以由小区间,组合生成,
那我们就像搭积木一样从小区间,一直求到大区间。
区间越小数目越多,我们需要一一求解所有的区间,因为,每一个区间都有可能是更大区间的基石。
区间合并时,因为谁也不知道,如何合并是最优的,所以可能需要枚举所有的可能。(据说可以优化)
算法阶段:
1. 枚举区间的长度
2.枚举区间的起始段
3.枚举区间的断点
4.状态转移方程
个人感觉
核心感觉是第4点,其实就是如何进行区间合并
然后我感觉这是一种非常暴力的算法 0.0
模板
for(int i=1;i<n;i++){ //枚举区间长度 i+1 for(int j=1;j+i<=n;j++){//枚举区间左端点 for(int k=1;k<=i;k++){//枚举分割点,前k个为一组 if(dp[j][j+i]==0) dp[j][j+i]=dp[j][j+k-1]+dp[j+k][j+i]+sum(j,j+i); dp[j][j+i]=minn(dp[j][j+i],dp[j][j+k-1]+dp[j+k][j+i]+sum(j,j+i)); //状态转移方程 } }}
这些题大家可以练习(遇到补充)
1.nyoj737 石子归并
区间dp or 分治? :求合并的最小代价
我写的题解
阅读全文
0 0
- 区间DP
- 区间DP
- 区间DP
- 区间DP
- ##区间dp##
- 区间dp
- 区间DP
- 区间dp
- 区间dp
- 区间dp
- 区间dp
- 区间dp
- 区间dp
- 区间dp
- 区间DP
- 区间DP
- 区间DP
- 区间dp
- 数据结构-链表
- 文章标题
- 实现字符串循环右移n 位与左移n位(不建立数组,直接用指针)
- Intro Mechine Learning
- USACO-Section2.2 Subset Sums【动态规划】
- 区间dp
- shell脚本下自动发邮箱
- js练习表回顾
- 如何学习SAP HANA
- Command
- c语言表达式的运算顺序
- 排序相关—— 相邻两数的最大差值( Maximum Gap-LeetCode)
- 优酷视频地址解析
- Summary of GATT Profile Attribute Types