2017-12-01から1ヶ月間の記事一覧

Codeforces Round #455 (Div. 2)

http://codeforces.com/contest/909/problem/E全体的に問題文の把握に手間がかかっていますね…A はい。 B 親の顔より見た問題。一番重なっているところを累積和で求めます。 C 勘違いした… D 削除は奈良市計算量チャンスです。 E 問題を理解するのに無限に時…

ARC068

https://beta.atcoder.jp/contests/arc068C はい。D 結局2枚捨てるという操作なので。E 解法2つあります。dの倍数のdを小さくすると、r - l 区間、つまりl区間の数は増えていきます。 これを利用する方法が1つです。もうひとつは区間(l,r)を二次元plotすると…

ARC088

https://beta.atcoder.jp/contests/arc088C A*2^nD 結構詰まった人もいるっぽい。端は好き勝手変えられるので真ん中だけ考えればいいです。AtCoder Regular Contest 080F: Prime Flip - omochan's diaryのように区間→2点更新の問題に言い換えられますが、今…

ARC067

C はい。 D min(B, A * dist)で移動すればいいです。 E 普通にdpするとO(N^3)と見せかけてO(N^2logN)なので間に合います。速く書けてよかった。 void solve() { cin >> N >> A >> B >> C >> D; C_init(N + 50); dp[A][N] = 1; for(int i = A; i <= B; i++) {…

ARC083

https://arc083.contest.atcoder.jp/C 全通り試しましょうD とりあえず全部辺を張ってみて矛盾がないかワーシャルフロイド確かめましょう。矛盾があったら-1を返します。 もし矛盾がなかったら、頂点u,v,kについてdist(u,v)=dist(u,k)+dist(k,v)となっている…

ARC087

https://arc087.contest.atcoder.jp/C はい。 D XY独立にできます。 E 本質っぽいgrundyのところまではわかったけどtrie木で敗北しました。 まずstringを2分木に対応させます。そうするといろいろな高さの2分木から頂点を取るゲームになります。 高さがdの2…

Codeforces Round #450(Div. 2)

http://codeforces.com/contest/900A はい。 B 解けなかったです。(絶望) でもこれまあまあ難しい気がするんだけどどうなんだろう。a*10^k/bの1の位を求めたいとします。以下の文字(a,b,c,d,e,f)はすべて整数です。a*10^k/b=e+d/b(d a*10^(k+1)/b=10*e+d*10/…

ARC086

https://arc086.contest.atcoder.jp/C ノーコメントD 符号を全部揃えれば簡単です。E(部分点) 木dpしただけ。満点解法はマージテクらしいです。 int N; int P[MAX_N]; vector<int> G[MAX_N]; int dep[MAX_N]; ll dp[2010][2010][2]; void loop(int v, int d) { d</int>…

マージテクUF

todoリストに載っていたので。 struct mergeUF { //O(logn^2) int n; vector<set<int>> g; vector<int> gat; void init(int mx) { n = mx; g.resize(n); gat.resize(n); rep(i, 0, n) { g[i].insert(i); gat[i] = i; } } mergeUF(int mx = 0) { init(mx); } void unite(int</int></set<int>…

COLOCON -Colopl programming contest 2018

https://colopl2018-qual.contest.atcoder.jp/久しぶりの投稿です。いろいろ忙しかった。 やっぱりコンテストだと結構焦ってまともに考えられないなぁ。C 偶数は一緒に使えないので、すべて奇数or奇数+偶数1つという組み合わせしかありません。 あと、35以上…