专栏文章
🏀🏆A组第二场🐉🧱赛场游记
生活·游记参与者 3已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhze686d
- 此快照首次捕获于
- 2025/11/15 05:50 4 个月前
- 此快照最后确认于
- 2025/12/03 12:07 3 个月前
🏀🏆A组第二场🐉🧱赛场游记
day -n
你🐉搞了个🏀🏆校赛,这个校赛是考完了直接出成绩的,也算是本人上了大学以来第一次重新搞算法竞赛的比赛。
具体细节忘了,但有一道题我记得很清楚。学校选了道 [NOIP 2001 提高组] Car 的旅行路线 作为防 ak 题。没错,确实是挺防 ak 的,甚至数据范围都没写,我还得猜这个题的数据范围是多少。
当时我考场上怒码 100+ 行,样例过了,发现时间复杂度大概是 ,就把
MaxN 设置为了 ,结果提交后发现全部答案错误得了 分。赛后我想补个题吧,就先把赛时代码(最后考试结果会有赛时代码)交到洛谷上看看哪里错了。结果您猜怎么着,洛谷全过了,而且洛谷的数据范围只有 。这个时候我才反应过来不是我代码错了,而是他数据错了(真正意义上的防 ak 题)。晚上我就去找程序设计老师去问咋回事,想把这 分加回来(加回来就从 变成 了)。就这么搞了快一周了吧,学校的回复是:
本次校赛中第六题“Car的旅行路线”系统内部测试程序有问题,经与蓝桥杯备赛系统负责人沟通并查看全部试卷,所有同学第六题均未得分,该题目不会影响到校赛排名,请大家放心。
六百六十六,盐都不盐了。你数据都是错的能有人得分吗😅。后面还是一个没过的学长提出了异议,才让学校重新审核了一遍,最后把我这 分加回来了。
最后考了 ,搞了个全校第一,🏀🏆的 块报名费学校报销了。
day -14
本来是今天举办比赛的,结果大风来了,学校听课了,🏀🏆自然也就没搞了。
但有一说一这风哪里大了?还不如平时周末的风大呢😅。
day -6
当天打了北京市程序设计大赛,有幸去小米转了一圈,也算是算法竞赛的恢复训练。比赛前还以为北京市校队前十五很容易拿,结果当做完四道题的时候一看,诶刚好排 ,就差两名,遗憾打铁。
在总榜里面最终排名 ,离拿牌就差两名。只要少吃两发罚时或者早点看出来 T5 的低级错误,就能把北林和北化挤下去,说不定就能拿牌了。哎,后悔死了...
打完了老登带着我们在小米里面转了一圈(没错🐉🧱的 ACM 没有教练,全靠老登带),亲眼见到了 su7ultra,也算是满足了。
后面跟老登聊天的时候才发现今年已经是🐉🧱距离拿牌最近的一次了,明年老登就要毕业了,后面得我自己找队友打 ACM 了。
回学校了晚上还去考了场高数,结果高数也崩了,哈哈...
day 1
头天晚上上完程序设计课就回来和朋友聊 QQ,一聊发现都到凌晨 点了,于是赶紧定了个 点的闹钟睡了。早上 点听到闹钟声音了,心想有点早,转头就定了个 点 的闹钟,就又睡了。还好 点 的闹钟把我叫醒了,赶紧洗漱,在 点 到了考场。 分的时候突然收到两个朋友的消息说他们睡过了,简单和他们聊了两句催他们赶紧来就把手机收了准备考试了。
一开始去系统下题目,一个 多 kb 的题目压缩包愣是下了一分多钟(Windows 真有你的,扫个文件扫了半天),下下来了发现没有默认打开方式,最后问了监考老师才发现可以直接右键菜单有 7-zip 可以解压。
过了两分钟终于打开题了,这个时候监考老师才准备发草稿纸。
T1
观察可得 ,直接用大体积 除以小体积 就是答案了。
用 Windows 自带的计算器算一算就知道是 了。
讲个笑话,我 都算出来了这个时候监考老师才给我发草稿纸...
T2
一眼假设 ,两个等式做个差发现 是个常数,直接找因数就可以了。
后续查的时候发现没有判断 是否为正整数的条件,判断了一下答案就是 。
T3
看了看题,这不就是判断有多少个 满足 嘛。
然后一看数据范围,,你认真的?
个人感觉这个题比 T2 还水...
T4
当时第一反应就是直接找最左边的 和最右边的 消掉,直到消不掉位置。用个双指针就出来了。
后面复查代码的时候把这个东西看成括号序列了,结果写一发发现样例都过不了,这个时候才反应过来不对,重新证明了一下才发现我一开始的思路才是对的。证明如下:
由题意可知最后剩下的一定是一堆 加上一堆 组成的字符串。要想这个字符串最长,也就是要左边的 越长越好,右边的 越长越好很显然每次消最左边的 和最右边的 会使得最左边的 和最右边的 留下来的数量越多。
好久没写过证明的东西了,大家看个乐就好。
T5
这不是个 DFS 板子吗?🏀🏆你逗我玩呢😅。
随便用 DFS 求了个深度,然后判断每个点的深度是否小于等于 。编译一发,样例过了,下一题。
T6
看一眼数据范围,,那应该就是 或者 的算法了。
显然这个东西可以用 KMP 搞(应该吧),但是鉴于我不会 KMP,于是写了个单哈希。
发现子串数量不多,直接用 的 map 存前面的所有子串中长度为 的哈希值及其对应的长度。
写的很快啊,大概五分钟就搓完了,调了十分钟,样例过了,走了。
后面大概 2h 的时候回来把单哈希加强了一下,搞成了双哈希。又随便写了个暴力和数据生成器,手动造了几个 的数据拍了下,发现没问题就继续想 T8 了。
赛后交洛谷的时候,一开始发现 A 了,然后才反应过来我洛谷默认开了 O2,关了之后发现 T 了 个点,应该是 map 的常数太丑了。哎,大概率这题要挂点分。
T7
这个 的限制很有说法啊,如果不输出
OVERFLOW 的话,显然最多只会有 个不为 或 的数乘起来。很容易就想到把好几个连续的相同的数压缩一下,然后随便写个栈就完事了。这个题也没写多久,就是细节有点小多,大概十五分钟就调完走了。
赛后交洛谷的时候发现 WA 了,一看是所有答案为 的我却输出了
CPPOVERFLOW。没花多久时间就构造出下面的数据成功把我卡掉了:4
1 0
1 65536
1 65536
3 3
答案应该是 ,但是我的程序发现前两个数乘起来已经超范围了,就输出了
OVERFLOW,但实际上后面还有个 ,会导致最后乘积式结果为 。这个错误很好卡啊,只要随便在数据中放一个上面构造的 hack 数据轻易就能给我卡成 分。寄咯,哈哈...
目前没想到怎么改这个方法能够处理好这种情况...
T8
讲个笑话,我做到 T8 的时候时间才过去了 分钟的样子。
看一眼 T8 的题面,完全没有任何思路,预估是省选难度的题目。当时就觉得完了,这套题绝对没有什么区分度,要是做不了 T8 我一定完蛋了。
想了半个小时,当时的想法是差分约束。由于我不会处理负边权,干脆就先把所有负边权全扔了,然后又搞了什么拓扑,什么 dijkstra 来判正边环和求最小极差,最后再来讨论加上负边权的情况。写完了随便构造个数据就发现我的想法伪了。
这个时候大概已经 2h 了,回去检查了一遍前面的题,大概 15min,继续回来写 T8 了。
这次看了一眼部分分,,一点写的思路都没有。
又过了大概半个小时,我心想算了不建图了,直接用 的类似 SPFA 的算法跑一遍得了。T 了就 T 了,至少 的部分分我还有嘛。
写完了才发现还有 的限制。那很好了啊,这下时间复杂度不是直接进化成了 ?欸好像能过。
当时考场也想证明这个算法的正确性,鉴于本人实力有限,确实不会证明。这个题就处于一种我感觉他有问题,但我又说不出来哪里有问题;我感觉他没有问题,但我总感觉哪里怪怪的。但是我更多感觉的还是有点问题。
最后与其拿一个明显错误的算法交上去,不如就交这个算了,能骗多少是多少。
赛后重新写了一遍交洛谷,发现 A 了。应该是数据不够强,等后续洛谷加强一轮数据后再看吧...
赛后
最后检查了半个小时的样子,把万能头全部换了,还在
main 函数最后加了 return 0。大概 点 的样子,交卷出去等朋友了。
点等到所有人都出来了,和朋友一起去吃饭去了,吃完了赶着去上下午的基础日语课了。
后记
感觉第二场的题比第一场简单太多了,搞不好一堆 ak 的。看了看知乎确实也有人说省一线搞不好要搞到 去。
哎,希望🏀🏆的数据和 €€£ 一样水,这样我的分数不至于太难看。至于国赛?能进的话就进去玩玩吧,进不去只能明年继续和🐉🧱的同学竞争名额了。我想这个成绩大概率是进不去国赛的吧哈哈...
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...