ひらめの日常

日常のメモをつらつらと

グラフ

LeetCode: Number of Good Leaf Nodes Pairs (Midium)

問題はこちら leetcode.com 二分木とそのルートのノードが与えられる。二つの葉のノードは、その最短距離が distance 以下だったときに「良いペア」となる。この「良いペア」となる葉の数を求めなさい。 考え方 dfsする。今見ているノードに対して左側と右側…

AtCoder: 第二回日本最強プログラマー学生選手権-予選- D Shortest Path on a Line (600)

問題はこちら atcoder.jp 個の点がある。その点に対して、以下のように回の操作を行い、辺を追加する。 となる頂点と頂点 の間にコストの辺を追加する。 最終的な頂点からまでの最短距離を求めよ。 以降は0-indexとして話を進める。 解法1 - seg木でdp が与…

AtCoder: ABC142-E Get Everything (500)

問題はこちら 考え方 解答 別解 問題はこちら atcoder.jp までの箱がある。 個目の鍵のコストは であり、 種類の箱を開けることができる。全ての箱を開けるために必要な費用の最小値を答えよ。不可能な場合は を出力せよ。 考え方 まず、これは割と複雑な遷…

AtCoder: 第一回日本最強プログラマー学生選手権-予選- D Classified (600)

問題はこちら atcoder.jp 今回はほぼ解説放送と解説ブログを参考にした自分用のメモ。 考え方 JSC2019予選 - D 「Classified」 (600) - Mister雑記 [AtCoder 参加感想] 2019/08/25:JSC2019予選 | maspyのHP 奇閉路が存在しないようにグラフを分割できれば良…

AtCoder: ABC040-D 道路の老朽化対策について (500)

道路の老朽化対策について タイトルだけ見ると政策の説明みたいだけど、競技プログラミングの問題。 問題はこちら。 atcoder.jp 都市をつなぐ道路が与えられるので、都市を頂点、道路を辺としてみたグラフを考えることにする。 Unionfindを使ってクエリごと…

AtCoder: ABC131-F Must Be Rectangular! (600)

Must Be Rectangular! 問題はこちら atcoder.jp 考え方 解説放送が一番わかりやすいと思うので、そちらを見ると良い。 https://www.youtube.com/watch?v=XI8exXVxZ-Qwww.youtube.com 座標を二部グラフで捉えるという考え方は典型らしい。 下記の座標を、x座…