kaage精進録

雑な解説とかライブラリとかおきもちの垂れ流しです。

2020-05-19から1日間の記事一覧

AGC013-C Ants on a Circle

30秒眺めただけで解けた。全力でイキっていきたい。 問題リンク 問題概要 長さ の円環上に蟻が 匹いて、ある向きを向いている。蟻は向いている向きに一定の速度で進んでいき、他の蟻とぶつかるとそれぞれ向きを変えて進み始める。 秒後にそれぞれの蟻がいる…

BIT上二分探索

書いた class BIT { unsigned int n; std::vector<lint> bit; public: BIT(unsigned int n) :n(n) { bit.resize(n + 1, 0); } void add(int a, lint x) { while (a <= n) { bit[a] += x; a += a & -a; } } lint query(int a) { lint cnt = 0; while (a > 0) { cnt </lint>…

AGC010-C Cleaning

問題リンク 問題概要 木があって、頂点には値が割り振られている。 葉を2つ選んでその間のパスの頂点の値をインクリメントする、という操作を、最初全部値が0の状態から始めてこの状態を構成できるか。 解説 頂点ベースではなく、辺ベースで考えると、ある葉…