A. 2023
追加方法は x, 1, 1, 1, … でよいです.
B. Two Divisors
単に two largest divisors といって
小さい約数に対して
C. Training Before the Olympiad
入力は 0, 1 としてよいです.何らかの値を
sum を減らす行為は偶数と奇数で操作することだけです.後手番には常に偶数があるので,奇数の個数に注目すると,おおよそ奇数の個数の
D. Mathematical Problem
1690000
1060900
1006009
9610000
9060100
9006001
とするとひとつ足りないので 1960000 も入れて完成.
E. Happy Life in University
ほぼ基本的な木DPのような形です.種類数をどう扱うかだけ要検討という感じです.
種類ごとに代表元ひとつだけが数えられるようにします.具体的に最も根に近いものだけを数えることにします.
すると,
F. Group Division
関節点が存在しないという(制約には書かれていないが問題文に書かれている)条件より st-numbering がとれて,その前半
乱択した全域木の辺で切るという方法でも AC になったそうです.
G. Optimizations From Chelsu
重心分解して根付き木の根を通るパスに帰着します.根が端点の場合は計算しておきます.
根が端点の場合の答を
のときだけ計算. だけ計算.- 同じ
に対しては最大の だけ計算.
のように枝狩りします.これで
- 計算対象となる
に対して,根からその頂点までの 個の根以外の頂点に する.それらの総和をおさえたい. - 深さ
の頂点 をひとつとってその点に加算が 回きたとする.ある であるような から加算されたことになる.この は を満たさなくてはいけないので が分かる.この頂点の subtree size は 以上なので, 以上である. - 同じ深さの頂点の subtree が重複しないことから,深さ
の頂点に対する加算回数を として が分かる. . . - これを
について足して,総和は .重心分解と合わせて .
H2. Matrix Rank (Hard Version)
これは単にほぼ有名問題です.行列を線形写像だと思うと,Ker, Im を固定したうえで計算すればよいです.この固定で