「Trick」智慧
技巧部分
-
离线可能会使询问、操作的配置变得不那么怪异,甚至具有某种性质,类似去掉了某一维度的限制。
-
ACAM 尝试在 Trie 树上或者 fail 树上进行 DP。(这不是很显著吗啊喂!)
-
注意到一些上限可以使那些看起来是暴力的做法变得优越。
-
对于连续的或运算,结果只增不减,可以注意到不同结果只有 \(\log\) 级别个。
-
一个数开方很多次就会变成 \(1\)。(这不是很显著吗啊喂!)
-
异或哈希减少冲突概率。
-
对于出现多次减少贡献或不计算多次贡献,可以考虑每次加入一个元素,去除前几个相同元素贡献。
-
bitset 可以优化一些存在性的转移!
-
数字相乘只关心大小的时候可以转对数相加。
-
DP 尝试贡献前置以取得更神秘的优化。
-
对于限制较多或复杂的题目可以考虑先去除一部分限制,然后再基础做法上做调整。
-
一棵树分为两部分,这棵树的直径端点一定是两部分的两条直径的四个端点中的。
-
看到关于字典序的限制可以考虑枚举前缀。
-
遇到难缠的组合数?不要硬推式子,尝试从组合意义角度理解!
寄巧部分
- \(E(x^2)\not=E^2(x)\)