专栏文章
2025 CSP 游记:终末之诗
生活·游记参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @minf3jvl
- 此快照首次捕获于
- 2025/12/02 01:22 3 个月前
- 此快照最后确认于
- 2025/12/02 01:22 3 个月前
坐标:HA
年龄:初三
年龄:初三
DAY - INF(前言)
本人坐标在 HA 省会,但是小学是在一个没有竞赛的市里上的,兼有错误的学习方式,因此本人信竞成绩也不太好,去年的 CSP 只拿了一个入门组的二等。
因为 HA 的中考压力太大了,所以这一次应该就是最后一次接触信竞了。
初赛还是一切安好。
Day - 0
赛前一天,啥也没学,只是看了一下防爆零的技巧,害怕和去年一样压力太大然后炸掉。
十点就上床,但是翻了一个多小时没睡着,设想了一切的可能性,最后得出的结论是:先睡吧,梦里啥都有。
Day - 0.5
早上依旧六点起床,提前两个小时去考场(提一嘴,HA 这一次只设置了一个考场)。
到了考场,只能看见一堆头在那里动,还有各种信竞辅导机构带着学生过来考试,看着各个市大老远跑过来参赛的选手,又联想到自己,心里面挺复杂的。
拿着手机拍了个照片作为留念以后,就进了考场。
Day - 1
首先是 组。在极域的禁言解除以后,监考老师让我们下载自己所用的 C++。在考试开始后发下来了考卷。
通读了一下四个题目,发现前两个题目似乎异常简单。第一道题的解法是秒出的:统计字符串中出现的所有数字,从大到小排序然后输出。十分钟解决,自测时 .
做第二题时遇到了一些状况。我想的是用 的解法去做,但是在处理行列关系的时候写错了。这一道题目的样例是真的水,从这里面找不到问题,每次都是我自己造数据找出来的问题。最后写出来了正解:先用名次除以行数算出来所在列数,然后分别判断奇数列与偶数列。但是要注意边界情况即行数能整除列数。
到了 T3,难度直线上升,我没有想出来正解,只能瑟瑟发抖地用滑动窗口 + 区间扫描打了一个 的暴力,预计得分 。T4 也是如此,我最开始的思路想的是正难则反,但是发现做不出来,只能通过特殊数据写了一个 的特判与 的暴力,预计得分 。
总估分 。
上午的比赛草草收尾,出来考场又是见了一堆人头。听说我们集团校总校那边有 个 AK 的,直接红温了。老师还要让我们拍照,结果因为人太多,导致人全的时候已经过去了半个小时,直接大大缩短了我们的吃饭时间。幸亏是同学家就在这附近认得路,要不然真得炸掉。
中午在外面找了一家 Dicos 和朋友(dengrunze2608newbeexz)一块吃,好像是因为吃 Wallace 吃多的事,感觉很贵,但确实很好吃。吃饭的时候,我们就在讨论今天 S 组应该不简单,去年就是 J 组简单 S 组难。
调整好状态,向着考场进发。下午的比赛由于高中生也参加,人数不减反增,带着最后一搏的想法,我们踏进了考场。
考试前 分钟,介于对自己知识掌握程度的了解,我决定一定要做出来第一题,也许是考前对心态的调整确实有用,我后来确实做了出来。
考试开始前的流程与上午一模一样,发下来试卷以后先通读了一下,感觉就第一题能写,第二三题刚好点到了我的七寸,都是我不会的知识点,第四题大概看了一下数据范围,感觉有两三个数据点是我能骗到的。所以这次比赛的主要策略就是写出来第一题,后面三题就暴力骗分就行。
有可能是运气好了一点,第一题的思路从最开始就是正确的(问了朋友应该是对的),但是实现代码的时候出了点差错,导致前半个小时的努力白费了。
我的想法就是最基础的贪心,因为我们知道,如果一个部门的最喜爱人数大于其余两个部门之和,那么就要调走一部分人。
怎么调动呢?
我们可以使用结构体(我考场上就是因为忘了用结构体被卡了半个小时)来存储,我们定义结构体如下:
CPPstruct node{
int a1,a2,a3,fi,se,si,cha;
}a[100010];
a1 a2 a3 用来存储好感度,fi 存储最喜欢部门的好感度值,se 存储第二喜欢的值,si 存储最喜欢的部门编号,cha 存储 fi 与 se 的差。定义三个变量 s1 s2 s3 表示喜欢 1 2 3 部门的人数,再定义一个
ans 表示所有人最大好感值之和。因为我目前没有更好的思路,所以就直接判断三种情况即 s1 或 s2 或 s3 大于一半的人数。
因为如果最大部门人数是总人数一半的话,其余两个部门也不可能更大,因此,我们只需要以
cha 从小到大排序结构体,如果找到一个人最喜欢的部门人数多了,就将 sum 减去对应的 cha,也就是将这个人调到第二喜欢的部门,同时将人数最多的部门减去一,当部门里面的人数刚好是总人数一半时停止运算。这样,就能实现亏损最小化即利益最大化。但是要注意代码细节,可能会有最喜爱值等于第二喜爱值的情况。赛时我不知道这是一道绿题,还以为这是一道橙题或者是黄题,所以这道题能做出来(其实也不一定,但是对我而言已经够了)有很大一部分靠的是运气,预计得分 。
做出来这一道题花了我一个半小时的时间,后面的二三题总共花了一个小时的时间去尝试打一个暴力均以失败告终,只能输出几个可能数据骗分,预计得分 。
第四题是有一个 的情况在,如果有人的耐心值为 或某一天的题目为 ,就直接输出 就行。反之,只需要输出全排列即 的阶乘,注意取模。后来又打了一个 的情况,但是感觉不对,预计得分 。
总估分 。
等到考试结束的时候,我站起来才注意到我朋友(xxxalq)和我中间只隔了两个位置,他告诉我说他憋尿已经憋了半个小时,结果当时数据未录入完毕不让考生离场,他直接绝望了。
出考场已经天黑了,坐地铁回到家以后,也宣布了这次考试的结束。
总结
这成绩可能在大佬眼里面看来一般,但是对于我来说已经是一个不错的成绩了,这一次的策略我感觉是适合我的,帮助我取得了这种成绩。
以后也不准备把重心放到信竞上了,要转到 whk 去了。这次比赛也是为我的 OI 生涯画上了一个还算圆满的句号。
愿天下的 OIer 均能过好自己的信竞生涯!
本文 毕。
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...