2023.5.21威海市赛游记

第一次和队友在线下打比赛,感想颇多也积累了不少比赛经验,遂写下一篇文章一一记录下来。


Day -1
比赛前一天晚上听说可以带纸质资料,于是去CSDN找了一份看起来不错的板子打印了出来。
队里通知第二天早8:15集合,因为第一次打线下赛 ,心里很是激动,于是早早上床准备养精蓄锐(然并卵,在床上躺着胡思乱想了两小时才睡着)

启程
早上起床是在七点四十。收拾了比赛要用的东西之后去食堂草草吃了点早饭,然后便去校门口和队友集合了。之前和队友交流都是在线上,今天第一次见到队友有股群友面基的感觉www

九点钟到了工大的比赛场地,签到完费了好大劲才找到我们队的桌子(这里要吐槽一下主办方排的顺序,居然不是按照编号来排的,现场也没有什么指示,几乎找遍了整个房间才找到位置)

热身赛

开机之后配好了电脑上的CodeBlocks编译环境,然后惊讶地发现电脑给装了Python(虽然比赛时也没有用到)
热身赛的A题是A+B Problem,我们很快就过了
B题是一道多次询问判断质数和闰年的板子题,花几分钟写了 O ( q n ) O(q\sqrt{n}) O(qn ) 的解法交了一发结果T掉了,对着数据范围一看意识到判断质数的部分被卡常了,于是换成 O ( q n 6 ) O (\dfrac{q\sqrt{n}}{6}) O(6qn ) 的板子A掉了
热身赛的C题是一道高斯消元的半板子题,不过懒得写了www

正式赛
上午十点,正式赛开赛。
学长花十几秒钟发现D题是签到题然后很快便A掉了(我以为题目难度是随题号上升的还在傻傻地看A题233)
过了签到以后发现已经有队伍开E题了,于是学长开始研究E,我在一边想B题的思路。
E题的程序出了点bug,直到60min左右才A掉(同时因为没有经验交了五发WA被罚时100min)
交过E之后全队开始一起去想B题,看了遍题之后发现似乎是NOIP的一道原题,不过过了两三年我们三个人都已经不记得做法了,想了大概1h左右发现只是个简单的遍历统计题,学长花十几分钟写了程序以后一发通过。
学长打E题期间我发现I题是道签到,于是在交过E题之后马上接过电脑把I题写了写过掉。
过掉E题的时候比赛过了两个小时,我们队伍过了4题,排名在铜尾边缘(主要被E题坑了不少罚时)
然后开始做H题,发现是数字三角形的升级版,写了个DP之后测样例,发现有问题。重新看了题目发现自己漏掉了一个重要条件,于是开始苦思冥想新的做法。这时候学长过来说这不就是个dfs吗,抢过键盘花十几分钟写完程序并测过几组手搓数据信心满满地交上去,结果几秒钟之后它T掉了(我们的心理活动:??1e6的复杂度是怎么T掉的,这分明不科学)。本地测了一组极限数据跑了时限的3倍,检查代码发现是比大小用的std::multiset被卡常了,去掉multiset之后运行时间降到原来的5%(第一次发现O2下的STL能慢成这个样子)。抱着终于改完这道题了的想法又交了一发,于是喜闻乐见地它又T了(我们的心理:???本地数据可是跑了0.1s,这已经完全没有超时的可能性了吧)。把每个 a n a_n an 换成随机数据发现运行时间暴涨至1.3s(第一次听说两个整数相加的运算速度居然和数字大小关系这么大)。本着随便改改的心态关掉了ios::sync_with_stdio的流同步,然后运行时间戏剧性地降到了0.5s,于是我们在第七次提交的时候过掉了H题。
桌子插上第五个气球的时候比赛只剩下100min了,而E和H题十几次提交的罚时已经把我们队伍推出了铜牌线,这意味着如果不能在这一小时四十分钟内写出来其他题就无缘奖牌了。
这时学长决定开始写H题的线段树,我和另一位萌新去想A题的排列组合。
A题看起来很简单,不过推了半小时公式之后很快就被各种复杂的情况绕进去了(考后看题解发现这道题实际上并不算难,不过当时脑子一团乱麻也没想出来解法)
无奈之下先暂时放弃组合数学,去和学长一起搞线段树。这道题思路还是比较显然的,和普通的线段树比较像,每个节点存储一个区间的结果、以及一个lazytag,每次操作都可以以 O ( log ⁡ n ) O(\log{n}) O(logn) 的复杂度来更新树节点。不过相比一般的线段树要难实现地多,我们写完130行的程序发现没过样例时只剩下半小时的debug时间了,三个人一起焦头烂额地找出来了好几个bug,但直到最后也没有把正确的程序调出来。
比赛结束之后对比封榜之前的排名发现队伍无缘奖牌,于是就在颁奖仪式前润掉回学校了。

赛后总结
这是第一次和队友参加线下团队赛,比赛期间也有不少失误(比如没有对拍本地大样例就草草交题结果T了六七次,以及在一开始就看出签到题)。不过整体上还是很开心的,哈工大的两个汉堡很好吃,现场的工作人员也很友善。可惜的是没有拿到奖牌,以及没有看到最后的滚榜环节。接下来一段时间就先勤加练习吧,希望能在下个月的省赛里面拿到一块奖牌。

EOF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值