きろく

特筆すべき記録のまとめ

2019-08-03から1日間の記事一覧

技術室奥プログラミングコンテスト#4 Day1:L - じゃんけん

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_l 解法 以下の DP を考える. dp(i, j) := 頂点 i にいて,今 j 回まで操作が終わった時の,これから得られるスコアの総和の最大値 遷移は今いる頂点 i に留まるか,頂点 i につな…

技術室奥プログラミングコンテスト#4 Day1:K - 天使と宿題

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_k 解法 最終日には必ず写させてもらう必要がある.なぜならば,最終日分の宿題は N - 1 日までで写すことができないから.最終日で写せるページ数 (a_N) 日分は写すことができるの…

技術室奥プログラミングコンテスト#4 Day1:J - school competition 2

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_j 解法 N, M <= 20 と小さいので,両校とも考えられる全てのチームの編成を列挙することができる.ここで,各校全ての生徒がどちらかのチームに入るので,A チームのレートの総和…

技術室奥プログラミングコンテスト#4 Day1:I - school competition 1

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_i 解法 A と B を昇順にソートしておき,各 A_i よりも真に大きい B_i の個数を調べる.これは std::upper_bound() を用いて各 A_i につき O(logM) で計算することができる.この…

技術室奥プログラミングコンテスト#4 Day1:H - don't be late

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_h 解法 各駅での乗り換え時間は,その駅につく路線の所要時間に加算してしまってよい.こうすることで,辺だけにコストを乗せることができたのでダイクストラ法を適用できる.ダイ…

技術室奥プログラミングコンテスト#4 Day1:G - バラバラ掛け算

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_g 解法 N_i <= 1 のとき,答えは N_i になる. そうでないとき,2 と 3 で分解するのが最適になる.具体的には,N_i % 3 == 1 のとき 3^(N_i / 3 - 1) * 4 とし,そうでないとき 3…

技術室奥プログラミングコンテスト#4 Day1:F - 不便な橋

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_f 解法 現在の時刻を t,今いる島を i とするとき,橋 (i, j) を使ったときに島 i + 1 にいる時刻は ceil(t / A_(i, j)) * A_(i, j) + B_(i, j) となる.各島においてどの橋を使っ…

技術室奥プログラミングコンテスト#4 Day1:E - Osmium_1008と課題

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_e 解法 まず A の和が E 以下であればエナジードリンクは飲まなくてもよい. そうでないとき,エナジードリンクを B_i が大きい順に飲んでいけばよい.B を降順にソートしておき,…

技術室奥プログラミングコンテスト#4 Day1:D - スキップ

問題 解法 解答 問題 https://atcoder.jp/contests/tkppc4-1/tasks/tkppc4_1_d 解法 まず,要素が重複している連続する区間は 1 つの要素にまとめてしまってよい.なぜならば,このような区間でどこをスキップしてもスコアは増えないから.こうすることによ…