一般性的解题思维
如果没见过类似的结构、套路、性质、想法,那么想不出来这道题目十分正常。
本文收录了一些,在解题中反复出现的思维方法和思考路径。
解释思维的方法,无非就是,要么分析性质,要么根据经验,要么灵光一闪吧。本文章旨在记录非常常见的经验,以及分析的基本方法。
步骤
- 摸性质、猜性质
- 试算法、摸性质
按题型分类的思考起点
- 操作:思考操作顺序、操作影响、操作次数、操作取值、将操作顺序当作序列(红蓝球、禁忌数字)
- 新定义:先考虑这个定义单独怎么求(f(A)表示序列连通块数量,区间神秘数)。
- 博弈题:找 必胜 or 必败 态。然后证明,若不处在 必胜 or 必败 态,则一定处于相反态。
- 计数题(所有方案的某种量的总和):考虑不同主体如何产生贡献。
- 构造题:考虑无解、按位构造、考虑上/下 界
- 交互题:一个常见思路:倒推题目,即假装我知道了 xxx,那么这道题就可以做了。为了知道 xxx,我需要。。。
常见的思考方法
剔除无用元素(2025 CSPST2、最短路公共路径)
简化问题,弱化约束,去掉限制,关注部分分,旁敲侧击地写题
刻画答案的样貌
正难则反
猜证结论
排序
考虑一个解被计入的情况
分类讨论:
- 数据密度明显不同:完全图
- 情况本质不同:<=,正负,奇偶
- 情况本身极少:相交/包含/不交
关注奇怪的地方
数据范围的提示
- n log n:排序,贪心,dp+优化
- n^2, nm, nmk:dp
- n^3:区间dp
- 20:状压DP、SOS DP
- m^3 log n:矩阵加速 DP
- 带 log:二分、排序、数据结构
题目暗示的算法思考方向
- 二维网格:枚举上下边界、按行/列 DP、格点 DP。
- 计数题:枚举钦定某一主体、考虑 DP
- 最优化:二分答案、DP、贪心、最短路
- 区间操作:前缀和/差分、线段树
- 二元关系:图论建模
- 可行性:DP、并查集、二分图
- 序列计数:DP