プログラミング

プログラミング

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

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

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

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

【C#】BFS・DFSを実装する

BFS(幅優先探索)とDFS(深さ優先探索)を実装する力を身につけるための記事です。「概念は分かってんだよ」という人のためにそこの説明は軽くやっておしまいです。枝切り(枝刈り)探索についてはここでは扱いません。記事内のコードのバージョンはC...
プログラミング

【C#】再帰ってどうやって書けばいいんだ?となった時に読む記事

再帰の書き方に苦手意識を持つ全ての初心者プログラマを救済すべく書き上げました。嘘です。苦手意識を持ってたのは私です。使用環境はC#13.0、.NET 10.0。もしVisual Studioに「このバージョンでそんな書き方できネーヨ」と怒ら...
プログラミング

【C#】順列全探索を実装する備忘録

順列全探索がどういうことなのか、やっっっっっと分かったぁー……。分からなすぎて放置してたら1年以上経ってた恐怖。というわけで備忘録。つまり、C++にあるnext_permutationのようなものを書ければいい。戻り値どうすんの型どうすんの...