2021.10.25
阿新 • • 發佈:2021-10-25
今天學習2020noip
中午十二點上樓學習了,發現noip2020的排水系統和noip2003的神經網路幾乎一致,覺得可做,於是開始做
本題需要:鏈式前向星,分數加減乘除,高精度,拓撲。
2003題需要:鏈式前向星,拓撲。
轉眼間已經17:18了
排水系統在我的不懈努力之下獲得了60分,注意lld,寫程式碼千萬不要筆誤啊,在分數除法的函式裡面f1,f2寫混了,導致我dbug耗費了至少1h,剩下40分被卡的原因是需要高精度,建議自己養成一個只寫long long 不寫int,在資料範圍不確定的情況下有時間就寫高精度的習慣。
本體收穫:複習了拓撲及對拓撲的理解更深刻了。學習瞭如何寫分數加減乘除。
由於寫這道題的目的不是複習高精度,所以為了效率,開始寫下一道題。
noip2020字串匹配
看到題時第一思路:
將AB看作一個整體,列舉AB與C的分隔點。
記錄c出現奇數次的字元個數,求AB字串的自身前後綴相等的情況,再在每種情況內分割AB,當A中出現奇數次的字元的個數不超過C中的,記錄為一種方案。
保守估計的話複雜度Tn^4,勉強可過24分。
需要的知識點:kmp。
哦哦,發現他有特殊資料
特殊資料1:
和暴力思路大體一致,省去了kmp,即不需要對於S的重複子串進行計算,n^2可過,總分+8.
特殊資料二沒想出來啊。
理論存在,暴力開始(樂)
一些常識:
2^15==32768
` 2^16==65536
2^20==1048576
果然不寫程式碼不行啊,發現自己不知道怎麼寫出現奇數次的字元的個數?