Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

ALGO ARTIS プログラミングコンテスト2023 秋 (AtCoder Regular Contest 168)

1完3:25

各問題

A -

連続する m 個の > について、転倒数は m * (m + 1) / 2 になります。

< の部分でほかの部分に影響を与えないように十分に差をとった数を設定すれば、個々の > 部分の転倒数を足し合わせたものを最小値とできます。

B - Arbitrary Nim

この問題のケースにおける grundy 数は A mod (K + 1) です。(ググった)

通常の Nim で Alice が勝てる条件であれば K を max より大きい数でとったときに Alice は勝てるので -1 とできます。

通常の Nim で Alice が勝てないときに、適切な K が設定できるかどうかですが、それがわからないまま終了...。すくなくとも、K は max より小さい数である必要があるので -1 とはならず、0 かなんらかの k があるか、ということろまではわかったのですが。

K = max - 1 としてどうかかなーと思ったのですが、違った。

まとめ

A が早く解けたので致命傷にはならなかったですが、いすを温め続けた挙句レートはほぼトントン。うーむ。