2019年11月02日11時41分23秒に更新されたバージョンを表示しています.
最新のページはこちらをご覧ください.
省略
省略
C++に変換後のコードはこちら
int D, L, R, K;
int getdepth(int n){
int res = 0;
while(n >= (1<<res)){
n -= (1<<res);
res++;
}
return res;
}
{
Modint res;
rd(D,L--,R--,K);
L = getdepth(L);
R = getdepth(R);
sortE(L,R);
res = Modint(2) ** (R-L);
K -= R - L;
if(K < 0 || K % 2) wt(0), return 0;
K /= 2;
if(L < K) wt(0), return 0;
res *= Modint(2) ** (L - K);
res *= Modint(4) ** (K);
if(K) res /= 2;
rep(i,D){
int k = (1<<i);
if(L==i) k--;
if(R==i) k--;
rep(j,k) res *= j+1;
}
wt(res);
}
Current time: 2024年05月20日00時30分31秒
Last modified: 2019年11月02日11時41分23秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る
Logged in as: unknown user (not login)