1. 程式人生 > >NOIP2017滾粗記【上】

NOIP2017滾粗記【上】

size noi 初心 自己 驗證 強行 不執行 猜想 所有

Day0:

NOIP前停課訓練的最後一天,上午打了一場三題都見過的比賽,一窩人AK。

下午一群人在機房緩慢氧化,到了晚上因為比賽在我們學校打,所以所有的機房都斷網了(百思不得其解為什麽兩個競賽室也被斷網了,可能是某些人比較懶吧)。

晚上睡自己的宿舍,由於宿管美名其曰立冬故全校宿舍空調拉閘,導致整個宿舍的人到了快1點鐘才睡著。住我們隔壁宿舍的yww提前準備好了排插強行改了電路使他們宿舍空調正常運轉orz。

Day1:

早上起床,一群人去山上的狀元亭敲鐘(好像就我沒有去敲鐘)

比賽開始,密碼:不忘初心。(出題人祝福各位AK的文化方式)

T1:看到樣例的時候我就猜答案是(a-1)*(b-1)-1。於是打了一個50分的暴力去驗證我的猜想,由於暴力打錯導致險些推翻我的猜想。後來發現暴力打錯了,修改完畢後繼續打表,所有手動測試的數據均符合我的猜想,於是就寫了個輸出(a-1)*(b-1)-1的玩意,對拍還沒有出錯!!!!!

T2:大模擬啊,妙啊,但是細節極多啊。舉些例子:

1,F語句不執行但還是要判斷裏面是否有語法錯誤。

2,F語句的n,n,F語句裏面的n,c(c指常數),F語句裏面的c1,c2且c1>c2。

3,輸出No後下面還有很多東西沒有讀入,,或者輸出NO後下面的語句出現語法錯誤。(寫這句話的時候嚇得我去看我場上的代碼去了)

4,在程序讀入的時候有前導E(即前面一個F都沒有)

幸好場上全部想到了.....

感覺也不是很難,大概半個小時就打完了。

打完前兩題,還剩下兩個多小時。

T3:看到K≤50,就想到了分層dijstrla,用f[i][j]表示從起點走到i,花費為從起點到i的最小花費+j的方案數。直接轉移即可。在轉移之前,先判斷是否有零環。打了30+分鐘就打完了,原以為Day1就可以這麽AK了。接著我就被打臉了。

最初我判零環的代碼是錯的(只判斷了有兩條邊的零環),修復該bug後又發現方程的轉移方法出現了偏差。想了很多修復轉移偏差的方法均無效,後來發現是方法錯了,但是時間只剩下不到40分鐘了。

大寫的GG,我開四方了....

開始水T3的部分分,通過對拍發現我的代碼對無零邊的數據居然拍不出錯....難道我這個錯誤的代碼能夠有60分??抱著一顆相信玄學的心,我把這份錯誤的代碼交了上去。。

期望得分:100+100+60=260

出考場後,zjt,yww,myh,yxq等dalao均表示自己將三題的正解全部寫出(全場似乎就只有我這一個蒟蒻沒有寫t3正解的,受到十萬點傷害)

NOIP2017滾粗記【上】