CCPC-Wannafly-Winter-Camp-Day1
感谢wls,王老师,各位讲师和所有志愿者为本次活动的付出,非常高兴能够参加本次Camp,虽然下午的题做的挺自闭的,(甚至还演了队友一波)。
上午开营仪式,记的最清楚的一件事就是叶神说现在在牛客上打了40场以上送一件牛客卫衣,然后我打了137场,举起手就被叶神无视掉了,呜呜呜……,最为一个中奖绝缘体,牛客卫衣也莫得。
下午比赛,我看了一眼F,感觉是个fft,跟队友说了一下,直接掏出板子开始套,套了几分钟就发现完全不是。。。然后假装不知道自己开错了,开始跟榜开签到,28分钟。1A通过B,然后开始看H,感觉题意不太明确,三个人读了很久题才明白jls想说什么,然后分析了大概一个小时,就开始一顿操作猛如虎,一交WA第一个测试点,后面全是skip。。。然后yp打了个表,分析了一波规律,在原来的基础上修改了一点就2A通过H。接着开F的时候,首先想n个指针同时向右扫,然后觉得肯定超时,换成了二分,还在纸上算了一下复杂度。
Log_2^{2e12} * 1e5 * log_2^{1e5} = 7e7 ,感觉肯定能过,然后就开始了自闭之旅,大概半个小时,敲完了第一个版本,测了一下样例,通过,和dh仔细分析了一下,dh说要判断0的情况。然后我让他去写暴力对拍,我一个人接着分析,然后发现这里需要分为正数、0、负数三种情况考虑,并且有时要向上取整,有时要向下取整,有时要+1,有时不要,然后这个时间我意识到我自己一个人写可能会出很多问题,然后我让dh跟我一起写,但他这个时候还在写暴力,我也没说我遇到的问题,然后我也没强制让他跟我一起写,一个人开启了自闭之旅,在讨论a[i]和最后结果正负的四种情况了,我大概反复分析并且带入数据进行验算了半小时,然后觉得没问题了,交出第一版,然后队友一人一个数据,让我找出了两个***bug,然后随机了10组数据,只有一组一直对不上,然后我和dh开始暴力对拍这组数据,自闭了半小时之后发现,是应该向上取整的式子,我写成了向下取整,改正后,对拍了几组数据都没有问题,1A通过了F。这个时候我们大概在40名的样子,我们意识到需要再过一题才能保持在第一页,于是我们选择了yp最擅长的图论C(当然,也是过的人最多的),仔细分析了一波才发现,这玩意儿是个套这图论壳子的数论。当时的想法是将n分为尽量相等的k份,然后每份之间连边。但。我现场的做法是算每一个点的贡献,然后除以2,然后将那个式子推了两次,推到了两个我不能再化简,也不能在限制时间内算出来的式子。最后半小时,我觉得这个n%k式子有点眼熟,以前应该做过,但就是死活想不起来,今天晚上听了jls讲课才知道。n%k=n-[n/k]*k(向下取整),然后才想起来,在牛客网的算法竞赛进阶指南做过这个题(题目链接:https://ac.nowcoder.com/acm/contest/1022/B ),当时还觉得很不可思议。然后今天演了队友一波,不过话说回来,如果赛时记得这个式子,今天晚上的补题任务似乎完不成呢。