洛谷 P5326 ZJOI2019 開關

2022-09-11 02:06:10 字數 2064 閱讀 6048

令\(p_i=\dfrac \)

設\(f(x)\)表示在第\(k\)步到達合法狀態的概率的生成函式,因為只關心第一次到達合法狀態的情況,所以設\(g(x)\)表示走\(k\)步後回到原來的狀態的概率,\(h(x)\)表示第\(k\)步第一次走到合法狀態的概率,則有\(f(x)=g(x)h(x) \to h(x)=\dfrac\) .設\(h(x)=\sum a_k x^k\),則我們要求就是

\[\sum ka_k=h'(1)=\dfrac

\]考慮如何求\(f(x)\).到達合法狀態的條件為選擇開關\(i\)的次數與\(s_i\)相等.則有

\[f_i(x)=\dfrac+(-1)^e^}2

\]發現\(f(x)\)是ogf,\(f_i(x)\)為egf,為了相互轉化,將\(\prod f_i(x)\)表示為\(\sum c_k(e^x)^k\)的形式,其中\(c_k\)可以用揹包在\(o(n\sum p)\)的時間求得,最後得到

\[\begin

f(x)&=\sum_k ([x^k]k!\sum_i c_i(e^x)^i)x^k \\

&=\sum_k(k!\sum_i c_i [x^k](e^x)^i)x^k \\

&=\sum_k(k!\sum_ic_i\dfrac)x^k \\

&=\sum_k (\sum_i c_ii^k)x^k \\

&=\sum_ic_i\sum_i^kx^k \\

&=\sum_i\dfrac

\end

\]\(g(x)\)的處理類似,最後得到

\[g(x)=\sum_i\dfrac

\]但是發現當\(i=1\)時會有\(1-x\)這一項,所以不能直接將\(x=1\)帶入,考慮分子分母同乘\((1-x)\),得到新的\(f(x),g(x)\)

\[f(x)=\sum_i\dfrac=c_1+\sum_\dfrac

\]所以此時\(f(1)=c_1\)

\[f'(x)=\sum_\dfrac \\

f'(1)=\sum_\dfrac=\sum_\dfrac

\]\(g(1),g'(1)\)也類似計算,即可得到答案.

#include #include #include #define debug(...) fprintf(stderr,__va_args__)

#define inver(a) power(a,mod-2)

using namespace std;

inline char gc()

templatevoid rd(t &x)

while(ch>='0'&&ch<='9')

x*=f;

}typedef long long ll;

const int mod=998244353,r2=(mod+1)>>1;

const int maxn=100+5,maxp=1e5+50;

int n,p,s[maxn],p[maxn];

int c[2][maxp],d[2][maxp];

inline int sub(int x)

ll power(ll x,ll y)

return re;

}inline int sqr(int x)

inline void upd(int *a,int *b,int v,int w)

}int main()

int an=0,c1=c[cur][p<<1],d1=d[cur][p<<1],t=inver(p);

for(int i=-p;i

an=(ll)an*sqr(inver(d1))%mod;

printf("%d\n",an);

return 0;

}

洛谷 P5280 ZJOI2019 線段樹

考慮一次修改中,每個節點的狀態 sooke的圖 dfs中經過的點 白 dfs的終點 黑 白色的點的非黑白兒子 橙 黑節點子樹中的點 灰 橙節點子樹中的點 黃 設 f i,u 表示第 i 次修改後 u 節點在多少個線段樹中的tag 1 首先對於所有點,在沒有被修改的線段樹中tag資訊不會變化,接下來只...

洛谷 P2607 ZJOI2008 騎士

給出一幅有n個點,n條邊的無向未必聯通圖,每乙個點有乙個權並與另外乙個點相連,對其中一些點進行染色,且相鄰兩點的顏色不能都染,則最大的染色點權值和是多少.這題和 洛谷p1453城市環路 很像,區別就在於它不是連通圖.因而可以先用並查集和vector進行分塊,易證每一塊都是比樹多一條邊的連通圖,每一塊...

洛谷P2610 ZJOI2012 旅遊

到了難得的暑假,為了慶祝小白在數學考試中取得的優異成績,小藍決定帶小白出去旅遊 經過一番抉擇,兩人決定將t國作為他們的目的地。t國的國土可以用乙個凸n邊形來表示,n個頂點表示n個入境 出境口。t國包含n 2個城市,每個城市都是頂點均為n邊形頂點的三角形 換而言之,b 城市組成了關於t國的乙個三角剖分...