抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

CCPC 2018 桂林站。

(别问我是怎么 py 到名额的我也不知道)

Oct 27th

4:20 起床,前往机场。京东航空的航班,A320,进近的时候一直以为上 base/final 了,结果还在 downwind。。。不带航图出门的后果。。。(现在安检查得好严呀。。。)

前往酒店,办理手续的时候被某队认出 xj 校服。。。感觉。。。

然后去学校,吃中饭,开幕式(大家讲话好简短,十几分钟就搞完了。。。)。

然后是试机赛。我们的号成功被咕掉了(之后送了个 sorry_dreamoon199),然后 D 题上来先写了个贪心,然后题意修正,发现贪心有点问题,遂换网络流,还 WA 了两发。

然后 A 题讨论了好久,然后发现只需要把 a×baba \times b - a - b (NOIP 2017 D1T1)以内的合法解 BFS 出来。

C 题想错好几发。B 题 python 解释器不想动。然后爆了几发 OJ,测了一下速度就走了。


回酒店发现送了一张高尔夫体验券,于是晚上就被拉去体验了一波。发现根本不会打。。。

(酒店的环境好好呀。。。)

然后写了一波出题记录。晚上睡得有点晚,为明天埋下伏笔。

Oct 28th

进场之后,问志愿者能不能动电脑,居然得到了肯定的回答,开电脑一看,连昨天打得配置文件都没删,美滋滋。

拿到题目,我从 F 开始,连跳两题,看到好像可以做的 H。

三个人都想抢键盘,结果他们两个人假掉了,我先上。

我边写边改算法,发现某鸽子队已经过 H 了。

写完交一发,WA,感觉情况不对,把代码打印下来,让 app 先写。

然后发现我有个细节想错了,改了一发,AC(26:59)。app 写 G,我开始随机挑题。

听说 D 题可以做,结果越想意识越模糊,结果发现题目(大家一起)看错了。app 已经过了 G(37:46,也有一发罚时)。我于是就顺着(我们一直在想的)一个(假)方向开始写,WA,眼查了半天发现没有写挂,结果手造样例发现算法假了,然后就发现我们想复杂了,其实只是一道思博题,然后改完算法 AC(1:16:57)。

app 想完 J 一发 AC(1:23:03),app 果然是博弈题大神 orz。

(当时我们因为罚时爆炸排在很下面)

接着我们就对着唯一有 AC 的 A 开始自闭(再次越想意识越模糊),zozo 突然跟我说 L 题计算几何好像可以做。其实我内心是拒绝的,计算几何这种东西,一场深陷其中都是有可能的。。。(结果 flag 是 A 题变成这样的题),结果 A 题越想越自闭,而且电脑还空着,结果我就硬着头皮开始敲计算几何板子(然后发现已经有人抢了一血)。

然后发现有一堆特判,一个个讨论过来,幸好有人在旁边看着,否则还要挂更多次。写了很久调了很久终于过了样例,一交 WA。让 app 来造数据 hack,发现有几个边界判错,又少了一种 case。然后我去了趟厕所冷静了一下,回来 app 说 hack 不掉了,交!AC,我长吁一口气,一看罚时,2:33:33!

(终于在 rank 榜上往前走了一点)

然后又回去自闭 A 了。鸽子队过了 B,C,看了一下,发现 C 题不太懂。然后 B 推了一发,发现贡献数组就是一个多项式快速幂。但是我没有多项式板子,于是让 app 去写。我把一些细节推了一下,回去想 A 了。过了一会,app 把板子(我怀疑 B 题卡常,于是直接写 ln + exp)敲好了。结果一测,爆了。于是我们就开始(滑稽地)把板子放到电脑屏幕上对着看,把敲错的地方都给查出来了。提交 AC(3:43:10)。

即将封榜,我们又回去自闭 A 题。app 和 zozo 猜了一些结论,写了一些乱搞,结果连随机数据都过不去。最后交了 4 发乱搞,权且算做过此题了。

最后一小时,旁边的队伍 A 题时总是会发出惊叫,我们甚至都能听到他们讨论题目,也能听到他们在搞 B、L 题,听到一个队知道是多项式快速幂但是由于时间不够没有 A 掉。我们也在很远的地方看到一群志愿者围在鸽子队旁边,因为他们的气球放不下了(10 题 + 6 题 FB)。


比赛结束后,我们没看滚榜就去机场了,当时我们感觉底下的人有可能会翻上来,结果前面的人全都 7 题了(鸽子队 10 题),我们变成了 6 题 rk1(话说我们前场罚时不是很大吗?)。。。还是算上 unofficial 的 rk5。。。

听 app 说他们的乱搞(似乎)很接近正解?


MF 的航班回杭州,自然是 737,进近再次蒙圈(这次意识到从 24/25 进场,结果看错航站楼布局了)

转了好几趟车(好像也就两趟)回到 XJ(以为 9 点就能到,结果 9:40 才到)。感受到在晚上 9 点还要挤公交车的痛苦。。。

总结(以及随想)

这次比赛感觉总体难度还是有一点的,相比我们之前训练的题目是前 6 到 7 题都要排队写代码,这一次前场的东西并不是那么容易,也很容易写挂。

总体来说的话,前场的发挥并不是那么理想。从客观角度来说,键盘不是特别好用是一个原因(ShiftCtrl 极其不灵)。从主观角度来说,和当天的状态也有一定关系,前场感觉十分困,可能还是跟旅途较为劳累加上休息不足有关。另外,从技术层面来说,对算法细节的把握也做得不太到位,也容易产生思维僵化。这些因素在 OI 赛制的比赛中尤为致命。

中场整体来说打得还行,两道题目虽然一波三折,也总算是写出来了,罚时也不大,给冲 rk 榜提供了很好的条件。

后场显得发力不够,最后集中精力在搞 A 题,但是依然没有搞出来,感觉自己在后场的 contribution 不是很大,正解没有思路,乱搞也只能提供一点建议,最后也只能自闭。

(zozo 开场看 A 题,到最后也没有搞出来,至始至终只糊了 L 题的主算法,感觉好惨惨。。。)


感觉桂林的地形(喀斯特地貌)十分神仙,城市就像是被一个个小山丘包围一样。。。


以下为我参与 A 的题的题解:

H 逐位确定,枚举时判断用后面的位置能否构造出合法解,注意两个串相同的位置不产生贡献。

D 发现奇数位只会在奇数位移动,偶数位只会在偶数位移动,然后分奇偶贪心匹配。

I 首先发现样例中的 trival 情况,然后判掉平行,相交/非规范相交,一条线段延长线和另一条线段相交等情况(inf/0

B 发现之后的位置对某一位的贡献数组是 (x0+x1++xL1)mmodxn(x^0 + x^1 + \ldots + x^{L - 1})^m \bmod x^n 然后和 A 数组做一下卷积即可。