摘要: 最初始的状态:dp[i][j][k][l], 表示现在正在进行第i个需求,三个司机分别在j, k, l这三个城市 i可以省,因为j,k,l中必须有一个等于i 状态就变成了:dp[i][j][k],表现有一个司机在第i个需求的城市,其他两个司机分别在j城市和k城市 i这一维还可以滚掉 #include 阅读全文
posted @ 2021-05-24 17:19 enisp 阅读(67) 评论(0) 推荐(0)
摘要: 折磨啊,这题 调了一个上午加大半个下午,就因为一个非常的小的小bug 直接区间dp,转移分两种情况:1. 整个区间可以被折叠。 2. 整个区间可以被两个更小的区间拼起来 为什么不需要考虑一个区间又折叠又拼呢?因为这些操作都可以被包含在第二个转移情况中 #include <iostream> #inc 阅读全文
posted @ 2021-05-24 17:14 enisp 阅读(42) 评论(0) 推荐(0)
摘要: 个人感觉是,像这类线性dp,只要把状态想出来了,转移轻而易举 这题我感觉我多想想也能想出来,但是想到一般看题解去了 dp[i][j][k][0/1/2]表示在第i行第j列,涂了k次,当前块涂的是0/1,或者不涂(2),i这一维度可以滚掉 转移: dp[i & 1][j][k][2] = (j == 阅读全文
posted @ 2021-05-24 10:38 enisp 阅读(32) 评论(0) 推荐(0)
摘要: 因为两种不同的洒水器的方向是反的且同一块地不能被两种洒水器覆盖,我们可以发现我们可以画出一个类似分割线的东西,左边的全是一种花,右边的是另一种,同时我们还发现在这个分割线上,拐角位置必须放洒水机,其他的地方随便放就行了,然后就可以dp了 dp[i][j][0/1]表示当我们把分割线画到(i, j)时 阅读全文
posted @ 2021-05-21 15:49 enisp 阅读(53) 评论(0) 推荐(0)
摘要: 挺有趣的这题 虽然结论都是一样的,但是有两种思路看待这个问题:在曼哈顿距离下,和在切比雪夫距离下 (图片来自luogu) 我是从曼哈顿距离下看待这个问题的 若这三点构成一个曼哈顿等边三角形,我们其实可是虚构一个点O出来 图中A到C和B到C的换了路线,但是距离没有边,因为BC=AC且他们公用OC,BO 阅读全文
posted @ 2021-05-20 16:53 enisp 阅读(120) 评论(0) 推荐(0)
摘要: 跟Delegation G挺像的,还是贪心 二分答案套二分答案? 首先看到题目的求最小值最大,基本上可以确定二分答案,把最优问题变成可行问题 然后check的策略就是贪心,对于一个子树,如果他有奇数个子树,那么贪心的留一个最大长度的子树给祖先匹配,剩下的子树自己匹配,如果有偶数个子树,添加一个长度为 阅读全文
posted @ 2021-05-20 09:26 enisp 阅读(55) 评论(0) 推荐(0)
摘要: 一开始我想的是从地图中弄出一个森林来,这样确实可行,但是太麻烦了 事实上,我们并不一定需要把建出来 从最低海拔往上统计答案,考虑当两个联通合并会对答案造成什么影响:新的联通块的方案数为两个联通块的乘积(或者说所有合并了的联通块的乘积,因为有可能有多个联通块合并),当这一层计算完后,再给这一层的块的答 阅读全文
posted @ 2021-05-19 16:53 enisp 阅读(67) 评论(0) 推荐(0)