首页 > 其他分享 >区间DP总结

区间DP总结

时间:2022-10-18 15:01:35浏览次数:73  
标签:总结 题目 DP 区间 http dp 回文

做了几题区间动态规划的题目,觉得区间动态规划的题目是有点难的。区间DP大概是这一类的动态规划,在一个线性的数据上对区间进行状态转移,dp[i][j]表示i到j的区间。dp[i][j]可以由子区间的状态转移而来,关键是dp[i][j]表示的是什么,然后去找dp[i][j]和子区间的关系。要知道,在求dp[i][j]之前,i到j之间的子区间都已经求出来最优解。
一点一点说吧!
首先我觉得首先区间DP的应用要先想到回文串的,包括一个字符串的最长的非连续的回文串,一个字符串非连续的回文串的数目。因为回文串的特点对应的两端字符是相等的,所以状态是可以转移的,先看一道求一个字符串中回文串的数目:
​​HDU 4632

接下来就是求回文串的最长的长度问题
​​HDU 4745​​
这道题目是在求区间最长的回文串长度升级一下,序列是一条链。这里可以用倍增的方法。状态转移方程:
dp[i][j]= max ( dp[i+1][j], max ( dp[i][j-1],
( a[i]==a[j] ? dp[i+1][j-1] + 2 : dp[i+1][j-1] ) ) );就是在dp[i+1][j],dp[i][j-1],dp[i+1][j-1]三个子区间求最大值。

这道题和前面的比较,求最长的长度是在dp[i+1][j],dp[i][j-1],dp[i+1][j-1]三个子区间里进行比较,而求数量,则是把求子区间的和。这两道的题目的子区间只涉及到dp[i+1][j],dp[i][j-1],dp[i+1][j-1],并没有在i到j之间进行区间划分,这是因为回文串的特性。

下面看划分区间的区间DP问题:
题目链接
​​​http://poj.org/problem?id=2955​​​
这是一道简单的区间划分dp题目
求最长的匹配括号的长度,划分区间是没有条件的,从i到j区间内任何一点都可以划分,dp[i][j]=max(dp[i][k]+dp[k+1][j]){k=i….j} ​

题目链接
​​​http://poj.org/problem?id=1651​​​ ​

题目链接
​​​http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1422​​​
状态转移方程是要在i到j区间之间进行区间划分。你可以从左端点开始,也可以从右端点开始。只有当k等于左端点或者右端点的时候才可以划分。因为这样的话,第k天就不用穿新衣服,少买了一件,这也是得到最优解的关键, ​

再看这道题目的升级版
​​​http://acm.hdu.edu.cn/showproblem.php?pid=2476​​​
在前面的基础上,再进行一次区间DP ​

再看一道难度增加的区间划分
题目:
​​​http://acm.hdu.edu.cn/showproblem.php?pid=4283​​​
这道题目在划分区间之后,要计算因为状态改变,而改变的不满意值 ​

有时候区间DP的状态要根据题目有不同的形式,不仅是二维数组表示区间,也可以加其他维,表示不同的状态。 ​​
这道题目用来四维数组,另外两维表示左边和右边的颜色种类 ​

题目链接
​​​http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3469​​​
三维数组,第三维表示快递小哥在区间的哪一边? ​

最优三角划分:
​​​http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3537​​​
这个题目要先用凸包算法判断凸包,然后再进行区间划分,进行DP ​



标签:总结,题目,DP,区间,http,dp,回文
From: https://blog.51cto.com/u_15834522/5766700

相关文章

  • Git学习(八)命令总结
    1、分支、pullrequest等日常写作命令2、常用的更新命令这是一个人在GitHub玩儿的时候用的最多的,就是不断push,最多在GitHub上改了的话先pull一下再push。//【快速命令】......
  • HDU-1054 Strategic Game(树形DP)
    StrategicGameTimeLimit:20000/10000ms(Java/Other)MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):17AcceptedSubmission(s):11Font:......
  • HDU-1520 Anniversary party(树形DP)
    AnniversarypartyTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7566AcceptedSubmission(s):3321P......
  • POJ-1322 Chocolate(概率DP)
    ChocolateTimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:9279Accepted:2417SpecialJudgeDescriptionIn2100,ACMchocolatewillb......
  • P6492 [COCI2010-2011#6] STEP(线段树维护左右区间pushup)
    题目链接题目大意:\(~~\)初始给定一个长度为n的字符序列a,初始序列中全是\(~\)L\(~~\)共有q次修改,修改a\(_{x}\)为:L\(\rightarrow\)\(~~\)or\(~~\)R\(\rightarrow\)L\(......
  • 测试基础重点知识点总结
    项目的生命周期设计测试用例的好处(意义):一、梳理测试思路;二、作为质量评价依据;三、相似场景复用,可以提高工作效率;四、可以更好地规范管理(可以更好提高效率)......
  • 如何写一个好的测试?总结起来就这两点……
      背景在上一个项目上,由于项目成员大部分是新入职的同事,所以对于测试不是很熟悉,这就导致了在项目前期,项目上的很多测试都不太makesense,虽然没有什么定量的东西来描述......
  • STTH1506DPI意法车规MOS管\原装现货\ASEMI代理
    编辑:llSTTH1506DPI意法车规MOS管\原装现货\ASEMI代理型号:STTH1506DPI品牌:ASEMI封装:TO-3P-2L最大漏源电流:15A漏源击穿电压:600VRDS(ON)Max:0.24Ω引脚数量:2沟道类型:N沟......
  • 第一天sql总结
    建表相关操作CREATETABLEtable_name(column1datatype,column2datatype,column3datatype,.....columnNdatatype,PRIMARYKEY(oneor......
  • STTH1506DPI意法车规MOS管\原装现货\ASEMI代理
    编辑:llSTTH1506DPI意法车规MOS管\原装现货\ASEMI代理型号:STTH1506DPI品牌:ASEMI封装:TO-3P-2L最大漏源电流:15A漏源击穿电压:600VRDS(ON)Max:0.24Ω引脚数量:2沟道类型:N沟道MOS管芯......