024号文書

主にプログラミング

ABC

PythonistaがRustはじめました#008 -- 可変Vecで動的計画法

なんとか仕事は山を越えました。 明日からはきちんと定時に帰って、記事を書く頻度を上げられるようにしたいです(フラグ)。 最近はRustもだいぶスラスラ書けるようになった気がします(ただし、競技プログラミングのみ)。 制限時間がシビアな高得点問題を…

ABC121 参加メモ

ABC

https://atcoder.jp/contests/abc121 1121->1214. 水色になりました! A 100点問題で最も難しく感じました。 列と行はどこでもよいと言っているので、全て端に寄せると考えれば (H - h) * (W - w) が解と直感的に分かります。 B 実装ゲーです。 内包表記が気…

ABC119 参加メモ

ABC

スキー帰りでちょっと疲労感がありましたが無事参加しました。 https://atcoder.jp/contests/abc119 rating 734から980に増加しました(+246)。 色も茶から緑になりました。 この調子でまずは水色を目指したい。 A Pythonだと不等号を用いることで、辞書式順…

ABC103 D - Islands War

ABC

問題 https://atcoder.jp/contests/abc103/tasks/abc103_d 解法 貪欲的に解けます。 まず、bの値が小さい順に各要望をソートします。 ソートした要望を先頭からiterateし、叶えられていない要望を見つけるたびに、その要望を叶えられる橋のうち最も東の橋を…

ABC104 D - We Love ABC

ABC

問題 https://atcoder.jp/contests/abc104/tasks/abc104_d 解法 Tの先頭i文字のABC数の和を求める方法を考えます。 のとき、i文字目は役に立たないので、Tの先頭i-1文字のABC数の和です。 のとき、i文字目を使わない場合、および、i文字目のCを使う場合の和…

ABC118 参加メモ

ABC

ABC117に引き続き参加です。全完できました! https://atcoder.jp/contests/abc118 rating 茶色になりました。 203 → 734 A Aは1以上なので、BがAで割り切れるならば、AはBの約数です。 B set型の積集合演算に甘えました。 すなわち、 を求めるコードを書き…

ABC105 D - Candy Distribution

ABC

問題 https://atcoder.jp/contests/abc105/tasks/abc105_d 解法 解のパターンを以下の通り分割します。 パターン1: 1番目の箱のみ使うパターン パターン2: 2番目の箱、および、必要ならば1番目の箱を使うパターン パターン3: 3番目の箱、および、必要ならば1…

ABC109 D - Make Them Even

ABC

問題 https://atcoder.jp/contests/abc109/tasks/abc109_d 解法 偶数枚のコインが置かれたマスの数の最大値について、偶奇の性質から、以下の雑な見積もりができます。 全コインの枚数が偶数ならば高々HW 全コインの枚数が奇数ならば高々HW-1 そして実はこの…

ABC117 D - XXOR

ABC

問題 https://atcoder.jp/contests/abc117/tasks/abc117_d 解法 二進リテラルを0bXXXXのように表すことにします。 例えば、0b101は十進表記で5です。 方針 まず、Aの各要素が1以下、かつ、K=1の場合を考えてみましょう。 例えば、A=[1, 1, 0, 1]の場合です。…

ABC112 D - Partition

ABC

問題 ABC112 D- Partitionです。 解法 求める解を とすると、 ... のように表せます。 より、 が成り立ちます。 したがって、 は の約数です。 より、 です。 したがって、 、すなわち、 が成り立ちます。 以上より、以下を満たす最大の整数 を求めればよい…

ABC113 D - Number of Amidakuji

ABC

問題 ABC113 D - Number of Amidakujiです。 解法 方針 まず、求める解を漸化式で表します。 漸化式から解を求めるのはプログラムで地道に計算します。 ざっくりと漸化式を定義する 縦棒の上から cm目のちょっと下に(上からcm目の横棒を移動した後というこ…

ABC114 D - 756

ABC

問題 ABC114 D - 756です。 解法 素因数分解してみる かつ 100以下の最大の素数は97より、 を素因数分解すると、 のように素数のべき乗の積で表せます。 ここで、 は0以上の整数です。 の約数は、整数の組 を用いて、 のように素数のべき乗の積で表されます…

ABC115 D - Christmas

ABC

問題 ABC115 D - Christmasです。 解法 求める解を で表します。 方針 解き方の方針は、 をの式で表すことです。 そのために、以下を解析します。 レベル のバーガーの層数 レベル のパティの枚数 レベルLのバーガーの層数 レベルのバーガーの定義より、以下…