区间dp
qq_3030364995
本人是一名学生
展开
-
hdu4745(最长回文子序列)
hdu 4745 题意:两只兔子在玩跳石头游戏; 题解:就是求这条串 和最长的两条回文子串(子串可以不连续,但是不可以相交), 网上还有一种解法就是将两个这样的串连起来,然后在长度最多为n的子区间求最长回文子串, 结果就是所有长度为 区间长度为n 的dp[k][k+n-1]值, 或者为dp[k][k+n-2]+1 (可以理解为最开始站在k+n-1这块石头上, 实际上可以由第一种方法推出来); 代...原创 2019-07-06 10:52:15 · 177 阅读 · 0 评论 -
洛谷4170,区间dp
洛谷4170,区间dp 题解:定义dp[i][j]为从i到j区间的颜色最少需要操作的次数,则当 i==j时,dp[i][j]=1. 当i!=j时,又可分为两种情况:(1)s[i]s[j],则dp[i][j]=min(dp[i+1][j],dp[i][j-1])(可以仔细想一下,最小情况只能诞生在这两个值) (2)s[i]!=s[j],则dp[i][j]=min(dp[i][j],dp[i][k]+...原创 2019-07-06 20:18:07 · 61 阅读 · 0 评论 -
poj1984 带权并查集+离线操作
带权并查集 题目大义:给你n个点,再给你m条垂直或水平的边,每条边分别连着两个点,接下来会有k个询问,每个询问包含三个数据:u,v,I,表示在 第I条边输入后能不能将u,v之间的距离计算出来,如果可以计算,就输出u,v之间的曼哈顿距离:|x1-x2|+|y1-y2|,否则就输出:-1.可见,如果当前询问的两个点有关系就可以计算出来,那该如何快速判断这两个点有关系呢,因此我们想到并查集,其中边就代...原创 2019-07-06 17:14:27 · 90 阅读 · 0 评论