cover: 魔宴CG 首先简化问题很明显,每组有用的只有前缀最大值。 先想想贪心,不可做,因为一组的贡献会被其他组影响,所以考虑 \texttt{dp} 组与组之间无序,不能沿编号轴 \texttt{dp} ,考虑值域轴,每接上一个组只需要考虑当前最大值,且较大最大值一定由较小最大值转移而来,所以
cover: Pixiv ID 69000196 怎么感觉我这个考场做法有点非常规啊 还是写写思路吧,初步观察数组 a 的顺序没用,有用的是每个元素的出现次数数组 cnt ,考虑将 cnt 画成直方图研究一下,然后 (x,x,x),(x,x+1,x+2) 分别变为了 3\times 1,1\time
cover: Pixiv ID 132077684 problem 疑似神题 首先发现一个事情:相同颜色的书一定是一起动或者一起不动,即行为平行。 发现了这件事就可以简单 \texttt{dp} 了。 #include<bits/stdc++.h> using namespace std; #def
cover: Pixiv ID 138508263 传送门 k 太小了,结合题目易于想到枚举前 2^k 位的状态,然后限制不是一般算法能做的,考虑 \texttt{dp} ,每加一位贡献只跟前 k-1 位有关,设进状态转移,设 f_{i,j} 表示考虑到第 i 位,后 k-1 位状态为
cover: Pixiv ID 74746113 题目传送门 卧槽这题有点牛逼。 像我这种蒟蒻只看题面肯定没有什么头绪,所以只好看一眼数据范围,似乎只能依赖方案在 O(m\log) 内解决。 至于为什么会想到 dp ,应该只能靠感觉吧,这题一看就很有线性dp的味道。 所以由前面的想法可以大概先设个
cover: Pixiv ID 137993575 题 Sol 应该存在一种经典技巧吧,就是那种可行性DP通过某种手段(感觉最常见的是贪心)压缩一个状态维度。 看到这个题首先应该有个 \texttt{native} 的想法(基于经验?):考虑设 f_{i,j} 为考虑前 i 个灯笼,能覆盖前缀 [1