チーム練(2019 RUPC)

全完!
A, C, Fの考察実装とGの実装をした

A (Md, 00:02)
B (番兵, 00:04)
D (のん, 00:38)
E (のん, 01:34)
G (番兵Md, 02:01)
C (Md, 02:38)
F (Md, 02:50)



A, B:
はい

C:
ギャグすぎる
絶対置けない場所があって、サンプルを見るとそこ以外は絶対置けることがわかる

D:
頂点1, 2, 4, 8...をビットとみなして、各ビットが立っているときそのビットとの間に辺をはる
あとは1, 2, 4, 8...を聞くと答えがわかる

E:
逆順に最長減少部分列を求めると最大値がわかる
復元はまあできる

F:
これすき
abs(a[i] - i)はa[i]とiに+, -符号を割り当てることに対応するので、符号で分けて+側の配列と-側の配列を持っておく
やることは+側の一番小さな要素と-側の一番大きな要素を貪欲にswapするだけで、実はこれでうまくいく

G:
燃やす埋める