CSP2023总结

入门组

比赛开始时,顺序开题。

看完 \(T1\) 后没有立即想出正确解法,有点慌乱,看完 \(T2,T3\) 并思考了一会后过去了大概 \(20\) 分钟,想到了解法便看 \(T4\)。

\(T4\) 看完之后直接想了 \(20\) 分钟,想到了一个貌似可以的解法。

回头看 \(T1\) ,\(T1\) 想到后比赛已开始 \(50\) 分钟,机房里敲键盘的声音很大,开始变得着急。

最后写完 \(T1,T2\) 过去了 \(30\) 分钟,直接去写 \(T3\) 的模拟。

最后模拟因为有些地方一开始没有考虑到,使得代码结构不合理,加上调试时间过长,写完后距离比赛结束还剩 \(1h25min\)。

\(T4\) 在思考过程中发现做法除了拆点以外假掉,又发现前排同学已经开始写别的题目的暴力对拍,愈发紧张,便去了一次厕所。

回来后在冲最后一题的做法,发现可以把结束点换成开始点便可以接触 \(a_i\) 无法跑最短路的限制,于是在这一种想法上开始解决 \(k\) 的问题,最后时间也来到了 \(20\) 分钟,中途其实思考过几次要不要去写 \(k=1\) 和小数据的部分分,但即使时间在最后 \(40\) 分钟时也没有下定决心写部分分,总觉得在想一下或许就可以想出来,于是失去了写部分分的机会,最后 \(20\) 分钟心态已经完全崩溃,无心检查和调题,在考场上痛斥自己一年不如一年。最后只在 \(5\) 分钟时进行了一次肉眼检查。

PS:纪中小卖部真香。

提高组

或许时中午喝了茶的缘故,下午精神状态不错,在吃零食和下午比赛更重要的想法下,情绪调整过来,准备下午的比赛。

比赛开始后,先总览了一边题目,吸收去年的经验,虽然 \(T3\) 题面很长还是看完了,发现 \(T1\) 是签到,\(T3\) 应该是模拟,\(T2\) 有点像数据结构或者 \(dp\)。

但 \(T1\) 因为一开始的读题不明确,导致调试用去了将近 \(20\) 分钟,剩下 \(3h\)。

\(T2\) 想到了一个动态规划,转移和方程的时间复杂度都符合题意,发现预处理不知道要怎么办,于是开始乱搞加证明奇怪的性质,最后发现可以用栈维护,写出代码后又发现预处理又假了,开始修补,最后耗费 \(1h\),发现一开始的一个性质证明有反例,但又盲目向 \(T2\) 投时间,\(25\) 分钟后经过长达 \(5\) 分钟的心理斗争,决定剩下时间全部用来写暴力。

在次看题,预估 \(T2\) 暴力 \(50pts\) 到 \(70pts\)(后来发现是 \(60pts\)),\(T3\) 分析一手数据规模有 \(65pts\),\(T4\) 无脑模拟有 \(10pts\),此时预计总分:\(100+60+65+10=235\)。

\(10\) 分钟结束 \(T2\) 剩下 \(1h\) 结束比赛,\(T3\) 调试结束后剩下 \(23\) 分钟,最终肉眼检查所有题目,再次手动测试 \(T3\) 后开始写 \(T4\) 的无脑写法,没码完。

反思

1.对题目总体时间分配没有一个大概的把握,没有认真思考题目难度和自身实力的对比,没有对题目分配时间。

2.对于题目部分分的把握不清楚,在没有时间规定的情况下,产生了一种类似于赌徒的心理,总是想在多给一点时间能不能做出来,最后时间耗尽,连部分分都写不了。

3.思考过程不专注,有些时候想题时跑偏了,浪费了一些时间。

4.由于自身的认识不清,所以受其他人影响大,考场内敲键盘的声音也一定程度上产生了干扰,带来压力,导致情绪波动大,然后又增加了想偏了的概率……

5.在考试时会无意识的想到一些考场外或者时考试结束后的事,给自己产生太大压力导致解题效率低下。

6.对于自身实力把握不清,设定的目标不合理,使考试时的心态变化大,对题目的 \(AC\) 更执着。

7.代码实现能力弱,经常性出现写错符号和字母等低级失误。

8.代码调试能力弱,发现问题后更改的代码不简洁。

计划

1.2. 条出现的问题是比赛策略不合理,应该设置合理的比赛策略,不断完善改进。

2.4.5.6. 条的问题是对于自身实力认识不清,过于关注成绩和排名,又带着一种傲慢的情绪去比赛,应该尽快摸清自己的真正水平,对于比赛设置合理的目标。

