W
H
X

随笔分类 -  动规dp

摘要:题目 一道模版题加了个方案计数就蓝了...... 解题思路 求最优方案直接 n2 不多说,记录方案数还需要一点小技巧 高精直接用double水了(懒)...... f[i] 表示前 i 个数的最优方案,num[i] 表示前 i 个数的最优方案数 当循环到第 i 个时,先照常算出f[i] 和 num[ 阅读全文
posted @ 2019-08-09 21:19 -敲键盘的猫- 阅读(203) 评论(0) 推荐(0)
摘要:题目 题目分析 题目将扫雷游戏简化,改为只有一列有雷的版本 a[i] 表示第 i 格的数字 f[i][j][k]表示当前做到第 i 个位置,第 i 个位置的状态为 j(1表示无雷,2雷),第 i+1 位置状态为 k 由雷的个数写出状态转移方程: f[i][1][1] :此时两个位置上都没有雷,此时 阅读全文
posted @ 2019-07-08 23:21 -敲键盘的猫- 阅读(224) 评论(0) 推荐(0)
摘要:题目 这题坑啊,第7个点数据错了,输出应该是5040,标准答案是252,查了半天也找不到错qwq 看了讨论才知道要特判才能过...... 题目解析 刚做 dp,做法不是太好,看到数据这么小(n <= 15), 可以做到 O(n6); 于是想了一个 O(n3k2) 的五重循环做法 f[l][r][j] 阅读全文
posted @ 2019-07-07 10:55 -敲键盘的猫- 阅读(280) 评论(0) 推荐(0)
摘要:题目传送门 暑期自己想出来的第 2 道 dp //qwq 题目分析 一看到题很容易想到二分答案,代码也比较简单,就不放了(其实是我没打) 因为算法标签写着是 dp 我才做这题的,那就讲讲 dp 的做法 (这题 dp 的复杂度好像比二分还高) 目前还没有想出 O(mk) 的做法(以后也想不出),只有  阅读全文
posted @ 2019-07-05 10:03 -敲键盘的猫- 阅读(225) 评论(0) 推荐(0)
摘要:题目传送门 题目不是很难,看了一会就想到了,但因为一些细节WA了好几遍qwq 但代码却一点一点压短了(看了别人的精简写法) 题目分析 把一个序列改成不上升或不下降子序列,求最少修改次数。 一般情况有求 LIS 和 LDS 的 O(nlogn) 做法,但由于本题只出现 1, 2, 3 三个数字,可进一 阅读全文
posted @ 2019-07-03 23:36 -敲键盘的猫- 阅读(234) 评论(0) 推荐(0)
摘要:题目传送门 题目分析 先打一张碱基之间的相似度的表 int c[5][5]={{5, -1, -2, -1, -3}, {-1, 5, -3, -2, -4}, {-2, -3, 5, -2, -2}, {-1, -2, -2, 5, -1}, {-3, -4, -2, -1, 0}}; 设两个序列 阅读全文
posted @ 2019-07-03 11:38 -敲键盘的猫- 阅读(145) 评论(0) 推荐(0)
摘要:题目传送门(洛谷)(CF)(POJ) 前言 期末考试前的最后一篇题解,希望期末考 rp++ 奇怪,为什么在CF上能过的代码到POJ上就 听取WA声一片 (不管了) 题目思路 LCIS模版O(n²)+方案记录(递归输出) LCIS 基础方法 简单易想的方法:直接将LCS和LIS简单相加,复杂度O(n³ 阅读全文
posted @ 2019-06-14 23:07 -敲键盘的猫- 阅读(266) 评论(0) 推荐(0)
摘要:题目 题目大意 给出一个字符串,其中包含两种通配符 ‘?’和 ‘*’ ,‘?’可以代替一个字符,‘*’可以代替一个字符串(长度可以为0) 然后给出几个字符转,判断能否用给出的字符串表示出来 样例解释 给出字符串:*aca?ctc 判断字符串 :acaacatctc 此时用 * 代替 aba 用 ?代 阅读全文
posted @ 2019-05-01 16:39 -敲键盘的猫- 阅读(350) 评论(0) 推荐(1)
摘要:题目链接 题目大意 在一个树阵中按一定走法取一些树,使和最大且被 k+1整除 解题思路 类似一个数塔问题 因为最后的结果要被 k+1 整除,所以可以记录到每一个点 对 k+1 取余结果不同的最优解(最大值),不用记录每一个数,浪费空间和时间 举个例子: 当到达 (i, j) 这个点时,有两种路线得到 阅读全文
posted @ 2019-03-31 21:30 -敲键盘的猫- 阅读(271) 评论(0) 推荐(1)
摘要:题目链接1 题目链接2 题目大意 给出一个括号序列,添加最少的括号使序列正确 解题思路 先将问题简单化,从求序列退化为求最小添加括号数的问题 用区间dp n³解决 f[l][r]表示使第l个到r个区间正确的最小添加数 1 :当l = r时, f[l][r] = f[l+1][r-1] 2 : 在l到 阅读全文
posted @ 2019-03-29 23:45 -敲键盘的猫- 阅读(218) 评论(1) 推荐(1)
摘要:题目传送门 题目大意 n个位置,每个位置有两个属性s,c,要求选择3个位置i,j,k,使得s_i<s_j<s_k​,并使得c_i+c_j+c_k最小 方法1 n³枚举每一种情况(也许可以拿到部分分) 这种做法最好往这交 (可以炸测评机) 方法2 题目中要求一个有三个数的组合,不妨这样做:先算出两个数 阅读全文
posted @ 2019-03-03 16:29 -敲键盘的猫- 阅读(508) 评论(4) 推荐(3)
摘要:题目传送门 是一道十分经典的LCS问题 很容易想到 n2 的一般算法:主题代码如下: for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++){ dp[i][j] = max (dp[i-1][j], dp[i][j-1]); if (a[i 阅读全文
posted @ 2019-03-01 22:40 -敲键盘的猫- 阅读(239) 评论(0) 推荐(1)