競技プログラミングにおける構築技法と置換環の実装解説
A. 文字列生成の列挙処理
入力された2文字が同一か否かを判定し、条件を満たす文字列候補を列挙する。同一文字の場合は長さ1と2の2通り、異なる文字の場合は単体および結合形の計4通りを出力すればよい。
def solve_string_gen():
c1, c2 = input().split()
if c1 == c2:
print(2)
print(c1)
print(c1 * 2)
else:
print(4)
...
8月6日 05:07 投稿
Codeforces 近況コンテストにおける高度なアルゴリズム技法と実装パターン
区間交差関係に基づく最小全域木構築
与えられた区間集合において、交差する区間同士を結ぶ辺の重みを権重の差とし、生成されるグラフの最小全域木を求める問題。辺を全列挙すると計算量が爆発するため、幾何学的性質と貪欲戦略を組み合わせる。権重が小さい区間から順にアクティブな集合に追加し、各区間の挿入・削除タイミング(スライン法)において、権重でソートされ ...
6月24日 18:37 投稿