2017 CCPC Final小结 By JSB @ Reconquista

Statistics

  • TYPE: Onsite Contest
  • NAME: 2017 - CCPC - Final
  • PLAT: pc^2
  • TIME: 2017/12/03 09:00-14:00
  • LOCA: Harbin Institute of Technology
  • TEAM: Reconquista [shb,lsmll,jsb]
  • RANK: 3/117 2.56% (*Including Unofficial Teams)
  • SOLVE: 9/11
  • PENALTY: 884
    ◦ A - 11
    ◦ C - 25
    ◦ E - 9
    ◦ F - 111
    ◦ G - 64
    ◦ H - 292
    ◦ I - 224
    ◦ J - 91
    ◦ K - 37 (+1)

Comp

  • 模板*3
  • 整数序列
  • 数学手册

Day -2

  训练了去年的CCPC2016 Final,了解了谷歌“不出满数据”的风格。感觉最蠢的是,(T=100),(N=1000000)无脑上了(O(N log^2 N))的做法……
  做得还行,但强队太多了,最后只有金尾。

Day -1

  早上3点半起来赶飞机,比南宁还累累呢!和sub、yzc学长一道打快车去机场。
  飞机上玩起了室友推荐的“经典游戏”蓝色警戒,被难度3关卡卡了,遂开始睡觉。
  飞机是经停的(╯﹏╰),到了内蒙古赤峰还等了很久,感觉有点不爽呢。
  哈尔滨真的冷冷冷呢,露着手聊了一会手机,手就废了。
  到了宾馆后,大家不费吹灰之力就找到了KFC呢。吃了五个炸鸡块感觉整个人都不好了。
  不知不觉就浪到了饭点,不是很想动,就和lsmll学长步行去哈工大餐厅。每一支队发到了240块的饭卡,感觉怎么花都花不完呢!
  听信lzw学长的话,7点怪怪等着wanna fly比赛开始,发现只有一个野鸡比赛。题目还行,但是有两道题一直是“过了90%的数据“,好烦烦啊!有一道到现在还不知道错因是什么,魔改了一发就过了。
  晚上叫上了南大二队的zyb出去嗨嗨嗨。外面好冷啊,一点都不好玩,搞了半天还是去了KFC。哈哈哈!达成成就在哈尔滨的冬天吃冰激凌!
  有点怀念高中的美好生活!现在满脑子都是区域赛,出线……好难过。

Day 0

  昨晚下雪了,本打算6点起去打雪仗,结果一觉睡到九点QAQ。起来继续刚昨天的蓝色警戒,终于把难度3的都打完了>_<。
  中午继续和yb出去浪,还约上了来参加志愿者的山哥和凯妹。两位东道主请我们到吉野家吃饭,咕咕咕。
  下午就是热身赛啦!看到了萌萌的洲哥呢!
  开场前,我们发现配置gedit快捷编译的板子忘带了QAQ。lsmll学长现场搜了一个,然后我们机智地打印了出来,加到了模板里。(A)看起来要推一推,(B)则是一道矩阵乘法裸题。我和堡堡就先开B,我写之前的框架,他帮我构造好了矩阵,配合还是挺默契的。本来以为是一血,过了后发现鏼鏼发抖队1min前刚过(╯﹏╰)。然后发现A是个推式子题,我取模弄错WA了一发(╯﹏╰)。C题是道分类讨论的三维几何,我们早早地放弃了,装作开始测试各种东西。
  结束后,发现别人(B)题写了(O(N^3 log M))的都TLE了。哈哈哈,原来我的常数那么优秀吗?
  晚上不敢太浪,去蹭了山哥凯妹一顿KFC,然后就回宾馆冷静了。

