1. 程式人生 > >NOIP2018崩崩記

NOIP2018崩崩記

比賽前,做做往年的題目,嗯,似乎都很水,400+絕對沒問題。 然而……

Day0

這天是運動會,資訊學的同學們向老師請假來機房。 然後我在機房裡刷往屆的題目,信心倍增。 最後,刷得有點頭昏腦脹了,才去了一下運動會那邊,最後買個麵包匆匆吃掉,上車。 酒店是在廣州市南洲路上的維也納酒店,設施似乎不如之前……

Day1

早早起來,刷牙洗臉。 早餐雖說不如之前的酒店,但也還好。 上車了,結果發現有一個障礙擋住了車的去路,於是我們下車,司機以神車技過去了。 上車,到達廣州六中,別人都已經到了。 匆匆走入考場,看注意事項,看題。 T1水題,就是圍欄翻新,一眼切。 T2想了想,一開始和上一年的Day1T1建立聯絡,後來驚奇發現: 只需要在序列中篩掉那些沒用的數就好了。 什麼數沒用? 後來我發現可以被其它數表示的數就是沒用的數, 資料這麼小,一個完全揹包不就可以做了嗎? T3看見最大和最小放在一起,果斷二分。 一開始發現部分分很好拿,然後我就把直徑、鏈、菊花圖打了出來,然後思考二叉樹。 然後發現一個東西:對於一個節點的兩個兒子,如果兩兩配對超過那個長度,就連在一起,否則,兩個當中選一條最長的延伸上去。 又和菊花圖的情況聯絡在了一起,我驚奇的發現,我好像摸到了正解。 不覺,心跳加速,呼吸急促……(崩崩崩~) 沒有打二叉樹,直接推正解。 最終,沒打出來…… 比賽之後很快發現,其實再套一個二分就行了,先將最多的匹配數求出來,然後二分要將哪一個伸上去,計算最大匹配數,如果不變,就繼續往上找,否則往下找。 距離正解,一步之遙……

下午,去了趟紀念堂,然後去了廣州塔,最終回酒店,在酒店裡去拜訪gjy。

Day2

這次比較早地去到了廣州六中。 然後,8點到了,怎麼還不給進去? 心急火燎。 後來,進去了,你告訴我不能試機? 昨天我們到的時候還看見一堆人在打程式來著…… 然後看題。 瀏覽一遍後,先做T1。 好像很水,似乎和最小生成樹差不多,結果……咦,樣例沒過? 題目看錯了。 心態開始崩…… 樹的情況特別簡單,隨隨便便就打出來了。 然後是環套樹, 嗯,分類討論,1在環上,1不在環上(後來發現和前面的本質一樣),環走完一圈,環在還差一個邊的時候倒著回來…… 並且是邊打邊思考,邊打邊想起這些情況。 2000+了,還沒打完……(心態崩崩崩) 一個半小時了,非常不爽地棄療。 思考T2 一開始推了個偽方法,然後打了出來,WA了。 然後推狀壓DP…… 差不多了,差不多了,差不多了…… 咦?沒時間了!不行,要做第三題! 匆匆打了個暴力,然後跑去看第三題(崩崩崩崩)。 T3暴力很好打,就直接暴力修改嘛! 經典問題嘛,打出來再說! 結果…… 為什麼WA了?為什麼? 調了半天,大樣例沒過…… 比賽結束。 後來發現T3一時心慌將概念混淆了。 明明是相鄰的兩個點中至少要有一個,但我搞成了另一個模型:一個點的周圍至少要有一個。 人家設了f

i,0/1f_{i,0/1},我設了fi,0/1/2f_{i,0/1/2},不一樣…… 而且相對還更難打……

其實T1刪掉一條邊就好了,O(nmO(nm能過 其實T2真的只是一步之遙。 其實T3送的部分分很多……

心態崩了!!!

總結

  1. 在看完一道題後,千萬不要隨意地下結論,而是要靜下心來思考,不要太急躁。
  2. 不要邊打程式邊想,發現自己漏了很多東西,應該先在草稿上仔細思考,磨刀不誤砍柴工。
  3. 見到樣例後一定要手玩一下,不然容易搞錯題意,或者模型混淆。
  4. 看到題目後一定要估一下時間複雜度,不要總是想著最優解。在比賽時,拿分時關鍵。
  5. 最後一點,在比賽的時候心態不能崩嗎,絕對不能!!!

嗚嗚嗚……賽季報銷了……