kwm_t

kwm_tのメモ

ABC199

■A - Square Inequality
if ((a * a + b * b) < c * c)

■B - Intersection
max(0, minB - maxA + 1)

■C - IPFL
・遅い
string tmp = s0;
s0 = s1;
s1 = tmp;

・早い
s0.swap(s1);

■D - RGB Coloring 2
難しくないですか?これ。
未使用の点からdfsをし、連結グラフごとの訪問順番を決める
決めた順番に条件を満たすように頂点色を決めていく。
dfsと別に再帰関数用意しないとダメなんですね。

■E - Permutation
bitDP
立ってないbitを立てても条件を満たすなら遷移
立っているbitの数 = 処理した文字数になる

■F - Graph Smoothing
Dよりよっぽど簡単
サンプル1で考えると
3 = ((3 + 1)/2 + (3 + 5)/2)/2
3/2 = ((1 + 1)/2 + (3 + 1)/2)/2
9/2 = ((5 + 3)/2 + (5 + 5)/2)/2

1,3,5についている係数部分は入力で受け取ったものと関連しているので
行列が生えるので繰り返し二乗法

Dが難しかった。