一行乙個整數表示題意描述中的式子的值。
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,對自己無比自信。你希望用最少的挖掘次...