Day 1

  早上八点在楼下集合,不过过了二十几分钟人才齐了。大家外带了KFC早餐匆匆赶去现场。
  志愿者同学说,看到B题的气球最先挂上,估计是道签到题……然而……
  开场又有点亢奋呢!根据多年找水题的经验(其实只是看哪题题目短),发现(E)是道傻逼题。开始没看清题意,匆匆写了一发过不了样例;冷静了一下改了改,E1y9。期间学长们推出了(A)的傻逼结论,想了想觉得挺有道理,顺手写了一发A1y11。随后学长们讨论(C)的做法并C1y25(事实上看榜感觉这题很容易WA?)。期间我推了推(K)(手动打表),发现了(K)的规律(找到了OEIS的数列),紧接着上去写。写完测了测前10项,都和表一模一样,自信一交。正当我沉浸在一血的自豪中时,忽然返回WA,让我感到后背一凉。还好,仔细一分析发现是n=0忘记特判了(样例有这个数据!我可能没带脑子),改了再交K2y37。竟然还有一血呢!gtm一血气球竟然是两个普通气球绑在一起!然后我感觉(G)是道傻逼前缀min优化的DP,匆匆上去写了一发;堡堡给我造了几个数据后,我发现有一种特殊情况没考虑到。这个时候有点慌张,不过还是冷静地fix了思路,重新写了一个带单调队列的比较麻烦的程序。本来以为一定漏洞百出,自信一交竟然过了,G1y64。之后lsmll学长上机写J的差分约束,我和堡堡讨论(F)题。感觉这个(F)好难难啊,一看就是要类似网络流的结构来帮忙调整出最优解,可是流根本构不出来啊!看看清华两个队都光速过了,我灵机一动想到了单纯形,虽然感觉有点不靠谱(事实上,自从准备了板子后,一直都没用过这个)。这时候lsmll觉得(J)有些点可能不连通会很奇怪,我临时fix了“加一个超级源点”,之后他就稳健地过了,J1y91。因为机位空出来了,我就打算去莽一莽(F);没想到写完就过样例了,怎么测怎么对,自信一交F1y111
  之后有点僵,我们强行中断了思路,开始整理每一道题的题意。(B)题一脸黑科技爆搜,跑了;(D)感觉连(sum L)都不会做,跑了。经讨论,我们决定集中火力攻(H)(I)。这时候貌似卡了很久,因为看上去(H)更可做,但是我们三个聚在一起却想不到一个靠谱的做法。后来,我决定我还是一个人去做(I),他们继续讨论(H)。我脑补了一下,感觉只会暴力维护,就先让堡堡帮我敲了LCT的板子,我在那里思考细节。写的还算顺利,中途让堡堡帮我造数据,大概改了两次后,感觉很稳健了,自信一交!评测评地特别慢(可能是我跑的比较慢?),好在最后还是I1y224了。然后集中火力攻(H)。lsmll学长似乎会做了,就先写起了一些必要的东西,我和堡堡继续讨论。期间说到了Schmidt正交化,我发现现代期中考刚考过的东西我竟然忘了……回忆了好久才大概凑出一个形式差不多的东西QAQ写了一会lsmll学长感觉有点奇怪,遂我们又陷入僵局。在堡堡“以三维平面为基础构造一个四面体”的启发下,我提出了一个点一个点升维的思想,他瞬间秒懂;然后我们一步一步搞出了这个过程,每次添点时,先用高斯消元解出超平面的一个法向量,然后在上面二分来确定具体位置。裸的是(O(N^4))的,先果断让lsmll学长去写。然后我们想到了如何在加入一行的时候不重新消元,这样就能(O(N^3))了,但是挺难写的。临近比赛结束,大家都很紧张,lsmll学长也写得很辛苦。后来我们叁聚在一起调试,好不容易调出样例,并特判了corner case。这时我们随便交了一发,然后我上机去改效率更高的做法。当时感觉5min就要结束了,几乎快要放弃了……忽然,刚才那发提交跳出来AC!H1y292爽啊!我直接双手离开键盘!迅速喝了口水冷静,确认自己没有看错!

Summary

  感觉这场比赛用尽了RP。前期签到十分顺利,抱紧队友大腿!(唯一的罚时还是我提供的233)单纯形被浙江省选坑过,对这个模型还是挺敏感的;I题也比较良心,放我的无脑LCT过了;最后的H题还放过了(O(T*N^4))的暴力……
  哎感觉运气选手过题全靠出题人放水QAQ。不过换个角度说,我们还有很多的提升空间。紧接着就是EC-FINAL了,一起加油吧。

原文地址:https://www.cnblogs.com/jiangshibiao/p/7979352.html