Codeforces Round #588 DIV1 B問題/DIV2 E問題 - Kamil and Making a Stream

Source

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

問題概要

省略

解法

省略

cLayversion 20190925-1)のコード

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月20日14時27分57秒
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)

ログイン: