2018-07-16から1日間の記事一覧

E. Intercity Travelling | Educational Codeforces #47

int n; cin >> n; vector<mint> pw(n + 1), a(n + 1); pw[0] = 1; rep(i, n) { pw[i + 1] = pw[i] * 2; int x; cin >> x; a[i + 1] = x; } mint re, b; rep(i, n) { b = b * 2 + a[i]; re += (b + a[i + 1])*pw[n - 1 - i]; } cout << re << endl;</mint>

F. Dominant Indices | Educational Codeforces #47

再帰で解く。 とりあえず、d[x]は最大の深さの分まで求めればいい。それ以降は0が続くので。 頂点xのxを除くすべての子孫についてdが計算済みとして、d[x]を計算する。d[x]のすべての子供だけを見ればd[x]が求まる。つまり、すべての子供yについてd[x][i+1] …