同时 2.4.5.6. 条也可以看出思维和其他同学存在差距,但并没有正视,更多是一味欺骗自己,对自己的,需要虚心接受并正视自己与他人的差距,继续提升思维水平,方案如下:

  1. 每周除去比赛题外,应该保持至少 \(5\) 道以上的蓝题,并挑选写不少于 \(2\) 题写题解。
  2. 比赛题应该及时订正,并且至少选择 \(1\) 题写详细题解。
  3. 对于比赛要及时总结,找出自己的稳定水平。
  4. 提高效率,优化时间表,将每天的空闲时间多投入竞赛,每周日的 \(9:45\) 到 \(11:30\) 设为竞赛时间,并前往图书馆。

对于自己的水平应该是有把握下的自信,不能盲目自信,也不能自卑。

第 5. 条要在考场上克制自己的想法,及时纠正想法,不要想太多。

第 6. 条要根据现状合理制定目标。

第 7. 条在每次比赛代码量超过 \(150\) 行的题目时,\(AC\) 后应该参考其他人的代码改进程序,在写代码之前需要思考代码大概的结构,要怎样写更合适。同时,要保证代码不会出现过多低级失误的情况下增快码速。

第 8. 条在平时遇到的复杂的代码的错误,要多调试,积累经验,总结方法。

最后考试前规律作息,好好休息,以最好的状态虚心考试。

考试策略

开始到 \(30\) 分钟,总览全局,初步思考,大致划分时间,读题思考时间每题 \(5\) 到 \(8\) 分钟。

按照初步划分时间进行答题,思考之前需重读题,题目代码时间至少预留 \(20\) 分钟,单题时间规划时间不宜超过 \(50\) 分钟,需包含一定的小数据测试,必要时包括对拍。

对于题目正解与暴力的抉择,需要果断、坚决,对于某题目延长时间的需求应考虑整体,计算暴力分与延长分的性价比,以搞分为最终原则。

划分时间预留 \(40\) 分钟,其中 \(10\) 分钟作为弹性机动时间(调整心态,处理情绪问题,上厕所,休息等),\(30\) 分钟的检查时间(一般放在最后),此部分为最后的肉眼检查,主要 计算 时空复杂度,检查 变量数组类型大小,变量初值,文件夹文件名文抄,测试样例和部分小数据(主要检查的是有没有删除调试代码和 \(CE\),如果出现不符合预期的答案,先把其他题的检查进行完,再回头更改),每题按 \(7\) 分钟处理,如题目简单可以快速检查完可以分给其他题目的检查。

注意除分值差巨大的情况下,即使时间不足,写暴力,也需要保留至少 \(30\) 分钟的时间构思及写代码,切忌使用检查时间写代码。

随机推荐

  1. Vue开发转到React开发,Prettier - Code formatter失效的问题

    Vue转到React,Prettier - Code formatter失效,按下Ctrl+S无效,需要手动格式化一次 然后选择默认的格式化方式 之后按下Ctrl+S就可以进行格式化啦!!!

  2. JVM笔记六-堆区知识之对象生命周期和GC的关系

    通过上一篇文章的学习,我们对JVM堆区有了初步的认识,接下来,我们继续展开讲解堆区. 对象生命周期和GC的关系. 我们已经知道了,堆区的新生区分成了三个部分:伊甸园区.幸存者0区.幸存者1区. 其中0 ...

  3. android 访问域名接口报错

    1. 移动端访问https域名及接口,显示 java.net.UnknownHostException: Unable to resolve host "xxx" : No add ...

  4. 修改SpringBoot的配置文件application.yaml后启动失败

    经常碰到修改application.yaml文件之后,SpringBoot项目启动失败的,报错信息如下 Connected to the target VM, address: '127.0.0.1: ...

  5. CSS & JS Effect – Show More

    效果 show more 是很常被使用的效果, 因为空间总是不够的丫. 比起 scroll, show more 的体验通常会好一些, 尤其在手机, 它有更好的引导. 实现思路   1. 卡片需要一个 ...

  6. HTML – W3Schools 学习笔记

    有用链接: HTML Attribute Reference (查看所有 Attributes) HTML Paragraphs Link to W3Schools <p> 里面 doub ...

  7. 这些年没来得及学习的一些 HTML5 标签

    认识并学习下还没来得及学习的一些 HTML5 标签 <ruby> 标签 HTML <ruby> 元素被用来展示东亚文字注音或字符注释. 比如: <ruby>兄弟&l ...

  8. 学好QT框架之后可以做什么工作?QT技术框架现代化行业大型复杂应用的经典成功案例

    简介 本文粗略的介绍了QT框架的软件开发技术生态体系的全球影响力:QT框架在文字办公领域.CAD三维图形领域.Linux操作系统领域.物联网领域.汽车电子领域以及数字医疗领域等现代化行业的大型复杂应用 ...

  9. Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计)

    一.Apache Shiro 简介: Apache Shiro提供了认证.授权.加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码.并且在实现此目 ...

  10. Java反射取值赋值

    项目需求:需要对获取的数据每个字段值校验合法性,故想到用 反射 实现 /** * 字段值校验 * * @param r 需要校验的实体类 * @param properties 自定义需要校验的属性 ...