BsBsこうしょう

これは考えたことではなく思ったことです。

10月11日の精進

昨日は飯!ゲーム!Twitter!と贅を尽くした娯楽を堪能した。もちろん日課の精進とピアノはなし。改めて思うがやっすい嗜好してんな

AOJ 2426 Treasure Hunt

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2426&lang=jp

解説AC。昨日の宿題。クエリ先読み+座圧を疑ったがそもそも時間計算量も空間計算量も足りず厳しい。節々から典型の匂いが漂っていたのであまり考えず解説を見た。

座圧はにぶたんするからこそ意味があるのは確かにそうで、全く勉強が甘いことを認識させられる。むしろクエリ先読みのほうが座圧としては応用に入るだろう。その後も コンパイル忘れ で長いことバグらせた。

いくらなんでもにぶたん弱すぎないか? 僕のスキルセットはにぶたんに対する一貫性がある

AOJ 2728 Change a Password

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2728

かなり時間がかかったがなんとか自力AC。

each digit appears at most once in the new password.

この条件を見逃さないように。この条件が問題をややこしくしている。上から数字を決めていけばよさそうなのだが、もし評価関数が同じになる数字が2つあったときに、どちらが正しいかは後の桁を見ないと分からない。そこまで数が多くないのでdfsしても問題ないが、そもそも計算パートがかなり面倒くさい。

実は全探索できるシリーズ。 10!=3628800<10^7 は個人的にかなり直感に反する。

std::next_permutation() は引数で取るリストが 昇順でソートされている ことを要請する。今まで全く気づかなかったし、直感に反しまくるのでハマった。今後気をつけたい。

next_permutation - cpprefjp C++日本語リファレンス