全体 $233$ 位かつ日本 $166$ 位なので予選通過はしましたが、冷えです

A - Sum of Two Integers

はい。$\Theta(1)$。しかしなんだか不安だったので愚直 $\Theta(N)$ を書いた。

B - Counting of Trees

ありがち。$\Theta(N)$ です。$D_1 \ne 0$ とか $D_2 = 0$ がコーナーになりそう。

C - Swaps

分からない。しかしなぜか AC はできてしまった

D - Shortest Path on a Line

これはかんたん。辺の張り方から、いつでも頂点を $i + 1 \to i$ と後戻りしてよいことが分かる。 すると $L_i \to R_i$ というコスト $C_i$ の辺を $1$ 本張るだけで十分になり、Dijkstra 法などで $O((N + M) \log N)$ で解ける。

メモ

セグ木とかでも解けるぽい:

E - Non-triangular Triplets

分からない。$c = (K + 2N, K + 2N + 1, \dots, K + 3N - 1)$ としてよくて、このことから \sum c - \sum a - \sum b = N^2 - NK - \frac{N(N - 1)}{2}$ であり $\sum a + \sum b \le \sum c \iff 2K \le N + 1$ が言える。この必要条件はおそらく十分条件なのですが……

リンク