随笔分类 -  动态规划

摘要:P1535 P1535 记忆化搜索 \(dp[i][j][t]\) 表示从 \(i,j\) 开始走还剩下 \(t\) 秒时方案数 那么开始时就是 \(dfs(stx,sty,t)\) 到达 \(edx,edy,0\) 时算一种路线 那么整个的结构就很清晰了: if(judge(x + 1,y)) a 阅读全文
posted @ 2020-06-02 12:40 strategist_614 阅读(135) 评论(0) 推荐(0)
摘要:CodeForces 191A 考虑 表示 以 为开头以 为结尾字符串能够满足条件的最大值。 因为要满足 的条件。。 直接 阅读全文
posted @ 2020-04-02 23:14 strategist_614 阅读(101) 评论(0) 推荐(0)
摘要:P2800 又上锁妖塔 考虑 表示到达第 层最少使用的时间。 通过样例可知,是在第 层在往上跳的,最终跳到 层的位置。。 那么 表示在 层位置使用了仙术跳到第 层,再爬一层的楼. 表示在 层位置使用了仙术跳到第 层,再爬一层的楼. `i 1 i + 1 i + 2 i` 层就可以使用仙术,不用仙术的 阅读全文
posted @ 2020-04-02 00:20 strategist_614 阅读(110) 评论(0) 推荐(0)
摘要:P4170 考虑 使用我最喜欢的记忆化搜索。。。 首先考虑 $l == r$ 的情况,答案是 $dp[l][r] = 1$ 如果区间距离大于 $1$ 时: $s[l] == s[r]$ $f[l][r] = min(f[l + 1][r],f[l][r 1],f[l + 1][r 1] + 1)$ 阅读全文
posted @ 2020-03-24 23:32 strategist_614 阅读(144) 评论(0) 推荐(0)
摘要:P3162 考虑 $dp[l][r] = max(dp[l][k] + 1) \,if(dp[l][k] == dp[k + 1][r]$ 这段区间和 这段区间的值如果是相同的,那么可以合并成 阅读全文
posted @ 2020-03-21 20:54 strategist_614 阅读(176) 评论(0) 推荐(0)
摘要:P4342 考虑 这题的符号既有加号又有乘号,那么就不能简单只维护,$[l,r]$ 区间的最大值。比如负数和负数相乘就变成整数比维护的最大值还要大这种情况。 所以我们维护两个值:$dp_{max}[l][r],dp_{min}[l][r]$ 分开计算: $op == t$ : $dp_{max}[l 阅读全文
posted @ 2020-03-21 15:02 strategist_614 阅读(185) 评论(0) 推荐(0)
摘要:P1063 考虑区间 这里可以将 $(2,3)、(3,5)、(5,10)、(10,2)$ 看作为一个点,一个点中有两个权值一个是 $head$ ,一个是 $tail$ 这样考虑区间 $dp[l][r]$ 表示 $l\sim r$ 区间内释放的总能量。 这道题还是一个环形结构,所以可以使用断环成链的方 阅读全文
posted @ 2020-03-19 20:23 strategist_614 阅读(153) 评论(0) 推荐(0)
摘要:P1541 考虑 $DP$ 首先考虑 $DP$ 的状态表示:$dp[a][b][c][d]$ 表示 走 $1$ 格还剩 $a$ 个,走 $2$ 格还剩 $b$ 个,走 $3$ 格还剩 $c$ 个,走 $4$ 个还剩 $d$ 个最大的权值和。 那么在当前状态下在还能走的情况下可以走一格,两格,三格,四 阅读全文
posted @ 2020-03-18 22:51 strategist_614 阅读(136) 评论(0) 推荐(0)
摘要:5331 给你一个整数数组 $arr$ 和一个整数 $d$ 。每一步你可以从下标 i 跳到: $i + x$ ,其中 $i + x = 0$ 且 $0 arr[j] 且 arr[i] arr[k]$ ,其中下标 $k$ 是所有 $i$ 到 $j$ 之间的数字(更正式的,$min(i, j) usin 阅读全文
posted @ 2020-02-12 13:27 strategist_614 阅读(97) 评论(0) 推荐(0)