木構造における敬愛関係に基づく頂点削除順序

根付き木が与えられます。各頂点は 1 から n まで番号が付けられており、pi は頂点 i の親、ci は敬愛フラグです。ci = 1 のとき頂点 i は祖先を敬愛しておらず、ci = 0 のときすべての祖先を敬愛しています。根の pi は -1 です。 以下の条件を満たす非根頂点を 1 つ選び削除を繰り返します。 親を敬愛していない。 すべての子が自分を敬愛していない(子がいない場 ...

8月20日 11:44 投稿

ICPC南京2025 区域赛 CFGIJ 解法まとめ

C. キャンディの均等配分 問題の本質は「奇数個のキャンディは必ず偶数を生むため分割不可」という観察にある。したがって入力が偶数であれば単純に半分に分ければよく、奇数なら即座に不可と判定する。 void judge() { long long N; std::cin >> N; if (N & 1) { std::cout

7月18日 21:14 投稿

UKIEPC 2017 プログラミングコンテスト問題解説

Problem A: Alien Sunset 各惑星の自転周期、日の出時刻、日の入り時刻を格納します。自転周期の最大値(max_period)を求め、0からmax_period×1825までの時間を列挙します。各時間について全ての惑星で夜間であることを確認し、条件を満たす最初の時刻を出力します。 #include <bits/stdc++.h> using namespace std; struct Planet { int period, sunrise, sunse ...

7月15日 16:15 投稿

Codeforces 909 問題A〜Fの解説

Codeforces 909 問題解説 問題URL A B C D E F 難易度:赤 黄 緑 青 緑 紫 解説 A 問題概要:2つの文字列が与えられる。非空の接頭辞を連結した文字列の中で辞書順最小のものを求める。 アルゴリズムラベル:貪欲 解法分析: 辞書順比較は左から順に文字を比較し、どちらかが終了するか異なる文字が見つかるまで続ける。このため、貪欲法が有効。前後の文字列の接頭辞を比 ...

6月26日 19:39 投稿