[C#] AtCoder Beginner Contest 147 に参加した振り返り記録と解説
AtCoder Beginner Contest 147 に参加した振り返り記録と解説 AtCoder Beginner Contest 147 – AtCoder AtCoder Beginner Contest 147 に参加した記録をしておきます。使用した言語はC#、結果はABCDの4完、パフォーマンスは1400くらいでした。過去最高のパフォーマンス、二度目の水色パフォがでました […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
AtCoder Beginner Contest 147 に参加した振り返り記録と解説 AtCoder Beginner Contest 147 – AtCoder AtCoder Beginner Contest 147 に参加した記録をしておきます。使用した言語はC#、結果はABCDの4完、パフォーマンスは1400くらいでした。過去最高のパフォーマンス、二度目の水色パフォがでました […]
[C#] 三井住友信託銀行プログラミングコンテスト2019 の記録 三井住友信託銀行プログラミングコンテスト2019 – AtCoder 三井住友信託銀行プログラミングコンテスト2019 に参加したのでその記録です。 AtCoder Beginner Contest (ABC) 相当の難易度のコンテストです。 結果は ABCD の4問解けて、Eは解けそうで解けませんでした。以下コンテス […]
C# で順列を求めたい next_permutation – cpprefjp C++日本語リファレンス C++ には next_permutation という順列を生成する関数が用意されています。これに似た関数を C# でもほしいので実装してみます。 next_permutation() まずは next_permutation() がどんな関数か見てみます。 例えば [1, 2, […]
C# で集合(コレクション)に対して演算を行う C# では Linq を使って、集合に対する演算を行えます。よくベン図で表現されるようなやつを C# で表現できます。 例えば2つの集合を足し合わせた集合を作ったり(和集合)、2つの集合両方に含まれる要素からなる集合を作ったり(積集合)ができます。 ここでは和集合、積集合、差集合を求めてみます。 和集合(Union) いずれかに含まれる 集合 x と […]
文字列を逆順に反転して並べ替える方法 C#, VB.NET で文字列を逆順に反転させる方法をまとめます。 まず、Linq で Reverse() というコレクションを逆順にするメソッドがあります。これを文字列に対して使うことで逆順の IEnumerable<char> が得られます。 逆順のデータが得られたらあとはそれを文字列にするだけです。 得られたデータを配列にしてから new s […]
[C#] 単語の繰り返しを正規表現で探す方法 C# で正規表現を使って単語が繰り返されているかを判定する方法を調べました。 例えばある文字列に “ABC” が含まれるかどうかは以下のように書けます。 var reg = new Regex("ABC"); if (reg.IsMatch("XXABCBCAAXX")) { Console.WriteLine("OK: XXA […]
C# でランレングス圧縮 連長圧縮 – Wikipedia C# で ランレングス圧縮 を実装してみます。ランレングス圧縮についてはWkipediaを引用すると以下のようなものです。 連長圧縮は、データ圧縮アルゴリズムの一つで、可逆圧縮に分類される。ランレングス圧縮、RLE (Run Length Encoding) とも呼ばれる。 連長圧縮では、ある連続したデータを、そのデータ一つ分 […]
C# で複数のコンストラクタを呼び出す方法 [コンストラクターの使用 – C# プログラミング ガイド | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-constructors* C# でコンストラクタを複数呼び出す方 […]
Union-Find木 とは 素集合データ構造は、データの集合を素集合(互いにオーバーラップしない集合)に分割して保持するデータ構造。このデータ構造に対する以下の2つの便利な操作をUnion-Findアルゴリズムと呼ぶ。 Find: 特定の要素がどの集合に属しているかを求める。2つの要素が同じ集合に属しているかの判定にも使われる。 Union: 2つの集合を1つに統合する。 これら2つの操作をサポ […]
lower_bound と upper_bound lower_bound と upper_bound という2つの関数があります。これは C++ のSTLライブラリにある関数です。この関数を C# で実装していきます。 lower_bound – cpprefjp C++日本語リファレンス upper_bound – cpprefjp C++日本語リファレンス これらの関 […]