Problem H Get out! オリジナル問題 作成者: 三廻部 大 問題の概要 ある点から円を避けながら直線に進む ある関数でコストが決まる 円への最近点でコストがかかる コストをできるだけ小さくしたい 角度差の最小は 10^-5 一大事件発生 (1) 状況説明 残り時間1時間半ごろ 皆あまり解けていない E, F, Hは解く人いないだろうなぁ Problem Hキターーーー(゚∀゚)ーーーーーーー 一大事件発生 (1) 状況説明 残り時間1時間半ごろ 皆あまり解けていない E, F, Hは解く人いないだろうなぁ その名はponzu !!! 一大事件発生 (2) 実行すると Wrong Answer ガックリ… 出力を見てみる. 0.1000.100-1.000-1.000302.0000.000… 一大事件発生 (3) 出力を見てみる 0.1000.100-1.000-1.000302.0000.000… 改行がない!!! 0.100 0.100 -1.000 -1.000 302.000 0.000 …. 0.100 0.100 No way to escape No way to escape 302.000 0.000 … -1はNo way to escapeだよぉ アルゴリズムの説明 Ponzuの解はそれ以外は完璧! というわけで, せっかくなのでアルゴリズムの 説明をよろしくお願いします サンプルインプット ジャッジより (1) 問題の解釈はそれほど難しくない 数式の意味するところが難しいけど やることも見えてくる ぶつからないところについて調べる あるところで脱出できれば, 改善していく 与えられたコストの関数は凸 だけど, 図形だから避けた? ジャッジより (2) 解法は? ぶつからない区間を求める これは問題Cとほぼ同じやりかた 区間の中で解を探索 二分探索, 黄金分割法 モンテカルロ? もちろん, 駄目. 10^-5単位で調べるのは無理. できないように, ジャッジデータ作ってますから. 残念 実際のジャッジデータ 0.000012度 左の図を, - 90度 - 180度 - 57.2957795度 = 1rad - 1.5rad - 1.33333rad 回転 コスト0にはならない
© Copyright 2024 ExpyDoc