けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

制約条件:ある値=K

AtCoder ARC 186 A - Underclued (4D, 橙色, 900 点)

久しぶりに高難易度問題を解いてみた! 問題へのリンク 問題概要 各マスの値が 0 または 1 である グリッドを考える。 グリッド のマス が「固定されている」とは、次の条件を満たすすべての グリッドについて、マス の値が一意に決まることをいう。 すべて…

鉄則本 A14 - Four Boxes (2Q, ★5)

半分全列挙の典型問題! 問題へのリンク 問題概要 長さが の 4 つの数列が与えられる。これらから要素を 1 個ずつとってきて、総和を にすることが可能か判定せよ。 制約 メモ 「半分全列挙」を用いる。詳細は鉄則本にて。 コード #include <bits/stdc++.h> using namespace</bits/stdc++.h>…

鉄則本 A05 - Three Cards (5Q, ★2)

計算時間の意識が必要になる問題! 鉄則本の問題なのでメモ程度に。 問題へのリンク 問題概要 赤・青・白の 3 枚のカードがあり、それぞれに 1 以上 以下の整数を書き込む。 3 枚のカードの数の合計を にする書き方は何通りあるか? 制約 メモ 赤・青・白の…

鉄則本 B03 - Supermarket 1 (6Q, ★2)

「組」を全探索する問題! 問題へのリンク 問題概要 個の整数 から 3 個選んで、その和を 1000 にすることが可能かどうかを判定せよ。 解法 github.com コード #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<int> A(N); for (int i = 0; </int></bits/stdc++.h>…

鉄則本 A03 - Two Cards (7Q, ★1)

二重 for 文の練習! 鉄則本の例題なので解法はメモ程度に。 問題へのリンク 問題概要 2 つの数列 と が与えられる。 これらから要素を 1 つずつ選び、和が となるようにすることが可能か判定せよ。 メモ 二重の for 文を使おう! コード #include <bits/stdc++.h> using na</bits/stdc++.h>…

AtCoder ABC 183 C - Travel (3Q, 灰色, 300 点)

C++ なら next_permutation() を使うことで 通りの全探索ができる! 問題へのリンク 問題概要 個の都市 がある。都市 と都市 とは距離が だけ離れている。 都市 から出発して各都市をちょうど一度ずつ訪問して都市 に戻ってくる方法のうち、その移動距離の総…

AtCoder ARC 045 C - エックスオア多橋君 (1D, 試験管黄色)

XOR について a ^ a = 0 な性質を上手く使う問題として。 問題へのリンク 問題概要 頂点の重み付きツリーが与えられる。 整数 が与えられ、ツリー上のパスであってパス上の重みの XOR 和が となるものが何個あるかを数えよ。 制約 考えたこと 根を 1 つ決め…

AtCoder AGC 025 B - RGB Coloring (青色, 700 点)

最初迷走したけど、順位表見ると上位陣が 5 分とかで解いていて、「いくらなんでもこの方針で 5 分はない、きっとなにか簡潔な視点があるはず」と思えて思い付けたのがよかった。 問題へのリンク 問題概要 N 個のマスを赤、緑、青、無の 4 色に塗り分ける。 …