CSP-J/S复试高分秘诀经验分享
前言
这篇文章是今年3月份参加NOI Online测试之前和老码农一起整理的一份资料,分享给备战今年10月份复赛的OIer,
还有不到4个月,还有很多不会的知识点,没有退路,唯有努力坚持前行。
重点
- Step1:通读所有题目:确定大概算法、确定是否能打表或者暴力枚举
- Step2:草稿纸:仔细审题,标重点;梳理分支;梳理数据规模
- Step3:静态检查:先检查代码,再调试,省时间
- Step4:最后10分钟检查:C++程序名、输入文件名、输出文件名、去掉注释:freopen,fclose代码
准备
- 携带橡皮、笔,笔可适当带3种颜色不同,便于**【标记重点】、【关键信息】**
阅读题目:仔细审题
- 通读:题目2~3遍,判断
- 难易度,通常从前往后越来越难
- 大概使用算法:打表、枚举、排序、递归、递推、贪心、高精度、图、树、动态规划
- 标记:在纸上标记**【重点信息】、【细节信息】、【特别注意事项】**
梳理思路:三思而后行
阅读数据规模,分析样例数据分布:重要、重要、重要
- **极小值:**0、1(0、1一定要重视)
- **极大值:**数组越界、数值溢出
- 比如long型数据太大,会用科学计数法输出
- 正常值
- **异常值:**边界值,例如:文具订购,三种都买14元,则边界值:13元、14元、15元
- 数据规模
- 小:可能搜索算法
- 大:可能考虑动态规划、数学算法
条件分支:草稿纸
- 各条件分支结合样例数据及题目先梳理清楚,用笔在草稿纸上记录下来
确认算法
- 根据数据规模,判断使用算法时间复杂度、空间复杂度(O(N 2 ^2 2)、O(N log N)、O(N))
遇到熟悉的题目要十分警惕,先在草稿纸上演算计算步骤,并测试其正确性
编写代码前要有充足思考时间,最好举例子通过草稿纸验证 -> 尽量不要边写边改
- 比如递推怎么写
- 比如动态规划方程怎么写
- 比如???
编程
注意点
程序名和输入输出文件
- 文件名是否和题目吻合,一定要注意大小写、扩展名 -> 一旦拼错,爆零
编程:保持思路清晰,参照样例数据分布和条件分支,尽量一次把程序编好
检查程序:静态检查 -> 动态来回调试程序是非常耗时的,多思考,更省时间
- 不着急直接调试,先重新阅读自己编写程序。
- 变量名、函数名是否对上
- 循环、条件分支是否得当
- 输出文字时,大小写是否正确
- 边界情况是否考虑周全
- …
- 不着急直接调试,先重新阅读自己编写程序。
调试
- 输入数据格式是否正确
- 样例数据所有分支依次跑到
- 再次思考有无遗漏分支
- 对拍:数据随机生成,与暴力程序相互验证正确性
- 数据随机生成器
空间、时间复杂度
- 空间复杂度:sizeof(数组名字) 数组空间
- 时间复杂度:clock:开始和结尾记录时间差、t1 = clock()、t2 = clock()
注意控制单题解题时间,别一条道跑到黑
暴力分全拿
写暴力、写暴力!,一定要正确的暴力!
对于难题,依据题目数据分布、条件分布,确定是否可以枚举部分分支,得到部分分数
确认是否可以打表得分
深呼吸放松,奇思妙想
- 遇到特别难的问题,不要气馁
- 遇到卡壳的情况,深呼吸,上厕所洗把脸,也许就会奇思妙想
- 尽力就行,不要给自己太大压力
最后十分钟
全面检查
- 命名是否和题目一致:程序文件名、程序中写的输入输出文件名 -> 必须一致,不一致就爆零
- 程序存放的目录是否按要求
- 输入输出格式与样例对照,特殊字符串(Yes,No,Impossible)的大小写
- 数组空间的大小,对比空间大小限制
骗分导论
- 骗分导论:打表 / 找规律 / 贪心 / 搜索 / 样例 / 无解 / 暴力+分段
参考
NOIP考试技巧分享——清北学堂信息学
- https://www.bilibili.com/video/BV1zz4y1D7cf/?spm_id_from=autoNext
NOIP考试技巧分享2——清北学堂信息学
- https://www.bilibili.com/video/BV1jK411H7Sa/?spm_id_from=333.788.recommend_more_video.0
学习经验
学会总结
每周总结知识点:
- 知识点原理、用途
- 编程流程、关键代码、优化
- 其他算法比较
- 复杂度估计
- 相应习题
看书:书是人类进步阶梯
安排时间:注重效率
- 早晨:读书、总结
- 编程
- 中午:午休
- 下午:XX
- 晚上:继续编程
适当休息
- 进入死角或者思维不清:溜达溜达,放松下,奇思妙想就来了
养成编代码的良好习惯
- 重要的事说三遍:重视编码规范、重视编码规范、重视编码规范
学习心理暗示
- 自己不会做:不要气馁,很可能别人也不会
- 自己会做:不要骄傲,自己检查
做最好的自己就行,不要去管别人
学会抗干扰
- 别看他键盘敲的快,题目未必做的对
- 周围环境不适,学会适应
合理安排
- 阅读题目:5分钟
- 设计算法:10-15分钟
- 第一印象思路:往往不是最优
- 考虑
- 复杂度(时间、空间)
- 数据范围
- 程序框架:5分钟
- 分布:第一步干嘛、第二步干嘛
- 每步拓展代码
- 编程:20分钟
- 静心写代码
- 查错:10分钟
静态查错
- 非常重要、非常重要、非常重要
- 静态查错:先通读代码,找错误,在调试
- 是否有编译错误?
- 变量是不是打错了?
- 数组开的够吗?
- 分支是不是有遗漏?
测试数据
各做几组测试数据
小数据
大数据:是否超空间、时间复杂度
极限数据(边缘数据,比如0、1,除数为0,数组越界)
对拍
- 我们还可以写一个效率低但是绝对正确的算法来和原程序进行对比
参考
- 分享一位信息学高手的信息学学习和竞赛技巧
- https://mp.weixin.qq.com/s/OtYR8NavIsxE5IKYZgo6TA
\1. 没有使用头文件cstdio
\2. 没有使用文件输入输出
\3. 输入输出文件名错误
\4. 文件输入输出位置写错
\5. 文件输入输出语句英文括号全部写成了中文括号
\6. 文件输入输出语句中双引号写成单引号
\7. 函数名freopen写错
\8. 输入输出文件名读写模式错误
\9. 选手在xxx.in和xxx.out的前面都加上了.\,unix环境下评测编译错误
\10. 调试中文件输入输出注释了,忘记取消注释
\11. 强烈建议文件输入输出重定向用freopen()
\12. 使用变量定义数组: 如 int a[n];
CSP-J/S复试高分秘诀经验分享相关推荐
- 北京航空航天大学软件学院2021年保研复试流程介绍+经验分享
北航软院2021年保研复试流程介绍+经验分享 我是北航软院2018级的本科学生,有幸获得了保研的名额,并且参加了本系的保研复试,现在简单地介绍一下复试的流程和一些复试的经验,希望对学弟学妹有所帮助~ ...
- 太原理工大学计算机复试面试,太原理工大学备考复试注意事项经验分享
太原理工大学备考复试注意事项经验分享 "宜将剩勇追穷寇,不可沽名学霸王."如果说考研是万里长征,那么初试通过只能算跨出了万里 作者 大____龙 次阅读 2014-01-21 &q ...
- 西安电子科技大学马克思主义683/883高分学长经验分享
我的初试成绩是370出头(在今年西电有点压分的情况下,这已经算可以了),拟录取排名前四,专业课成绩前三左右- 一.选学校 谈到985.211.双一流院校可能大家会觉得的比较难,但实际上考研选学校看的不 ...
- 中国科学院大学计算机复试考什么区别,中国科学院大学考研复试流程及经验分享...
好久没来这了,一直忙着毕业论文.考中科院的这一过程还是很值得回味的. 同时希望能对后来的人提供些裨益. 对于如何准备统考其实不需要写什么,就一句话,要甘于寂寞努力备考. 而对于如何复试对于很多人而言是 ...
- 中级经济师财政税收专业高分备考经验分享
2021年中级经济师考试将于7月19日8月初报名,但是目前有很多考生依然无法抉择该报什么专业.不如我来和大家伙唠唠财政税收专业 首先:中级经济师财政税收有什么特点? 其次:适合哪些人报考? 一.中级财 ...
- 华东理工大学计算机与金融学,华东理工大学金融专硕431高分学长经验分享
英语二 85分 首先先拿一份真题,熟悉题型和分值,但不要急着做,英语一和二的真题是所有有价值的英语试题了,模拟题完全没必要做.另外,英语二无论完型还是阅读,其实都不难,文章基本都是能读懂的. 1.基础 ...
- 计算机科学与技术考研多少分算高分,清华计算机科学与技术系考研初复试高分经验分享...
盛世清北,清北硕博摇篮,专注北大清华考研辅导近10年,盛世清北-清华考研辅导班开设清华大学计算机科学与技术系考研辅导系列课程.上清华北大,就上盛世清北! 覆盖院系 计算机科学与技术系 考试科目及研究方 ...
- 上海东华计算机专业学硕复试,17届东华计算机初试+复试经验分享~
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 啊时间好快,仿佛昨天还是在统考考场上奋笔疾书,转眼间又快到了下一届小学弟妹们上战场的时间了.真的是感慨考研之路,感慨着感慨着然后就想写点经验分享一下,仅作 ...
- 厦大复试计算机科学系,2019年厦门大学计算机系经验分享,复试篇!逆袭!
原标题:2019年厦门大学计算机系经验分享,复试篇!逆袭! 考研复试篇 如果你到这个阶段,恭喜你,你已经半只脚踏进厦大了!不过你可能需要更多的努力,因为距离目标仍然任重而道远. 厦大的初复试比例是6: ...
最新文章
- 只有ajax会跨域吗_ajax处理跨域有几种方式
- 庆祝自己在博客园开通个人生涯第一个关于工作的博客
- XAML数据绑定(Data Binding)
- linux下mysql源码安装
- CTFshow 信息收集 web15
- 阿里云开源 image-syncer 工具,容器镜像迁移同步的终极利器
- flashisland in webdynpro
- insert /*+ APPEND */
- [react] 有在项目中使用过Antd吗?说说它的好处
- 华为手机设置页面黑色_华为手机设置里面的这些功能你都知道吗?
- EJB+JSF开发示例(附源码)
- 右手残疾学计算机学什么专业好,我是右手和右脚残疾 左手和左脚好的 可以学残疾人驾照吗...
- 使用git第一次成功,记录
- hello.java_helloworld怎么写java
- 开发流程与管理--国内IT项目开发流程
- 数据挖掘研究的机遇及挑战 洪胜宏
- 躲猫猫正式上线“Peek-a-Boo”就是“躲猫猫”
- 工业物联网(IIoT)生态构建三字经:先做人、后修心、再打怪!
- iOS程序的Build过程
- 3.2 Hadoop简介