ACM-ICPC World Finals 2016 M解法

M: What Really Happened on Mars? 問題 t個のタスクがある。各タスクは命令の列で、命令は3種類 compute : 1クロック消費する。 lock k : リソースkをロックする unlock k : リソースkをアンロックする 各タスクiは開始の時刻t_iと優先度p_iを持ち、時刻に…

ACM-ICPC World Finals 2016 L解法

L: Swap Space 問題 n個のHDDがある。 それぞれは現在 容量a_iで、一つづつ取り替えて容量b_iにしたい。 HDDは全てフルに容量が埋まっており、取り替えるときはデータをn個の中の他のHDD、もしくは追加のHDDに移して、空になってからb_iになる。複数に分けて…

ACM-ICPC World Finals 2016 K解法

K: String Theory 問題 文字列について、先頭と末尾が「'」(シングルクォート) で、間にアルファベットのみが0文字以上あるものを1-quotationと定義する。 k > 1について、先頭と末尾がちょうどk個のシングルクォートで、間には「(k-1)-quotationとシングル…

ACM-ICPC World Finals 2016 J解法

J: Spin Doctor 問題 n人の個人情報が与えられる。i番目の人の情報は a_i : 覚えている円周率の桁数 0 ~ 2000000 b_i : 髪の毛の本数 0 ~ 2000000 c_i : 候補者Xに投票したかどうか 0/1 実数のパラメータS, Tを適切に決めて人々を (a_i * S + b_i * T) の値…

ACM-ICPC World Finals 2016 I解法

I: Road Times 問題 n 頂点 m 辺の有向グラフが与えられる。 各辺は距離[km]が与えられる。 あなたが頂点uからvへ移動するときには、必ず距離が最短に成るように移動する。 各辺は速度が定数で制限されており、それは時速30km以上60km以下の実数の定数で、あ…

ACM-ICPC World Finals 2016 G解法

G: Oil 問題 地面水平方向x軸。垂直方向下向y軸。y=0が地表の2次元座標上の問題。 油井は地中にあり、地表と水平な線分で表される。 n個の油井のいち情報が与えられる。 地表から1本の直線状に任意の角度でドリルで掘って、接するか交差した油井の油を得るこ…

ACM-ICPC World Finals 2016 F解法

