1. 程式人生 > >2017 CCPC Final小結 By JSB @ Reconquista

2017 CCPC Final小結 By JSB @ Reconquista

不出 打表 美好 ffi 普通 分析 oca 沒有 case

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%的數據“,好煩煩啊!有一道到現在還不知道錯因是什麽,魔改了一發就過了。
  晚上叫上了南大二隊的小夥伴出去嗨嗨嗨。外面好冷啊,一點都不好玩,搞了半天還是去了KFC。哈哈哈!達成成就在哈爾濱的冬天吃冰激淩!有點懷念高中的美好生活!現在滿腦子都是區域賽規則,出線……好難過。

Day 0

  施工中。看到了萌萌的洲哥呢!

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,堡堡和lsmll學長大概在討論已經有人過的H。沒想到寫完就過樣例了,怎麽測怎麽對,自信一交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!爽啊!我直接雙手離開鍵盤!迅速喝了口水冷靜,確認自己沒有看錯!

Summary

施工中

2017 CCPC Final小結 By JSB @ Reconquista