思路借鉴
记录一些听到的好思路。
- 难题没有突破口,首先思考有没有多项式解法。
- 考场上想不出正解,就去想稍微高级的部分分。
- 线性的东西,先把平方的 dp 模型写出来再说。
- 先静态查错再尝试造数据,写的不圆的仔细看。
- 找时间复杂度的“瓶颈”和“松口”,看能不能补。
- 遇到期望别慌张,先转成正常求的东西再说。(千万不能迷失在不正确的定义上,例如“有0.5个蝴蝶飞过去”)
- dp 主要是状态和转移的方式设计。一定不要在复杂的条件里迷失了自己。
- 字典序重要的首选是贪心,因为构造出来最后也大多是要用到贪心这一步。
- 拆操作,排序问题拆邻项交换(冒泡排序逆序数结论)或者交换操作,非负数拆逆元,等等。
关于区间
区间相关的问题,我们为什么可以压缩时间,是因为有连续性。也就是说维护连续的区间是好做的。但是如果出现了包含关系,可能会有这样的情况:
这会让我们想维护的东西变得很难维护。于是一个想法是,把包含关系能删除的尽量删除,能不管的尽量不管,使其变成这样,比较好做:
区间相关问题,很多难点在于一些没必要考虑的东西,应该趁早抹除。比如 tourist 那个 E,就是先把东西简化然后处理会比较好。
- 逆序对数,想到交换,想到置换环。对于一个排列,一次交换会使得逆序对奇偶性 +1/-1.