最終更新: 2020-05-06T23:25+0900
A 問題よりは難しい B 問題。C, D, E, F は一目見て問題文の理解を諦めたよね。
TLE(時間切れ)は潜在的な AC だという期待が持てるから、は
問題にあたる方針はこう。長さ K のウ
スライドに伴いウ
ただしこれだけでは足りない。
pm
という変数によりウ
WA がなくなり、AC と TLE のみに。ちなみにこの時点でコンテストはとうに終了している。
答えが得られる main 関数が確定しているのであとは TLE を解消すべく、意味を変えないように注意しながら効率の良い実装に置き換えるリフ
……なんだけど、3番目より効率が落ちて TLE が増えた。しかし頭の中を整理する役には立
ウ
ウLX
と RX
を作成したものと同じ構造をと
同じく先日の20190907p01.06で使
係数がいくつでも O(N) だとはいえ、長さ N のフルスキ
他からの流用そのままではなく、この問題に最適化した手法であるとか、根本から別物の優れた手法であるとかがないものか。No Idea なんだけども。
主として NextIndex メソ
WA が2つある以外は AC で、タイムもメモリ使用量も優れている。
cnt_up
, cnt_k
は自分の提出における UP
に相当するものだけど、min_deq
, max_deq
を中心としたその他の大部分は、ち
ウ
最大値、最小値それぞれについて待ち行列を用意するものみたい。「Ruby で一番新しい提出」もそう。ポイントは
8番目の提出 (AC / 243 ms / 19124 KB)
いいね。時間もメモリ使用量も「7番目」からさらに改善した。
気がついてる提出を見なか
Queue から追い出す処理に while 文が使われてるけど、そこと Array#shift に目をつむると(※)、N 回のル
※キ
9番目の提出 (AC / 243 ms / 18428 KB)
Array#shift を定数時間の処理に置き換えようとしたら追加のメモリ要求が 2×N になるどころか N だけにな
ところで、C配列のシフト操作と、Ruby の Array#shift の実装が別物なのは言うまでもない。あくまでも原理的な話であ