402.1

TCO明けの一回目。この前の本は日本語版だったけど、書き直すの面倒なので、英語版のisbnのままでいいや。実は今回はmiddleから解き始めてみた。方針転換なんだけれど、middleのスコアが450という状況なので、感覚がつかめなかった...。

250

1からNまでのPermutationが入力として与えられる。i

450

.とXからなる循環文字列が与えられる。.の連続する部分とXの連続する部分に着目して、Xの連続する部分の一つを削除した時に、.の連続する部分の長さの配列が一番大きくなるようにXの連続する部分を除け、という問題。配列が一番大きい、というのは要素を大きい順にソートした時に辞書順で大きいことをいう。


単純に全てのXの位置について連続する部分を除去して、.の連続する長さを計算して回る。若干重いかも知れないので、Xの連続する部分のうち、一つだけを取り出して計算すると早くなるけれど、必要かどうかは試していない。


実際にはXの連続した部分の中のXの位置のうち一番左側にあるものを返す、という0付近でのはまりがある。

1000

数字の列が与えられるので、狭義単調増加になるように適当な位置で区切る。一番最後の要素をできるだけ小さくした上で、先頭の要素から順に各要素をできるだけ大きくせよ、という問題。


時間がなかったし、眠いので保留。問題としては一番面白いのだけれど...。