昨日は飯!ゲーム!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()
は引数で取るリストが 昇順でソートされている ことを要請する。今まで全く気づかなかったし、直感に反しまくるのでハマった。今後気をつけたい。