1. 程式人生 > >[A f*cking game]NOIP2017提高組複賽 翻車記

[A f*cking game]NOIP2017提高組複賽 翻車記

第二次提高組

Day 0

八點到酒店,感覺尚可(WIFI差評)
很早就睡了11:30

Day1

不給試機很乾,還不發水更幹還好我早有準備
鍵盤好評,sublime text好評 (不翻車的鋪墊? )

T1 一看,咦好熟悉,套個結論ab-a-b。。 然而不會證? 先拍完再看後面的題?
拍了10分鐘沒什麼毛病就帶著愧疚跳了

T2 第一眼臥槽又叫我寫直譯器 f**k
再看一眼
不對啊
什麼sb模擬
先跳

T3
求不大於最短路長d+k的路徑條數,k<=50
什麼鬼,尷尬
先看部分分
k=0 30%!
有70的n^2!
k=0的直接spfa,保底30穩 (FLAG)
想想正解,好像很簡單!? 先縮環再DAG上DP(昨天才複習了tarjan)

吼開心,看完題以為能AK,此時已經9:20,趕緊上個廁所回來肝第二題

第二題很快就打完了,小樣例調幾次過了,大樣例也一次就過了。 開始check程式碼。。
十點出頭開始肝第三題,仔細想..
不對臥槽! 我怎麼計算當前環中距離!
想了20min,沒有任何進展 : 是不是我肝方向錯了,換個方向想想:
20min後
臥槽還是沒有任何進展,尷尬

算了,想想n^2怎麼做,拿70分認命好了
20min後
臥槽! f**k….

算了拿30分吧,打個spfa
打完
好像發現有10分在尷尬的地方拿不到…
bomb / GG

此時已經11:45了,不敢繼續打剩下十分的dij,趕緊檢查前面的,20分就20分吧

1h中是如何從100掉到20的

最終
估分Day1=100+100+20=220,大眾分中的大眾分
出考場得知t3是拆點縮環dag遞推,真是曹丹
wzd大佬第一題因不知道用什麼輸出打了個高精度! (cincout 喵喵喵)
得知dh T1 %I64d爆炸,這就jianjie了,(然而人家兩天加起來還是400)

中途有個小插曲,就是親愛的左老師進來提醒我們linux下評測long long輸出不同

然後我就發現我T1沒開LL了

五年OI一場空,沒開long long見祖宗
感謝親愛的左老師

下午+晚上=kfc+call of duty+知乎+吃雞

Day2

T1 畫風正常,看完就會系列 flag


T2 神奇的構造高階最小生成樹,只會v相同的40%
仔細一看,n<=12
不是狀壓就是暴搜
狀壓怎樣? fij走起… 連通性dp!? 不會處理狀態!?..
Bomb / GG
算了先跳

T3 資料結構! noip終於開始考棧和佇列之外的資料結構了!
一看暴力分50
x=1不賊好做嗎
80到手
剩下20好像不會
跳跳跳
開始碼

第一題打到一半發現會卡精度,兩邊平方了下
打完看著程式碼發呆忽然發現會爆int (蠢)
趕緊改了
繼續發呆
發現又爆int了
臥槽,一怒之下直接全文ll

先打了T3的50
打完發現有20時間夠空間不夠,曹丹 (真的是蠢)
然後打了splay做剩下30的x=1,兩個開始拍
沒毛病就搞第二題去

第二題狀壓想不到沒辦法,想到昨天100變20的經歷,我還是先打40分
發現40分可以打成一個類似dij貪心的樣子,v相等的時候保證對,v不等的時候貪心可能對
打完,沒啥毛病,打了一個bfs出幾個資料拍了一下v相等的,沒問題。
11:45照例開始check程式碼+檔名

出考場得知T2真的是狀壓,和我的就差定義的一點點就能很方便的處理代價
T3神奇資料結構,那空間不夠的20分因為q=500所以判一下就有mdzz
得知T1會爆long long,fuck (FLAG生效)
估分Day2=80+40+60=180

賽後

兩日總估分100+100+20+80+40+60=400
@Cold_Chair炸100分都有400
看看能fst多少題吧,400分的話一等獎好像有點懸乎…害怕
今年d1t1的確比較坑,學過的秒看出來,推是有點難推,但找規律就秒發現

雖然如此,但noip2017的確是我從
noip2015, (因為爆空間萎掉60分)
gdkoi2016, (莫名其妙萎掉)
gdoi2016(沒得去),
noip2016, (提高組兩天T3不做萎掉)
gdkoi2017, (莫名其妙萎掉)
gdoi2017(沒得去)
以來第一場沒GG / GAME OVER的有紀念意義的比賽吧 (此處應有掌聲)

測完民間資料後

d2t1果然80了
經dh大佬提點發現d2t1打併查集有可能被卡常(沒注意到log=10臥槽),不過民間資料表現良好,估計是並查集卡不到log吧。
d2t3發現有10分的splay陣列沒開夠 mdzz 還好只有10分
d1很穩的220,d2t2洛谷資料prim水到了85 (滿懷希望233)

總結

做的好的地方

時間安排比較妥當,沒有出現一題帶崩比賽的情況。
會有意識的控制思考時間與留出打題時間。

大概瞭解了一下各題部分分方法後覺得好像翻車了?

應該想到卻沒拿到的分

d1t3 50pts,直接按比最短路多多少分層就能過無0邊的點(70%
想過直接spfa,但是棄療了這個想法
大概有兩個原因:
1. 忘記了分層圖這茬。。
2. 沒有注意到只可能越走與最短路的差越大,而不會越小:也就是隻會往上層走
disx+j+wi-disy>=j,因為disx+wi>=disy

d2t2 30pts,暴力列舉O(n!)就有70分,以為暴力分很少..
原因是沒有仔細分析暴力複雜度
思路已經靠到狀壓上了,但就是沒想到是一層層構造轉移

d2t3 20pts,q=500只要讀出500個行全部拉出來處理,再處理一下最後一列就行就行
原因是沒想到???
痛失100pts

fst翻車的分

d2t1 同一道題能翻兩個地方:
1. 沒注意到爆long long 20pts
2. 並查集複雜度可能被卡 ?pts (不過測了幾個資料,並查集好像不是很好卡)
d2t2 陣列沒開夠 10pts
共30pts

需要改進的地方

  1. 思維不夠靈活,有些僵化
  2. 認識比較感性,下意識以為.
  3. 任何做法都要分析複雜度
  4. 做法一定要想細緻了,不要等到開始打了才發現不對勁

最終得分

未測民間資料前估分
100+100+20+80+40+60=400
測完民間資料後估分
100+100+20+100+45+50=415
官方實際得分
100+100+10+100+45+50=405
這裡寫圖片描述