なんかあんまり正確じゃない。なんだ。まあ、ある初期状態から開始して終了するまでは全て同じloop invariant値で、別のある初期状態から開始して終了するまでも同じloop invariant値だが、必ずしも2つ開始状態でloop invariant値が同値ではないような。
2012-07-03 23:38:18たぶんなんだけど、自明なそういう多値loop invariantとしては終了時の値をloop invariantと看做すようなものがありそう。未来予測になるけど。
2012-07-03 23:39:31ループコード側がコードの実行によって変化しないならループは同じ状態に対して同じ結果をもたらすのは自明で(自明じゃない?なら適当な意味論を仮定してfixedpoint theoremを証明すりゃわかる。)
2012-07-03 23:47:45にぶたんは、LとRのどっちが常に解の条件を満たすかとか、意識したことなかった。適当に解のありそうな区間を絞って、L+1 == Rになったら、LとRどちらが解にふさわしいかを更にチェックしている
2012-07-03 23:33:53整数二分探索の話題がアツいみたいなので僕も昨日のコード貼ろうと思ったけど、今良く見たら間違ってんじゃん。なんで通ったの。m ( (lb+ub)/2 ) を次の範囲に含めるかどうかについては意識しておかないと危険かも。
2012-07-03 23:38:55Lが満たさないRが満たすで二分探索する場合、0~MAXでやると0が例外になるので場合わけしてる人が何人かいた。kinabaさんのは-1からやってた。これは自分で書くのは怖いなあ
2012-07-04 00:28:30@kinaba 自分は整数の二分探索は全部このやり方で書いています。http://t.co/KV1g6rH3 。個人的に間違いが少なくて良い書き方かなと思っていて、他の人の意見に興味あります。
2012-07-04 00:54:17@chokudai ansの初期値を小さくして開始すれば大丈夫ですが、そもそも範囲に負の数が出てくることがかなり珍しくないですか?
2012-07-04 01:08:36