JZOJ 省選模擬 歡迎來到塞萊斯特山

2021-10-03 19:58:03 字數 1546 閱讀 9654

一行乙個整數表示題意描述中的式子的值。

sample input

樣例 1輸入:

31 2

樣例 2輸入:

51 2 3 2

​樣例 3輸入:

91 2 1 2 5 4 7 8

sample output

樣例 1輸出:

10樣例 2輸出:

816樣例 3輸出:

題目要求lca的dep的乘積和,考慮把這個dep攤到lca的每乙個祖先上。

設f[i][j]表示i為根的子樹裡,在下面合併完後,還剩j段的方案數。該狀態段與段之間的順序沒有確

定。f的轉移:

每一次先把子樹的段繼承過來(子樹揹包實現),最後在這個點上合併段,合併段的係數可以預處理乙個g[i][j] 表示i 段合併成j段的方案數,由 g[i]可以遞推出g[i+1]。

#include

#define maxn 505

#define ll long long

#define mo 1000000007

using

namespace std;

int n,fa[maxn]

,sz[maxn]

;int em,e[maxn]

,nx[maxn]

,ls[maxn]

;ll mul[maxn]

[maxn]

,f[maxn]

[maxn]

,g[maxn]

;ll h[maxn]

[maxn]

[maxn]

,s[maxn*2]

;void

ins(

int x,

int y)

void

dfs(

int x,

int dep)

}void

pre()if

(h[i]

[j][k-1]

) s[i-j+n]

+=h[i]

[j][k-1]

;}}}

intmain()

pre();

dfs(1,

1);printf

("%lld"

,f[1][

1]);

}

JZOJ 省選模擬 string

一行乙個整數表示答案。sample input 樣例輸入 3 3sample output 樣例輸出 首先我們忽略重複的字串,定義 n 表示長度為 n 的回文串,或由兩個回文串拼成的字串數量。那麼可以通過列舉第乙個回文串的長度 可以為 0 可以算出f n 但是正如剛才所說,會對如 abaaba 這樣...

JZOJ 省選模擬 Moorio Kart

description 由於目前可供奶牛們使用的約會 並沒有給 farmer john 留下深刻印象,他決定推出乙個基於新匹配演算法的奶牛交友 該演算法可基於公牛和母牛間的共同興趣對公牛和母牛進行匹配。bessie 在尋找情人節 barn dance 的合作夥伴時,決定試用這個 在註冊賬戶之後,fj...

JZOJ 省選模擬 挖寶

description 有乙個挖寶遊戲,它在一棵 n 個點的樹上進行,寶藏埋在某個未知的點 每次挖掘乙個點 u,玩家得到的反饋資訊是乙個數值 d,表示 u 號點到 號點簡單路徑上的邊數。這個遊戲會進行 q 次,每次遊戲藏寶的位置不一定相同。你作為一名優秀的 er,對自己無比自信。你希望用最少的挖掘次...