今日の競プロ(2020/5/2) + AtCoder Beginner Contest 165
AtCoder : 1705 → 1755 (+50)
ABC165 A - We Love Golf
こういうのは変に算数せず、全探索
ABC165 B - 1%
最大ケースがサンプルにあって優しい。C++でやったらオーバーフローしてもうたからPythonでやった。
ABC165 C - Many Requirements
何言ってるかよくわからないけど、とりあえず が全探索できればよさそう。 として考えられる数列は、 個のボールと 個の仕切りの並べ替えと考えて 通り。これは最大でも なので、いける。
実装も同じように、 個のボールと 個の仕切り(に見立てた 個の と 個の )をstd::next_permutationで回せばいける。
ABC165 D - Floor Function
を で割って とすると、
だから で、結局
これは単調非減少なので、できるだけ大きい をとればOK。
めっちゃ時間かけてもうた、割り算苦手すぎ。小学三年生の算数の授業でどれだけ苦労したことか…。
ABC165 E - Rotation Matching
パズル。
こうやると 個の対戦場に書かれた数字の差が全て異なるようになるので、同じ人と当たることもなくなる。
ABC165 F - LIS on Tree
DFSの順番で普通のLISと同じようにやればいける。DP配列を更新するときに更新前の値をメモしておいて、子から親に帰るときにDP配列の値を元に戻す。