1. 程式人生 > 其它 >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

    果然不寫程式碼不行啊,發現自己不知道怎麼寫出現奇數次的字元的個數?