1. 程式人生 > >【比賽遊記】NOIP2018遊記

【比賽遊記】NOIP2018遊記

往期回顧:【比賽遊記】NOIP2017遊記

轉眼間又過去了一年,當年還是初中生的我已經搖身一變成為了AHSOFNU的高一學生。

回顧這一年我好像也沒學什麼新東西,要說有用的可能就無旋Treap吧,不知道能不能在NOIP上起到作用。

NOIP2018 rp++

————————————————————————————————————————————————————————

普及組是沒去了,聽說普及很難,我看了看好像也沒啥……

提高D1:

密碼:"[email protected]$Tian!",想起了前些天離開了我們的金庸老先生……

先把三題都看完了,花了大概10min的時間。

T1是原題,NOIP2013積木大賽,兩年前就做過了,應該不會掛。自己抄自己的原題可還行。
用時4min打完了。

T2看了5min,沒發現什麼性質,於是去想T3。

T3一下子就想到是二分答案+樹形DP。
為了保險,先看了部分分,發現分數挺多的。
於是打了m=1:求樹的直徑,我寫了個DP做。
還有ai=bi-1:鏈,直接check。
以及度數<=3:二叉樹,轉移比較簡單。

這時候大約又過去了一個半小時,想了想T3的正解怎麼做,發現有點難寫。

於是返回去做T2,仍然沒思路,寫了個暴力把能被表示的刪掉,發現大樣例過了……
自己證明了一波發現暴力是對的,改了一下程式碼讓它變得好看一些,電腦右下角顯示著10:32。

開始寫T3正解了,證明了一下轉移的時候先選擇最小的匹配最優,然而怎麼寫怎麼掛,拍了拍發現還是有點難寫。
肝了一會兒雙向連結串列終於過了大樣例,感覺很科學。這時是11:00。

後面又花了一會兒把T3改的好看了一點,刪掉幾個沒用的部分分,最後提交了二叉樹的部分分和正解。總共128行……

雖然T3早就想到了用multiset的做法,寫起來很簡單,但是怕set常數太大TLE,只好用排序+雙向連結串列。

賽後交流了一下發現T3有很簡單的壓棧做法,突然覺得自己又傻了。

問題:

初步看來沒什麼問題,默寫了自己的程式碼,洛谷資料都過了。
洛谷T3的#18測試點資料有誤,害我虛了很久,後面發現是能過的。
希望提交的程式碼沒有寫掛的地方吧。

估分:

100 + 100 + ~100 = ~300。前兩題有自信不會掛,T3要是寫掛了可能會炸成 55 / 45 分。

提高Day2:

奶一口有原題。

奶一口密碼是"XiaoShuShenXia"。

RP++;

問題:

希望沒有。

估分:

希望是300。