CTSC2006 歌唱王國

2022-02-05 06:36:26 字數 1058 閱讀 2739

是[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 的字串。王國裡生活著一大群咕嚕兵,他們靠不停地歌唱首領 牛人酋長們的名字來獲取力量。咕嚕兵每一次歌唱過程是這樣的 首先,他從整數生成器那兒獲得乙個數字,然後花乙個時間單位將此數字唱出來,如果他發現某個牛人酋長的名字已經被歌唱出來 即此...