![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区间dp
千夜刀火
这个作者很懒,什么都没留下…
展开
-
[动态规划学习][CQOI2007]涂色&&Zuma
传送门 思路:状态定义f[i][j],从i涂到j的最小方案数。 1.若区间长度为1,则只需要刷一次,即f[i][i]=1; 2.若区间长度大于1,则考虑两个区间。 此时有两种方案考虑,一个是当左端点的颜色与右端点的颜色相同时,即a[i]==a[j],它可以从f[i+1][j]或f[i][j-1]转移过来,所以取二者min即可。 若两端颜色不相同时,就正常区间dp即可。 代码如下: #include <iostream> #include <cstring> using namesp原创 2020-11-12 16:41:25 · 78 阅读 · 0 评论 -
[动态规划学习]区间dp
这里两道题基本一模一样。 能量项链 传送门 思路:(同矩阵链乘) 状态定义,区间dp定义一般都是dp[i][j],将[L,R]的区间合并的方式。 分界线即为l+1~r-1,因为是矩阵链乘,所以转移分dp[i][k]+dp[k][j] tips:给的数据为n,但由于是矩阵,最后会回到a[1]处,所以长度枚举需要到n+1。 #include <iostream> #include <algorithm> using namespace std; const int N=300,INF原创 2020-11-07 20:39:14 · 95 阅读 · 0 评论