标签:路径 线性筛 代码 奇迹 改进 除了 str 二分 线性
明天就csp了, 写点这么多次模拟赛的经验给自己复习一下
? 本文涉及算法及思路仅供自己复习, 您们tql直接AKIOI了不需要这些策略(
1.首先预估一下难度, 如果发现远超正常T1难度先跳过, 然后思考一下,若发现用到的算法没学过或没写过,先跳过。
2.如果完全没有方向:先写暴力求稳,进一步打表找规律。
3.如果觉得可做,先思考是否有明显结论, 然后进一步模拟样例,寻找进一步结论的同时判断之前结论是否正确。
4.如果你认为想到了正解, 先验证样例,样例ok时先别着急写代码,花适当的时间构造反例。如果发现自己的思路错误,先别急着否定。把代码备份一遍,然后思考是否有改进的余地,是否是因为结论没有推完整, 特判是否可以解决。
5.如果思路完全错误,上个厕所先做后面的题。如果没过大样例,可以开个对拍拍小数据。多上厕所。
? 6.不要懒得写特判和分类讨论,少个特判可能90没了, 但是大型分类讨论也有可能是错解,多想想反例和正解。
? 数据结构: 并查集,栈/队列
? 结论: 贪心,单调性,奇偶性
做法: 二分, 递归, 简单dp
? 数论:排列组合,控制欧几里得,线性筛
? 可能是一道细节极多且难写的大模拟 / 结论题,在后面的题没思路时可多花点时间,还是比较好拿分的。
? dp, 记忆化,搜索,状压。可按T1做法,重在推结论,结论推出来后一般是比较套路的题,长时间无结论:上厕所/跳过。
? 数据结构题 : 线段树,树状数组(默了十几遍板子了,我就不信还能调试两小时...............
? 树学题, 重点是推结论,具体问题具体讨论, 想一下怎么将问题转化为树上路径或其他套路问题, 考虑一下树的性质, 多用反证法。
? 思考方向: 倍增lca, 树上差分,树上dp, 树上路径, 树的节构性质, 线段树,树链剖分(我太菜了,直接放弃
? 图论题,多想想算法的本质, 除了推结论之外,就是考察图论算法的本质, 再难的我也不会做等于没有。比如flody的dp就很经典, 好好思考一 下,但不要停留太久。先把暴力敲.....
?
? 上述T1,T2... 是对不同类的题目的分类,不是考试的题号,应该将思路对应题目类型而非题号。
? csp大多不考什么极其毒瘤的数据结构/算法 考了也不会==没考,分数线也会降低,重在推结论,推性质, 以及部分分。
?
? 时刻记得那句名言:“暴力出奇迹,打表拿省一,骗分过样例 ”。
? 输入几个数的就考虑打表找规律, 可以递推的试试看分段打表, 正解也要试图通过打表来优化,有些题目甚至可以通过出题人意想不到的玄学打表爆踩标算。
? 暴力!暴力!一定要先写暴力,短时间内没有极稳的正解,一定要先写暴力!。进能对拍打表,退能部分分求稳, 又可以在解法正确性玄学的情况下骗分(比如一部分用暴力求解, 不能求解的用贪心或自己不一定正确的方法)。
? 千万不要产生我能写出正解的错觉(dalao当我没说)
? 每道题思考时间尽量不超过20分钟,然后写20分钟能够想到的最优写法,尽可能拿部分分。 所有题写完后, 再去想自己最有把握的题。 难题不要直接考虑直接满分, 能优化部分分就优化, 不要删除代码, 注释或者备份。4h的时间还是不够的, 尽可能快一点但不要紧张。没有思路的时候不要卡在一个地方,上个厕所。
? 买瓶红牛, 多睡觉,看看stl, 不要再刷题了。到了考场如果可以调机,不要做无意义的事情, 默个线段树找找手感,随便节约点时间。
? 认真读题!!!
? 不要忘写文件啊!!
? 不要压行,可读性差还不好调试。想好再写。
? 多组询问该清空的要清空!!!
? 正确使用数据类型, bool能不用不用,太慢了。
? 要读入所有数据
? 要卡常, 不管复杂度是否正确。
? 线段树4倍空间啊, 懒标记要清空。
? 要取模
? 其他的想到再补
?
? 哦,对了
标签:路径 线性筛 代码 奇迹 改进 除了 str 二分 线性
原文地址:https://www.cnblogs.com/ltdjcoder/p/13937410.html