OI 复赛注意事项整理
明天就csp了, 写点这么多次模拟赛的经验给自己复习一下
本文涉及算法及思路仅供自己复习, 您们tql直接AKIOI了不需要这些策略(
1.解题策略
T1 (思路也用于后面的题
1.首先预估一下难度, 如果发现远超正常T1难度先跳过, 然后思考一下,若发现用到的算法没学过或没写过,先跳过。
2.如果完全没有方向:先写暴力求稳,进一步打表找规律。
3.如果觉得可做,先思考是否有明显结论, 然后进一步模拟样例,寻找进一步结论的同时判断之前结论是否正确。
4.如果你认为想到了正解, 先验证样例,样例ok时先别着急写代码,花适当的时间构造反例。如果发现自己的思路错误,先别急着否定。把代码备份一遍,然后思考是否有改进的余地,是否是因为结论没有推完整, 特判是否可以解决。
5.如果思路完全错误,上个厕所先做后面的题。如果没过大样例,可以开个对拍拍小数据。多上厕所。
6.不要懒得写特判和分类讨论,少个特判可能90没了, 但是大型分类讨论也有可能是错解,多想想反例和正解。
思考方向
数据结构: 并查集,栈/队列
结论: 贪心,单调性,奇偶性
做法: 二分, 递归, 简单dp
数论:排列组合,控制欧几里得,线性筛
T2
可能是一道细节极多且难写的大模拟 / 结论题,在后面的题没思路时可多花点时间,还是比较好拿分的。
dp, 记忆化,搜索,状压。可按T1做法,重在推结论,结论推出来后一般是比较套路的题,长时间无结论:上厕所/跳过。
数据结构题 : 线段树,树状数组(默了十几遍板子了,我就不信还能调试两小时...............
T3
树学题, 重点是推结论,具体问题具体讨论, 想一下怎么将问题转化为树上路径或其他套路问题, 考虑一下树的性质, 多用反证法。
思考方向: 倍增lca, 树上差分,树上dp, 树上路径, 树的节构性质, 线段树,树链剖分(我太菜了,直接放弃
T4
图论题,多想想算法的本质, 除了推结论之外,就是考察图论算法的本质, 再难的我也不会做等于没有。比如flody的dp就很经典, 好好思考一 下,但不要停留太久。先把暴力敲.....
总结
上述T1,T2... 是对不同类的题目的分类,不是考试的题号,应该将思路对应题目类型而非题号。
csp大多不考什么极其毒瘤的数据结构/算法 考了也不会==没考,分数线也会降低,重在推结论,推性质, 以及部分分。
2.骗分大法好
时刻记得那句名言:“暴力出奇迹,打表拿省一,骗分过样例 ”。
输入几个数的就考虑打表找规律, 可以递推的试试看分段打表, 正解也要试图通过打表来优化,有些题目甚至可以通过出题人意想不到的玄学打表爆踩标算。
暴力!暴力!一定要先写暴力,短时间内没有极稳的正解,一定要先写暴力!。进能对拍打表,退能部分分求稳, 又可以在解法正确性玄学的情况下骗分(比如一部分用暴力求解, 不能求解的用贪心或自己不一定正确的方法)。
千万不要产生我能写出正解的错觉(dalao当我没说)
3.时间规划
每道题思考时间尽量不超过20分钟,然后写20分钟能够想到的最优写法,尽可能拿部分分。 所有题写完后, 再去想自己最有把握的题。 难题不要直接考虑直接满分, 能优化部分分就优化, 不要删除代码, 注释或者备份。4h的时间还是不够的, 尽可能快一点但不要紧张。没有思路的时候不要卡在一个地方,上个厕所。
4.考前
买瓶红牛, 多睡觉,看看stl, 不要再刷题了。到了考场如果可以调机,不要做无意义的事情, 默个线段树找找手感,随便节约点时间。
5.
认真读题!!!
不要忘写文件啊!!
不要压行,可读性差还不好调试。想好再写。
多组询问该清空的要清空!!!
正确使用数据类型, bool能不用不用,太慢了。
要读入所有数据
要卡常, 不管复杂度是否正确。
线段树4倍空间啊, 懒标记要清空。
要取模
其他的想到再补
哦,对了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】