省略
省略
C++に変換後のコードはこちら
#define MD 1000000000
int K, N[1d5], B; Arr1d<int> A[1d5];
Modint cur[20], inv[1d5];
{
Modint res = 0;
rd(K);
rep(i,K) rd(N[i], (A[i]--)(N[i]));
rep(i,K) inv[i] = inversion(N[i], A[i].d);
REP(rd_int()){
rd(B--);
res += inv[B];
rep(i,20) rep(j,i) res += cur[i] * A[B].dHist(j);
rep(i,20) cur[i] += A[B].dHist(i);
}
wt(res);
}
Current time: 2024年04月20日05時40分09秒
Last modified: 2020年11月15日16時15分02秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る
Logged in as: unknown user (not login)