一些有助于考场上想题的思路

都是从最近做过的模拟赛/题目中总结出来的。

量变引起质变

好二的小标题啊(((

但是确实是这个道理,比如:

  • 某个数反复开根、除以某数等等,暴力操作看似不可行,但次数多后就会变成 $1$ 和 $0$ 等特殊值,这类特殊值的性质是 $f(x) = x$($f$ 是操作)。

这个东西好像在一些小奥里叫做数字黑洞???

反正是个不可忽略的性质。

  • 某些概率(期望)类题目里,如果某种转移操作次数达到一个阈值,那么上一次的答案对当前的答案的影响会变得非常小,几乎可以忽略不计。

比如对数列的交换操作,在次数充足的情况下,数列的分布趋近于被随机打乱。

就是今天做的【数据删除】牛客提高组模拟赛R6,我想了半天T4的矩阵加速转移,结果是转移次数小的时候暴力dp,转移次数大的时候直接不用管了???

从暴力的优化入手

很多题目都是这样做的,可以说这是每道题都必须考虑一遍的思路。

比如某道看着很想贪心的题目,但是你始终没法胡出正确的贪心思路。这时候不妨打一个暴力dp出来,很有可能打出来了过后就发现可以用数据结构之类的优化,一个 $\log$ 的复杂度影响不是很大。

再比如数论的题目,一次性把最终的式子推出来不太现实,可以先把暴力打出来,没准就发现某一个循环可以用某种恒等变换优化掉了呢。

结合数据范围特征

某些类型题目的数据范围具有很明显的特征,一般是从最优的时间复杂度来反映出来的。

比如 $\mathcal{O}(n \times 2^{n})$ 之类的状压,$\mathcal{O}(n^{2} \times m)$ 或 $\mathcal{O}(n^{4})$ 的网络流,还有 $\mathcal{O}(n^{2})$ 或 $ \mathcal{O}(n^{3})$的区间dp等等。

从特殊值入手

有些时候,一般性的数据不容易计算出答案,但是特殊数据的答案很明显,这个时候可以先处理特殊值的情况,再一点点推出一般情况。

例如数论题,质数的情况答案很好计算,然后可以通过唯一分解定理一点点推到一般情况。

(上面的例子可能有点太弱智了,但是我想不起来更好的例子了qwq)

还有一种就是看边界值,例如数的正负性可能会带来一些意想不到的结论。

从特殊性质入手

这是老生常谈的了,很多时候数据范围里的特殊性质对思考有很大帮助,可以先从特殊性质开始想起。

例如树的题目,可以从链的情况想,再推到一般树的情况,可能是用树链剖分,或是树上差分等等。


看看还有什么我没想到的再更吧qwq

posted @ 2023-10-19 22:13  A_box_of_yogurt  阅读(5)  评论(0编辑  收藏  举报  来源
Document