9-3NOIP模擬賽總結

哎,今天爆炸了,下午改完題才知道自己犯了什麼錯誤,第二題少了一句話掛了70pt,真的不應該,以後每天要想好後再打.

T1

今天的T1是考了一個快速冪+費馬小定理,式子變換一下就變成了aab1 求這個式子的值,觀察數據範圍顯然是要loga+logb 的,thkkk大佬眼殺的水題,蒟蒻想了好久都沒想出來.我們發現把式子右上角的ab1 變換爲k×(p1)+c 帶入原式原式就變爲ak×(p1)+c ,再變一下就是ak×(p1)×ac 根據費馬小定理:a(p1)1(modp) 上面那個式子左邊是1,我們不需要算,我們只需要算出ac ,對於ac 的話,直接用a(b1)mod(p1) 就好了,最後答案就是qpow(a,qpow(a,b-1,mod-1),mod).

T2

第二題是一道水題,要你求連續的一段序列使它和爲奇數,並且要最小,不難想到用前綴和,分爲奇數前綴和,和偶數前綴和,然後用兩個set維護每次找前驅就好了,mmp少了一句話調了一上午,set要記得lower_bound的時候要注意是不是begin()的位置,以後一定注意!

T3

這道題算是今天最難的一道題了,正好戳中了我的弱點:樹型dp,最近要多練練樹p了.
給定一棵樹,求將其分成若干段,每段有且僅有一個被標記結點的方案數。
顯然是個樹p,我們設g[x] 表示.以x爲子樹的時候,他和他的子節點只有一個被標記的方案數,f[x] 跟其定義相反,我們不難發現轉移方程是這樣子的
對於當前節點是被標記的點:
f[x]=0,g[x]=cSONf[c]+g[c]
對於當前節點是未被標記的點:
f[x]=cSONf[c]+g[c],g[x]=cSON(g[c]cSON,cc(f[c]+g[c]))
dfs一遍就好了.

經驗與不足

set記得注意邊界,以後晚上要休息好,不然上午腦袋裏一片漿糊,加油練習樹p,加油.

發佈了95 篇原創文章 · 獲贊 14 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章