2026-07

競技プログラミング

【C#】ABC451 C問題備忘録

問題追加と削除のクエリがあり、それぞれのクエリごとの結果を出力する。制約上クエリの最大数が多いので、1回の計算量が多いとTLEしてしまう。……という、C問題界隈ではよくあるいつものやつ。解説しかし、アプローチが異なるため初心者は躓きやすい。...
プログラミング

【C#】優先度付きキュー(二分ヒープ)をとにかく自力で実装しよう

C++とかPythonはいいよなぁー!! 言語仕様に元々あってさあ! C#にもあるけど競プロ用としてはちょっと使いにくいんだよねえ!! デフォルトで最小ヒープだしインスタンス化の引数が2個あるし。手っ取り早くスッと使わせてもらえない感じ。い...
競技プログラミング

【C#】ABC454 C問題備忘録

問題タイトル通りわらしべ長者。わらしべ有向グラフを渡り歩いて到達可能な頂点を数え上げる。解説グラフ理論を用いた探索。これを表現する実装が分かれば苦労しない。……分かれば、苦労しないはずなんだ……。(n敗)隣接リストを用意する。このリストにあ...
競技プログラミング

【C#】ABC450 BC問題備忘録

今回のB問題はちょっと癖のある問題だったのでそちらも含みます。B問題一直線の電車の路線で一方向のみ、直に行くよりも途中下車で安く済ませられる区間はあるかどうか。N<=100と制約がそこまで大きくないので特に凝った解法は必要なく全探索できるが...
プログラミング

【C#】よく使うのに忘れがちな書き方備忘録

競技プログラミングで忘れがちなので個人用に。VisualStudioに「こっちの書き方でいんじゃね?」と教えられることが多いものを特に重点的に置いておく。競プロ用のため、記事内のC#コードのバージョンは13.0が前提です。一部は13.0でな...
競技プログラミング

【C#】ABC456 BC問題備忘録

B問題も少し難しかったのでそちらも備忘録。色々あって(コンテストは数ヶ月前)ところどころ何があったか忘れてるかも。B問題6面サイコロ3つを振り、「4」「5」「6」の目が一つずつ出る確率を誤差10-6以下で出力。しかも6面に書かれる目は指定さ...