AtCoder Beginner Contest ABC409 解法メモ
文中で使用しているのは、PythonライクでAtCoderに最適な言語の1つNimです
ABC409
ABC409A - Conflict
解法
ACコード
ABC409B - Citation
解法
ACコード
ABC409C - Equilateral Triangle
解法
入力はすべて整数なので、L mod 3!=0ならば、答えは
各要素のmod Lをとれば、0..<Lの距離で表すことができ、そのCountTableをとれば、各位置での点の個数が出せる
そのCountTableのkeysにL div 3を
その総和が答え
ACコード
ABC409D - String Rotation
解法
「
その巡回シフトは、
「
NimではrotatedLeft(1)が使える
ACコード
ABC409E - Pair Annihilation
解法
ある葉の
同様に、根付き木としてみれば、ある辺から先の部分木は、中に含む
DFSをしながら、その絶対値と重みとの積を数えていけばよい
具体的には、DFSの返り値を
親に向かう以外の辺すべてにわたって加えながら、
同時にそれらの絶対値に
最後、帰りに自分自身の
ACコード
メモ
それが求められたところで、どの道、この制約では重みの最小値から貪欲に計算していくことはできないのではないか、と思ったものの、正解の解法には至らなかった
Discussion