随笔分类 -  动态规划-背包

摘要:简单写一写题解,T3 和 T4 还是值得一记的。 恰钱 注意到,$10^9$ 范围内的好数明显数量不多。我们甚至可以直接算出来: $$ \sum_{k=1}^{14}\binom{30-(k+1)}{k-1} $$ 结合这个数量,把所有好数提前搜出来,即可做到 $O(Q\log^2 r)$ 查询。 阅读全文
posted @ 2022-11-05 16:22 crashed 阅读(114) 评论(0) 推荐(1)
摘要:题目 点这里看题目。 分析 一读题,发现不太会,那就看看数据范围吧。 一读数据范围,马上注意到 $m=n-1,m\ge n-1$ 这样的部分分,而且排布位置靠前、分值占比不算大——说明两点: 这个部分分本身难度不大,但是应当很有启发性。出题人在暗示切入口。 $m\ge n-1$ 一旦解决,之后只需要 阅读全文
posted @ 2022-08-03 15:10 crashed 阅读(75) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-07-31 19:55 crashed
摘要:题目 点这里看题目。 分析 很容易想到一个 \(O(nk^2)\) 的暴力 DP,当然也很容易看出这个 DP 根本没有和“单调不降”扯上任何关系。因此,接下来我们要做的就是利用好“单调不降”的性质。 一个想法是凸性——数组前缀和是下凸的。不过,由于我们对下凸壳做的是 \(\max\) 卷积,所以这样 阅读全文
posted @ 2021-11-14 15:51 crashed 阅读(40) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 数据特殊,显然需要数据分治。 max 此时 \(c=0\) 的点没有贡献,那么就相当于 \(c\) 全部相等。这样 \(c\) 最终的贡献与 \(d\) 无关,我们把 \(c=1\) 的点全部模拟点亮一遍即可。 max 不难想到做树形 DP 。我们可以想到这样的状态: \ 阅读全文
posted @ 2020-11-19 22:25 crashed 阅读(156) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 不难想到,题目的要求,就是要组内边总是比相邻的组间边小。 也就是要组内边的最大值小于组间边的最小值。 于是可以从小到大加边。如果一个连通块在加边的时候,变成了一个团,这就意味着现在这个连通块可以单分为一组(剩余的边只有可能成为组间边,组间边都比组内边大)。之后我们就用 \ 阅读全文
posted @ 2020-10-12 21:30 crashed 阅读(165) 评论(0) 推荐(1)
摘要:题目 点这里看题目。 分析 显然可以数位 DP 。 当 \(R\) 的位数比较小的时候,我们可以暴力搜索出所有数字的出现情况,然后进行 DP 。 但是当 \(R\) 很长的时候,状态的范围就会非非非常大,无法 DP 。 但是注意到另一个事实是:对于一个确定的数,我们并不需要知道它长什么样子,而只需要 阅读全文
posted @ 2020-08-24 14:23 crashed 阅读(259) 评论(0) 推荐(0)
摘要:题目 "点这里" 看题目。 分析 首先可以考虑一个比较粗糙的大 DP : $f(i,j)$:前$i$行,刷$j$次,最多能刷的正确格子数。 转移是一个背包: $$f(i,j)=\max_{1\le k\le m}\{f(i 1,j k)+con(i,k)\}$$ 其中$con(i,k)$表示第$i$ 阅读全文
posted @ 2020-05-04 19:47 crashed 阅读(147) 评论(0) 推荐(0)
摘要:题目 "点这里" 看题目。 BZOJ 上这还是权限题。 分析 不难发现,最后我们走过的点一定组成了树上的一个连通块。 如何枚举树上一个连通块?我们可以想到用点分治。由于每一次我们进行分治之后会进行子树继续分治,这就相当于将原图变成了几个连通块。我们只需要对于每次分治,将分治中心设定为 “ 必选 ” 阅读全文
posted @ 2020-03-27 19:31 crashed 阅读(107) 评论(0) 推荐(0)