2017-10-01から1ヶ月間の記事一覧
code-festival-2017-qualc.contest.atcoder.jp 解き方 O(n)の前計算で、s[i:j]が入れ替えて回文になるかどうかを計算できるようにする s[0:i]の最小の分割数でDPを構成する(O(n^2)) hash値に対するDPとすることでO(n)に高速化 ハマったところ 前計算→DPの流…
code-festival-2017-qualc.contest.atcoder.jp 解き方 両端から調査していく(xが片方に見つかったらxをもう一方に足す) ハマったところ 最初、奇数回出現する文字があるかないかで場合分けなど不要に複雑にしていた github.com
code-festival-2017-qualc.contest.atcoder.jp 解き方 a_m...a_nと似ていて、積が偶数である数列b_m...b_nとしてあり得る数列の個数を、m=n, n-1, ..., 1の順序で考える |a_i - b_i| <= 1より、b_iとして考えられる数字は3つ github.com
code-festival-2017-qualc.contest.atcoder.jp github.com
ddcc2017-qual.contest.atcoder.jp 解き方 南北、東西に対称となる4点それぞれについて場合分け 以下の2パターンのどちらかが答えとなる 東西方向に揃える→南北・東西両方に揃える→0個になるまで取り除いていく(最大となるように) 南北方向に揃える→南北・…
競技プログラミング AtCoder CodeFestival Qual C 結果 590th, 1640->1624 (perf: 1492) Cを無駄に複雑に考えたのがもったいなかったな その他 jlenv, VirtualEnv.jlが一通り安定して動くようになった
D - Four Coloring 解き方 45度回転してマンハッタン距離の代わりにチェビシェフ距離を使えるようにして、d*dの正方形ごとに色をかえる ハマったところ 45度回転する考えがそもそもなかった 要するにチェビシェフ距離が扱いやすいので、できるだけこれに変換…
競技プログラミング DDCC予選 Dがあと一歩解けずダメだった ABC075 全完。Cで無駄に時間を食ってしまった。 その他 Juliaを多少無理してでも使おうと心がけつつ、jlenvとVirtualEnv.jlを実装中
D - Axis-Parallel Rectangle 解き方 長方形の頂点のx座標、y座標はいずれかの点のx座標、y座標と等しいと考えて問題ないので全探索 ハマったところ 全体でO(N^5)だったのでいけるか不安だったが、TLEはしなかった。 github.com
C - Bridge 解き方 DFSして橋を数える ハマったところ bridgeを見つけるアルゴリズムを忘れていたので、一から書いてたらデバッグに時間かかった github.com
B - Minesweeper github.com
A - One out of Three github.com
ddcc2017-qual.contest.atcoder.jp 解き方 最長の鉛筆をまず箱に入れて、もし入るなら最短の鉛筆も入れる。これを繰り返して個数を求める ハマったところ 最長の鉛筆と入れられる最長の鉛筆を入れるようにしたら、TLEした 後者を求める時に、配列の要素削除…
ddcc2017-qual.contest.atcoder.jp github.com
ddcc2017-qual.contest.atcoder.jp github.com
tenka1-2017.contest.atcoder.jp 解き方 選んだ整数のorとしてありうる数字を列挙し、それらを満たす整数の集合を探索する ハマったところ xorとorを見間違えて最初苦戦した bit演算を使う場合、bitに対してfor文をまわすのを避けるべきではない github.com
tenka1-2017.contest.atcoder.jp 解き方 h,nを1から3500の範囲で全探索する。h, nが決まればwは求まる github.com