2018-03-01から1ヶ月間の記事一覧

AtCoder RC093 C: Traveling Plan

問題 https://arc093.contest.atcoder.jp/tasks/arc093_a 解法 観光スポットに行かないケースを毎回計算していると、O(n2)の計算量になってしまいます。 そこで以下のように考えます。 観光地が5カ所の場合、全ての観光地に行くケースの総距離は、 $$総距離 …

AtCoder RC089 C: Traveling

問題 https://arc089.contest.atcoder.jp/tasks/arc089_a 解法 時刻が1進む毎に上下左右のいずれかに1進めるので、次の場所に進むことを考えると ・次の場所との距離(X座標とY座標の差の絶対値の和)が時刻の差に等しい がまず最もシンプルな条件になります…

AtCoder RC091 C: Flip,Flip, and Flip......

問題 https://arc091.contest.atcoder.jp/tasks/arc091_a 解説 実際にカードの反転処理をシミュレートして解こうとすると、計算量がO(N2)になってしまって現実的では無いです。 そのため、計算で解くことにします。 まず基本的な考え方です。最初はカードは…

GCJ 2016 Qualification Round B: Revenge of the Pancakes

問題 と - からなる文字列Sが与えられる。以下の操作を繰り返して、+ のみの文字列に変換するための最小回数を求める。 ・文字列Sのi番目までの+と-を反転させて、なおかつ、逆順にする。 例: 文字列Sが ++--+ でi=3の場合、++- を反転(--+)して逆順(+--…

GCJ 2016 Qualification Round A: Counting Sheep

問題 与えられた非負整数Nについて、N×1,N×2,…とNの倍数をあげていく。その数の10進表記で見た場合の桁が0~9全て出そろった時の最後の数を出力する。(そろわない場合は"INSOMNIA"を出力) 例:N=2の場合、2×1=2,2×2=4,…,2×35=70,…,2×44=88,2×45=90 で0~9が…