かんプリンの学習記録

勉強したことについてメモしています. 主に競技プログラミングの問題の解説やってます.

Python

ABC234 D - Prefix K-th Max

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要の順列および正整数が与えられる.について以下の値を求めよ. の先頭項のうち,番目に大きい値 解説公式解説にもある通り優先度付きキューで解けますが,BinaryTrieでも解くことができます.Binary…

ABC231 C - Counting 2

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要長さの数列について以下の個のクエリに答えよ. が与えられる.となるの数を答えよ. 解説これはBinaryTrieで解くことができます.BinaryTrieは整数の(多重)集合を管理することができるデータ構造で…

ABC230 E - Fraction Floor Sum

有名問題問題はこちら 問題概要 解説1 解説2 提出プログラム 感想 問題概要を求めよ.解説1答えはの領域内の格子点の数となります.(上の格子点の数はになるため) N=10の例この領域はに関して対称であるための領域内の格子点を数えて2倍します.とします.領…

ABC217 D - Cutting Woods

問題はこちら 問題概要 解説 Pythonでの解法 感想 問題概要長さの木材がある.以下の個のクエリを処理せよ.番目のクエリはで与えられる. のとき:木材の左端からの地点で木材を切る. のとき:木材の左端からの地点を含む木材の長さを出力する. 解説現在…

ABC215 D - Coprime 2

問題はこちら 問題概要 解説1 解説2 提出プログラム 感想 問題概要長さの正整数列が与えられる.以下の条件を満たすをすべて求めよ. すべてのを満たす整数について,である. 解説1となるのは,がの任意の素因数を持たないことと同じです.のすべての素因数…

ABC204のPythonによる実装

Pythonを使っている人に需要がありそうなので書きます. ※この記事は解法ではなく実装の解説を行います.解法が知りたい場合は別の記事を読んでください. A問題 B問題 C問題 D問題 感想 E以降は需要ありそうだったら書きます.A問題入力を受け取って計算結…

Pythonモジュールまとめ

競プロ使うPythonのモジュールの使い方をメモしていきます. Counter(頻度分布) permutations(順列列挙) combinations(組合せ列挙) deque defaultdict(デフォルト辞書) Counter(頻度分布)リストや文字列を与えると要素ごとの出現頻度がわかる(辞書型みたいな…

Python高速化まとめ

競プロでのPythonはたとえ高速な(C++は通るような)アルゴリズムでも実装の仕方によってはTLEする(他の高速な言語に比べてしやすい). Pythonの高速化の方法について気づいたことをまとめていく. 関数化 リストの内包表記 MOD計算 deque タプル 参考 関数化な…