活動記録(2017/9/25-2017/10/15)

競技プログラミング DDCC予選 Dがあと一歩解けずダメだった ABC075 全完。Cで無駄に時間を食ってしまった。 その他 Juliaを多少無理してでも使おうと心がけつつ、jlenvとVirtualEnv.jlを実装中

ABC075 D: Axis-Parallel Rectangle

D - Axis-Parallel Rectangle 解き方 長方形の頂点のx座標、y座標はいずれかの点のx座標、y座標と等しいと考えて問題ないので全探索 ハマったところ 全体でO(N^5)だったのでいけるか不安だったが、TLEはしなかった。 github.com

ABC075 C: Bridges

C - Bridge 解き方 DFSして橋を数える ハマったところ bridgeを見つけるアルゴリズムを忘れていたので、一から書いてたらデバッグに時間かかった github.com

ABC075 B: Minesweeper

B - Minesweeper github.com

ABC075 A: One out of Three

A - One out of Three github.com

DDCC2017 Qual C: 収納

ddcc2017-qual.contest.atcoder.jp 解き方 最長の鉛筆をまず箱に入れて、もし入るなら最短の鉛筆も入れる。これを繰り返して個数を求める ハマったところ 最長の鉛筆と入れられる最長の鉛筆を入れるようにしたら、TLEした 後者を求める時に、配列の要素削除…

DDCC2017 Qual B: 鉛筆

ddcc2017-qual.contest.atcoder.jp github.com

DDCC2017 Qual A: DDCC型文字列

ddcc2017-qual.contest.atcoder.jp github.com

Tenka1 Programmer Contest 2017 D: IntegerS

tenka1-2017.contest.atcoder.jp 解き方 選んだ整数のorとしてありうる数字を列挙し、それらを満たす整数の集合を探索する ハマったところ xorとorを見間違えて最初苦戦した bit演算を使う場合、bitに対してfor文をまわすのを避けるべきではない github.com

Tenka1 Programmer Contest 2017 C: 4/N

tenka1-2017.contest.atcoder.jp 解き方 h,nを1から3500の範囲で全探索する。h, nが決まればwは求まる github.com

AOJ 0009: Prime Number

Prime Number | Aizu Online Judge github.com

CODE FESTIVAL 2017 qual A C: Palindromic Matrix

code-festival-2017-quala.contest.atcoder.jp 解き方 回文を作るのに必要な同じ文字の数を計算 各アルファベットの出現回数を計算 必要な文字数が多い場所から順に、条件を満たす最小のアルファベットを入れる貪欲 ここが嘘解法っぽさがある github.com

CODE FESTIVAL 2017 qual A B: fLIP

code-festival-2017-quala.contest.atcoder.jp 解き方 行、列を入れ替える順番は無視して良いので、何列、何行入れ替えるかで全探索 ハマったところ +=の副作用を見逃してた github.com

CODE FESTIVAL 2017 qual A A: Snuke's favorite YAKINIKU

code-festival-2017-quala.contest.atcoder.jp github.com

活動記録(2017/9/18/-2017/9/24)

競技プログラミング Code Festival 予選 結果 894th, 1679 -> 1640 (パフォーマンス:1287) 体調不良の時にratedなコンテストに出てはいけない。 その他 メンタルと体調がどっちも死んでた

AOJ0005: GCD and LCM

GCD and LCM | Aizu Online Judge 解き方 ユークリッドの互除法 LCMは効率の良いアルゴリズムがあるらしいがよくわからない github.com

AOJ2224: Save your cats

Save your cats | Aizu Online Judge 解き方 pileを頂点、fenceを辺としたグラフを考えると、その双対グラフの最小全域木(コストは、fenceの長さ)を求めれば良い 双対グラフを求めるためには、最短閉路の列挙などする必要があり面倒 元の平面グラフの全域…

ARC083 E: Bichrome Tree

E - Bichrome Tree 解き方 ある頂点iの部分木について、黒白それぞれの重みの和を、b_i, w_iとして、それを更新していく 黒白は入れ替えても問題ないので、違う色か同じ色かだけ考えれば良い 頂点iがleafの場合、色はどちらでもよく、重みはx_iになる 頂点i…

ARC083 D: Restoring Road Network

D - Restoring Road Network 解き方 これまでに追加した辺のコストの合計と、その辺による各都市間の最短距離(d[i][j])を保持、更新する 距離が小さい方から順に考えていく。 町i, j間の最短距離がcの時、 もし、d[i][j] == cならば、もう辺を追加する必要は…

ARC083 C: Sugar Water

C - Sugar Water 解き方 A, B, C, Dそれぞれの操作を何回するか、全探索 A, Bについては、100A <= F <= 30 * 100より、たかだか30回 C, Dについては、最大でF/2g溶ける(E=100の時)ので、たかだか1500回 合計で[tex:O(109)]なので、ダメでは?という気もす…

活動記録(2017/9/11-2017/9/17)

競技プログラミング ARC083 結果 97th, 1551->1679 (Perf: 2363) Cを3回WAしてダメかと思ったが、うまいことEまで解けた。 AOJ0189, AOJ2249, AOJ2200 蟻本練習問題。warshall floydだったりdijkstraだったり、最短経路問題の基本系 その他 金沢行ってきた W…

AOJ2200: Mr. Rito Post Office

Mr. Rito Post Office | Aizu Online Judge 解き方 からへの行き方は次の2通り 陸路で行く 船のあるところまで陸路で行き、船で適当なところまで行き、再度陸路 前計算として、陸路での最短距離、海路での最短距離をWarshall Floydで求めておく dp[i][j] = …

AOJ2249: Road Construction

Road Construction | Aizu Online Judge 解き方 captalを始点としてdijkstraして、その後経路復元 経路復元のための情報において、条件を満たす辺のなかでコスト最小のものを保存するようにする 多分、priority_queueを使ったdijkstraじゃないとTLEすると思…

AOJ0189: Convenient Location

Convenient Location | Aizu Online Judge 解き方 Warshall Floydして、町間の最短距離を求め、それが最小となるところを見つける github.com

ARC082 F: Sandglass

F - Sandglass 解き方 ある時刻におけるAの砂の量は、max(E1+C, min(E2+C, a+C))の形で表せる(aは最初にAに入っている砂の量) 各r_iについて、E1, E2, Cを前計算しておき、クエリに対しては二分探索→最後だけ計算 r_{i-1}のときの関数が求まれば、そこから…

活動記録(2017/9/4-2017/9/10)

競技プログラミング AOJ 2170 蟻本初級の練習問題。union find ABC073 87th 順調に解けた。 その他 特になし

ABC073 D: joisino's travel

D - joisino's travel 解き方 すべての町の間の最短経路の距離を事前にWarshall Floyd等で前計算 町の回り方をR!通りすべて試す(R<=8なので間に合う) github.com

ABC073 C: Write and Erase

C - Write and Erase 解き方 unordered_setを使えば良い github.com

ABC073 B: Theater

B - Theater やるだけ github.com

ABC073 A: September 9

A - September 9 数字として扱ったが、文字列のほうが簡単だった。 github.com