是[sdoi2017]硬幣遊戲的弱化版
但是也不完全一樣
按照硬幣遊戲的題,$f(x)=\sum a_i x^i$來刻畫第i位結尾的概率生成函式
然後$g(x)$表示以i結尾,前面的隨便選。$p(x)$表示字首字尾的匹配
$f=g-f*(g+p)$然後g變成形式冪級數,分母乘過去,求導。
但是,這個題是**期望**而不是**概率**,
$f(x)=\sum a_i ×i× x^i$把$(1/|\sigma|)$帶入才是答案
i怎麼出來呢?
求導!再集體乘上x!
也就是說,我們求的答案其實是:$(1/|\sigma|)f'(1/|\sigma|)$
對於剛才$f=g-f*(g+p)$求導之後,把$f'$移項過去,然後對著湊就可以了。
注意,雖然mod 1e4,但是n*n還是爆int的
**:
#include#define reg register int#define il inline
#define numb (ch^'0')
#define int long long
using
namespace
std;
typedef
long
long
ll;il
void rd(int &x)
namespace
miracle
return
ret;
}int
kmp()
int ret=0
;
int st=m;
while
(nxt[st])
return
ret;
}int
main()
return0;
}}signed main()
/*author: *miracle*
date: 2019/2/23 18:09:25
*/
求導得到i這一步值得積累。
求導不光能降次,還能把指數扔下來,也許還很有用!
CTSC2006 歌唱王國
補了一下概率生成函式。寫的公式可能不規範請不要介意。給出某個字串 s 你手中有個字串 t 一開始為空。每次隨機往 t 後加乙個字元,問 s 成為 t 的子串的期望次數。字符集大小為 c 正解是一條式子。可以做到 o n 介紹下概率生成函式 f x sum i p i x i p i 表示某個要求的變...
CTSC2006 歌唱王國 生成函式
bzoj1152 需要先來一手概率生成函式。定義概率生成函式 f x sum p y i x i 其中 p y i 表示 y 這個變數取 i 的概率,容易發現 f 1 1 對該概率生成函式求導 f x sum p y i i x 那麼可以發現 f 1 即是 y 的期望 接下來開始解決這道題。設 f ...
LG P4548 CTSC2006 歌唱王國
在歌唱王國,所有人的名字都是乙個非空的僅包含整數 1 sim n 的字串。王國裡生活著一大群咕嚕兵,他們靠不停地歌唱首領 牛人酋長們的名字來獲取力量。咕嚕兵每一次歌唱過程是這樣的 首先,他從整數生成器那兒獲得乙個數字,然後花乙個時間單位將此數字唱出來,如果他發現某個牛人酋長的名字已經被歌唱出來 即此...