2011-03-31から1日間の記事一覧

三分探索の精度

凸関数の最大値は精度良く求められるけど、最大値を与える値の精度はよくないというお話。 具体的な問題で考えてみよう。 関数f(x) = x*(1-x)の最大値と、最大値を与える値を誤差1e-9以下で計算しなさい。 もちろん高校数学の範囲で解けて、厳密解はx=0.5で…

AOJ-1146, POJ-3011: Secrets in Shadows (影の秘密)

keyword 幾何 平面走査法 誤差 数値計算 Java 問題概要 中心が整数座標 in [1,30]*[1,30]、半径1の円柱がある。影の幅が最も大きくなるときの値と最も小さくなるときの角度を誤差EPS=1e-10以下で求める問題。 解法 まず、角度を決めたときの影の幅は比較的簡…

SRMのとき使ってるスクリプト

最近eclipse使ってコーディングするようになったけど、自分の貧弱な計算機ではeclipse上でプログラムをコンパイル、実行するのは重くてやってられない。なのでコンパイル、実行は端末上でやることにした(何でIDE使ってるんだっけ)。以下のファイルに適当に名…

SRM 501 500pt: FoxAverageSequence

keyword 動的計画法 C++ 問題概要 長さN(不定である。不定な部分に[0,M]の値を入れて美しい配列にしたい。何通りあるかをmodで求める問題。美しい配列とは次の2条件を満たす。 どの連続する3つも狭義単調減少でない。 a[i]の値はa[0],...,a[i-1]の相加平均以…

SRM 501 250pt: FoxPlayingGame

問題概要 あなたのスコアは最初0.0です。スコアにa(-2.0 解法 a,bがそれぞれ正負の場合とbについては1より小さいか大きいかとか考えて場合分けで書いたのが以下のコード。Acceptはされたけど、こういう場合分けを書きまくるのはミスを誘発して良くない。計算…