做题思路总结
分析思路:
-
清晰的理解题意并能对样例做出合理的解释。
-
拿到题目后,从考察知识点入手。
-
当题目无从下手时,先找性质猜结论,并理解题目中 "最优策略" 的他们是如何做的。
-
优先考虑朴素算法,其次进行优化。
-
在无法想出思路的情况下,可以考虑从特殊性质或简化后的一个题目的子问题的做法入手并推广至题目。
-
考虑转化问题或使用辅助方法简化问题。
-
猜测结论并使用打表验证,同时观察是否符合直觉。
-
观察答案形态,进行转化。
-
观察题目中合法的充要条件(这点在计数题中非常有帮助)
-
使用经典 Trick
-
随机化 + 随机时间复杂度暴力
题目类型具体做法:
DP:
- 设计 DP 三要素:状态定义,状态转移,状态初始化。
转移:
划分子结构。
设计状态:
-
直接入手
-
分析性质后考虑转化,间接使用状态推出答案。
-
: 答案比较小的时候,可以考虑换量。 -
: 分析答案结构,提前计算贡献。 -
: 当你获得了两个暴力的时候,考虑根号分治。
优化:
-
优化状态个数:离散化,通过性质减少有用的状态(考虑什么状态是没用的)
-
优化状态转移时间复杂度,可以考虑使用 DS,决策单调性及
二分。 -
考虑斜率优化
DS:
-
转化!!!
-
遇到柿子考虑参变分离,拆
,分类讨论。 -
离线询问
Trick:
-
当答案较小时,可以考虑换量。
-
用一个元素来代表一个集合
-
放宽限制
Maths:
- 优先颓柿子
网络流相关:
-
如果可以找到二分元素,则优先考虑二分图相关问题。
-
考虑建模中的套路,通过一些常用的比如最小割转化后解决问题。
-
考虑特殊边权对答案的限制作用,如
固定。
博弈:
-
猜结论贪心
-
打表观察
函数的规律
常见结论:
坐标系上随机
本文作者:Little_corn
本文链接:https://www.cnblogs.com/little-corn/p/18152704
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步