416.1

順位は平凡だったけれど、内容には満足できた問題セットでした。

250

ある整数の次に大きい同じビットカウントの整数を求めよ、という問題。


1と0の配列にしてnext_permutation使うとC++の神ライブラリが答えてくれるそうです。一番下位にある01の位置を探して10にスワップして、それより下の1を全部下位に寄せる、というのが順当な解法だとは思うけれども。

500

6つの異なる正整数からなるサイコロのうち、目の合計が特定の値以下のものを答えよ、という問題。


サイコロの目をA、A+B、A+B+C、という風に変形すると、6A+5B+4C+3D+2E+F<=合計、となり、A〜Fは正整数。a=A-1、b=B-1、という風に変形してやれば、もう少し状況が簡単になるかも。後は、DPするだけだった。数学的に計算できるかも知れないけれど、不明。

1000

開いていない。