2017sc膜你賽4比賽筆記
可能是因為T2很簡單,T1、T3難到所有人都只打了暴力(好吧T3也不算很難,只不過我太菜),所以區分度很小。總而言之,這次感覺還不錯,起碼該拿的分都拿到了。但是,也感到被題目虐哭的深深無力感……
終於有個好看一點的rank3了orz……
T1勾股數。考試時我的做法就是暴力。先做個預處理,將平方數標記一下。然後枚舉一個a,嵌套枚舉一個b, 檢查是否存在a^2+b^2這個平方數。由於數比較大,直接標記會爆,我還用上了哈希,所幸沒打錯……
考試時想過降維,但是死活不知去掉一重for,如何選擇?想過預處理,先將無用的c給去掉,畢竟自己的平方等於兩數平方和的數是很少的。然並卵,還是兩重for循環。
於是,到了最後,只拿到了暴力的40分。我盡力了。
T2賽馬。覺得T1、T3實在是生無可戀,於是試試這題。自己出幾組小數據,手動分析了一下,發現其實並不難。第一次交,0分?我又想了一遍,確定沒錯,感到懷疑人生。於是將代碼從頭到尾看了一遍。等等,sizeof? 其實是沒加cstring庫的問題,導致CE。再交,看到了10分。
(其實,這種錯誤也不是第一次犯了。沒加庫,沒用printf這些低級錯誤,犯了不值。以後寫代碼模板時,就要養成這樣的習慣,不應該在錯了之後再改。真正的OI比賽,沒有改的機會!)
當時寫了之後不放心,還反復驗證了幾遍,改了點細節。事實證明細心為上是正確的,我被粗心坑過太多次了。雖說題目很水,但還是有好幾個70的,我能夠AC倍感欣慰。
T3數謎。如果沒有m的限制,用組合數學很輕易就能求得總方案數。但問題是,m的限制這個問題非常的棘手。我當時想,假如想要判斷是否合法,就要知道具體的數值,這樣的時間復雜度就是n!(n為位數),顯然只有40分。
能不能邊走邊判斷,剪枝?似乎不行。能不能用轉化思想,總方案數減去非m的倍數的方案數?這個也需要知道具體數值,好像也不行。能不能DP?可惜我不知道狀態該怎麽記。
於是T3卒。考試之後,老師說正解是DP,讓我們想想狀態怎麽記。果然,又是DP太菜的問題。我在DP深海中會砥礪前行,相信總有一天能夠看到勝利的曙光~
2017sc膜你賽4比賽筆記