BJOI2019 勘破神機

2022-02-04 23:58:49 字數 2740 閱讀 9299

[bjoi2019]勘破神機

推式子好題

m=2,斐波那契數列,$f_$項

不妨$++l,++r$,直接求$f_n$

求$\sum c(f_n,k)$,下降冪轉化成階乘冪,這樣都是多項式了,方便交換求和號

最後面的斐波那契數列用通項公式求。二項式展開。

交換求和號之後,列舉i,j 最後一項是等比數列求和。

n為奇數是0

n是偶數時,令n=n/2 遞推公式:$g_n=4\times g_+g_$

證明:列舉從後往前第乙個完全分出的塊,除了塊長為2的方案額外多乙個外,其它都是兩種。$g_n=g_+2\times \sum_^ g_$

再寫出:$g_=g_+2\times \sum_^ g_$兩式做差移項即可得到。

用特徵方程可以解得$g_n$的通項公式

$\sqrt 5$在mod 998244353下不存在,可以用$a+b\sqrt5$形式表示

注意,等比數列求和:$1+q+....+q^n=\frac}$注意是n+1,因為有n+1項

#include#define reg register int

#define il inline

#define fi first

#define se second

#define mk(a,b) make_pair(a,b)

#define numb (ch^'0')

using

namespace

std;

typedef

long

long

ll;template

il void rd(t &x)

template

il void output(t x)

template

il void ot(t x)

template

il void prt(t a,int st,int nd)

namespace

miracle

int mul(int x,int

y)ll qm(ll x,ll y)

return

ret;

}int inv[1000000+5

];int ni(int

x)struct

po po(

int aa,int

bb) po friend

operator +(po a,po b)

po friend

operator -(po a,po b)

po friend

operator ~(po a)

po friend

operator -(po a)

po friend

operator *(po a,po b)

po friend

operator *(po a,int

c) po friend

operator /(po a,po b)

void

op()

}a,b,x,y,mi[n][4];

po qm(po x,ll y)

return

ret;

}po calc(po q,ll n)

po tmp=q;tmp=qm(tmp,n+1

); tmp=-tmp;tmp.a=ad(tmp.a,1

); q=-q;q.a=ad(q.a,1

);

//q=~q;

return tmp*(~q);

}int

s[n][n],c[n][n];

intmain()

if(m==2

)

else

mi[0][0]=mi[0][1]=mi[0][2]=mi[0][3]=po(1,0

);

for(reg i=1;i<=502;++i)

s[0][0]=1

;

for(reg i=1;i<=502;++i)}c[

0][0]=1

;

for(reg i=1;i<=502;++i)

}ll l,r,k;

while(t--)

if((k-i)&1) tmp=-tmp;

ans=ans+(tmp*s[k][i]);

}for(reg i=1;i<=k;++i) ans=ans*inv[i];

ans=ans*qm((r-l+1)%mod,mod-2

);

printf(

"%d\n

",ans.a);

}else

if((k-i)&1) tmp=-tmp;

ans=ans+(tmp*s[k][i]);

}for(reg i=1;i<=k;++i) ans=ans*inv[i];

ans=ans*qm((r-l+1)%mod,mod-2

);

printf("

%d\n

",ans.a);}}

return0;

}}signed main()

/*author: *miracle*

*/

BJOI2019 光線 遞推

題目鏈結 令 f i 表示光線第一次從第一塊玻璃射出第 i 塊玻璃的比率。令 g i 表示光線射回第 i 塊玻璃,再射出第 i 塊玻璃的比率。容易得到 beginf i f a i f b ig i g i b a i b b ig i a g a i a g b ig i end 對於 2 式,移...

BJOI2019 排兵布陣

今天比賽上這道題好像是人均題呀。好吧,就乙個簡單的,連優化都不需要的揹包dp。我們每次只需要處理在比第i個城堡的第j大的玩家大的情況,不必把所有的兵的情況都處理完。然後就可以 include include include include include include include includ...

BJOI2019 奧術神杖

傳送門 首先w1w2 w3 w nn sqrt n nw1 w2 w3 wn 可以利用對數轉化 l og 2w1w 2w3 wnn 1n l og2w ilog 2 frac sum log 2 w i log2 n w1 w 2 w3 wn n 1 l og2 wi 那麼令ti log2 wi t...