CodeChef Starters 130 Division 4

ardririy
·

Giant Wheel

x >= 60 ? "Yes" : "No"

Swapping Marks Digits

a, bの反転をra, rbと表現する。起こりうる状況は

(aとraの2通りから一つ)*(bとrbの2通りから一つ) = 4通り

の比較しかないので、全部書けばよいです。

Alternating Binary String

Binary Stringの[i, n)の区間を反転したところで、「前後の文字と値が同じかどうか」は、i文字目しか変わりません。よって反転を考慮する必要はないので、前から順番に、(すでに確定済みで以降の操作で変わることがない)直前の値と同じなら操作を行う(ans++する)というようにしてあげると、答えが出てきます。

Make Equal

左端と右端には操作が行えないので、これが異なっていればNoです。

同じである場合、中央の値に行える操作は減算であることから、端の値より小さい値があればそれは端の値と同じにできないため、これもNoです。

そうでない場合、操作の条件から端の値と同じになるまで操作ができることがわかります(証明はわからない)。よって、この場合はYesです。

Good Binary String

よくわからん。

2以上に分割しないといけないこと、1からnまでにnを割り切れる値はそこまで多くないことを利用してnを割り切れる値に分割する全探索を書いたがWA(は?)