Level 1 和 2 其实难度差距不是很大,但侧重不同(1 偏思维 2 偏算法)。因此您可以根据自己需求选择先刷哪份。
如果您已经有了自己的训练计划,或拿不出很多时间刷,建议每天闲的没事可以开一两题看看,理解题意之后随时随地都能思考,找时间再去代码实现,提高刷题效率。
当然您也可以抽出整块的时间板刷这些题
只要坚持刷,实力毫无疑问会提升的。量变引发质变!
:::success[针对每道题的简要介绍]
P6005:最优化,考虑 dp。由于图是有向图,将其考虑成分层图即可推出转移式子。
P8186:找性质,在图论建模之后即可发现解法。
P6149:思维含量不太高,考察离散化、二分和拆绝对值,比较考察代码能力。
P7149:考察离散化和前缀和。
P7150:去考虑模拟这个过程,随后即可发现做法。
P8266:经典的贪心结论。
P7299:观察到这个本质是置换的东西一定存在环,用 STL 模拟即可。
P7301:需要发现性质的结论题。
P7410:考察容斥和单调栈的综合题。
P6150:线性做法需要点思维和注意力。
P7411:经典的搜索。
P10136:有点吃注意力了,考查鸽巢原理的好题。
P10278:找到性质之后用差分解决。
P7991:计算答案的时候是个经典贪心。
P6146:dp 计数题,考虑怎么用一个状态刻画,转移是简单的。
P7989:分类讨论。
P8093:找到性质之后的递归处理比较巧妙。
P9126:图论建模后最短路。
P8188:依旧找性质,用数据结构维护这个过程。
P10191:找性质,用优先队列维护。
P8269:每个点出度为
P10134:线性做法需要动脑子,需要简化问题后发掘性质,建议画画图。
P6278:扫描线思想,并用树状数组维护。
P8097:考虑离线,倒着操作(这样“删”转换成“加”)。
P8271:依然是找性质,找到之后即可以用前缀和轻松维护。
P6004:思维难度不高,二分后用并查集维护连通性 check 即可。
P8901:博弈论,可以手玩猜结论再去感性理解。
P6148:经典问题,考虑倍增跳。
P8903:直接 DP 复杂度不对,是否能尝试用贪心消掉一维?
P9013:图论建模。
P9124:推一推不等式,随后可以上二分。
P9186:二分,随后分类讨论一下。
P9127:找性质,找合适的方式枚举。
P9183:猜结论,分类讨论。
P9184:好吧,并非思维题,模拟即可。
P9187:先把字符串转换成数看看?
P9188:DP,注意统计要不重不漏。
P9979:模拟 + 分类讨论。
P10277:用优先队列模拟。
P10190:观察到单调性即可二分。
P9980:比较吃思维的 DP,考虑如何刻画?能不能倒过来考虑?
P9981:没有字典序的限制就是模板。有了字典序之后如何处理?技巧:可以赋值 rank 表示字典序的排名实现常数时间内比较字典序。
P10195:观察性质,模拟,用数据结构维护。
P8900:分类讨论。
P9185:观察性质,用倍增高效处理。
P10279:单调栈 + 哈希解决。哈希是万能的,lcp 直接用二分哈希求即可。
:::