F: Longest Rivers 問題 n+m+1頂点、葉がn個の重み付き根付き木が与えられる。 各葉は川の源流で、川は辺にそって根の方向に続く。すべての辺はただ一つの川に属する。 (辺をn個の川に分割する、一つの川はつながって枝分かれしない。合流した川はいずれか一…

ACM-ICPC World Finals 2016 E解法

E: Forever Young 問題 私はY歳です。 適切なBを求めて、「YをB進数で表した時全ての桁は0~9であり、その表示を十進数とみなすとL以上である」ようにしなさい。 その最大のBを出力しなさい。

ACM-ICPC World Finals 2016 D解法

D: Clock Breaking 問題 7セグデジタル時計がある。4桁とコロンの2セルの計30箇所のセグの表示がある。 この時計は壊れている可能性があり、各セグは 正しく動作する 常に0を表示する 常に1を表示する のどれかである。

ACM-ICPC World Finals 2016 C解法

C: Ceiling Function 問題 n個のk頂点-二分探索木が与えられる。 二分探索木は挿入する値とその順番によって与えられる(回転などはしない)。 何種類の形があるか数えよ。

ACM-ICPC World Finals 2016 B解法

B: Branch Assignment 問題 n 頂点 r 辺の重み付き有向グラフがある。頂点はv_1 ... v_nとする。 そのうち、v_1 ... v_bのb個の頂点はbranch (支店)が置いてあり、v_{b+1}にはheadquarter(本店)がある。 支店をs個のグループに分割したい(s 月に一度、各支…

ACM-ICPC World Finals 2016 A解法

A: Balanced Diet 問題 Dannyはm種類の菓子を一つづつ食べる。今までの菓子iを食べた個数をs_iとする。 各菓子iの個数は割合f_iに近い値にしたい。 正確には、今まで食べたお菓子の総数をnとすると、任意のお菓子iは を満たす必要がある。すでに、k個のお菓…

ACPC 2015 Day3 解法

ACPC2015Day3 University of Aizu Competitive Programming Camp 2015 Day 3 http://judge.u-aizu.ac.jp/onlinejudge/contest_problem.jsp?id=ACPC2015Day3 3時間7問 問題・解法アニメセット? 各問題で物語がついていて凝ってる. 問題文にそれぞれライター…

ACPC 2015 Day2 解法

University of Aizu Competitive Programming Camp 2015 Day 2 問題・解法 http://judge.u-aizu.ac.jp/onlinejudge/contest_standing.jsp?id=ACPC2015Day2 5時間 12問1日目は参加してない。公式の解説とか上がるのかな。 問題文は全て意訳。AOJランキングも…

ASC47 問題・解法

2014-2015 Winter Petrozavodsk Camp, Andrew Stankevich Contest 47 (ASC 47) Solutionsサイト http://codeforces.com/gym/100608 問題文 http://codeforces.com/gym/100608/attachments/download/3181/20142015-winter-petrozavodsk-camp-andrew-stankevic…

C++の関数オブジェクトが関数よりどれだけ速いか

C++では関数オブジェクトのほうが関数より速い。呼び出しの時間に差がある様子。 数回呼ぶだけなら誤差だが呼ぶ回数が増えるとその速度は有利。 ソート std::sortの比較関数に関数や関数オブジェクトを与える。 関数 bool cmp(int x, int y) { return x < y;…

Live Archive Root :: Regionals 2011 :: Europe - Central

Live Archive Root :: Regionals 2011 :: Europe - Central https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=526良問。スペシャルジャッジに対応していない様子なので、一部AC出ない(単にWAなのかも知れないが)。…

Live Archive 5888 - Stack Machine Executor

問題 Stack Machineというスタックベースのプログラミング言語が定義されている。実装せよ。 解法 スタック言語なので実装は難しくない。 エラー処理がやや面倒。

Live Archive 5887 - Unchanged Picture

問題 線画が2つ与えられる。平行移動拡大縮小回転させて一致するか判定せよ。。 座標は全て整数。 入力は相対ベクトルでsvgのようなフォーマットで与えられ、線分は1000程度。 解法? 幾何で難易度わからなくて手を付けてない。 適当に2頂点一致させて残りを…

Live Archive 5886 - The Grille

問題 NxNのテキストと、マスクが与えられる。 次の操作を4回せよ。 マスクの空きマスの文字を出力し、マスクを90度時計回りに回転させよ。 解法 問題そのまま。 実装するだけ問題。

Live Archive 5885 - Vigenere Cipher Analysis

問題 Vigenere Cipherのルールでエンコードされた文字列C、エンコードに用いたkeyの長さの上限値K、元のテキストに含まれていた文字列W1, W2が与えられる。 len(C) デコードし、結果が1通りならデコードされたテキストを出力せよ。 結果が0通りもしくは2通り…

Live Archive 5884 - Strange Regulations

問題 グラフが与えられる(頂点数N 各辺は会社i(1 グラフは単純グラフで、会社が違ったとしても多重辺は存在しない。 グラフは常に次の制約を満たす。 各会社の辺だけを使う部分グラフは枝分かれが無く、サイクルが無い。 各クエリを順に処理せよ クエリは3…

Live Archive 5883 - Stack Machine Programmer

問題 スペシャルジャッジに対応していない様子なのでジャッジ解提出する以外AC取れない気がする。 先に5888をやるべき。パズル系の問題。 Stack Machineというプログラミング言語が定義されている。 入力V[i]と出力R[i]のペアがN個与えられている。 入力はプ…

Live Archive 5882 - Racing Car Trail

問題 二次元フィールドが与えられる。フィールドのいくつかのセルには障害物がある。 障害物の無い各セルを初期値として、次のターン制2人ゲームを行う。 現在地から4方向に1セル移動する。ただし、障害物があるか一度踏んだセルは侵入できない。行動できな…

Live Archive 5881 - Unique Encryption Keys

問題 意訳 数列A(A[1]...A[N])が与えられる。 Q個のクエリに答えよ。 クエリは2つの整数B, E(B A[B~E]の中で複数出現するものをどれか一つ答えよ。Live Archiveではおそらくスペシャルジャッジになっていないので、AC取るにはA[B~E]を順に見たときに初め…

Live Archive 5880 - Vigenere Cipher Encryption

問題 文字列keyと文字列textが与えられる。 Vigenere Chiperのルールでエンコードせよ。 解法 text[i]についてkey[i % key.size()]で問題文中の表通りに実装する。

Live Archive 5879 - Boring Card Game

問題 N人の人がいる(player 0 ... player N-1)。1 ~ 5N の数が書かれたカードが1枚ずつあり、入力で与えられる順に(A[0] ... A[5N-1])山札に並んでいる。 次の方法で一人5枚づつ配る。 上から2N枚を2枚づつ配る、つまりA[0], A[1]をplayer 0に、A[2], A[…

ACM-ICPC 2014 アジア地区台中大会 体験記

http://icpc.baylor.edu/regionals/finder/taichung-20142014年11月22日 Providence University 静宜大学大会台湾の地区大会に参加したのは昨年に続いて2回目。 運営 日本のチームは複数参加して、スタッフも日本語の通じる人がいる。 アナウンスも中国語(…

ACM-ICPC 2014 アジア地区東京大会 解法

The 2014 ACM-ICPC Asia Tokyo Regional Contest Solutions2014年10月19日 オリンピックセンター大会解法と言うかwrite up 感想はなるべく書かない。A ACM-ICPC 2014 アジア地区東京大会 B - でも今日はSRMあるから ACM-ICPC 2014 アジア地区東京大会 C - で…

ACM-ICPC 2014 アジア地区東京大会 J

ACM-ICPC 2014 アジア地区東京大会J: Exhibition問題 fを求めよ。 n, k, A, B, C, x_i, y_i, z_iは入力の定数。 解法 解説上がってたのでそっち読んだほうがいい。こういう問題は数式で考えるのがいいのか、空間幾何で考えるのがいいのかよくわからない。2段…