Codeforces Round #580 DIV1 B問題 (1000pt)
Codeforces Round #580 DIV2 E問題 (2500pt)
Dasha Code Championship - SPb Finals Round C問題 (1000pt)
Dasha Code Championship - Novosibirsk Finals Round G問題 (2750pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N; ll X[1d5]; int A[1d5], B[1d5];
graph g;
mint res;
void solve(int n, int b, map<ll,int> &m){
int i, j;
ll t;
map<ll,int> sm;
map<ll,int>::iterator it;
res += X[n];
sm[X[n]]++;
for(it=m.begin();it!=m.end();it++){
t = gcd(X[n], it->first);
res += mint(t) * it->second;
sm[t] += it->second;
}
rep(i,g.es[n]){
j = g.edge[n][i];
if(j==b) continue;
solve(j, n, sm);
}
}
{
map<ll,int> m;
rd(N,X(N),(A--,B--)(N-1));
g.setEdge(N,N-1,A,B);
solve(0, -1, m);
wt(res);
}
Current time: 2024年04月26日07時28分26秒
Last modified: 2019年09月26日01時31分47秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF588 CF_Div1_B CF_Div2_E
トップページに戻る
Logged in as: unknown user (not login)