AtCoder Algorithm Lectures (@atcoder_aal) profile picture

AtCoder Algorithm Lectures 公式アカウントです。 新着講座や過去講座を定期的に紹介します。 競技プログラミングをやったことがない方も、ぜひ覗いてみてください。 AtCoder公式アカウント → @atcoder

Joined July 2026
AtCoder Algorithm Lectures の講座を紹介します 新着講座だけでなく過去講座も定期的に紹介します ・競技プログラミングを上達したい方 ・数学や情報科学に興味がある方(競プロ未経験でもOK) などさまざまな方に向けた講座があります 目的や興味に合った講座を見つけるきっかけになれば幸いです
15
2
56
5,070
「文字列の並べ替えと辞書順最小化」 複数の文字列を並べ替えて結合するとき、全体を辞書順最小にするにはどうすればよいでしょうか? 最適な並べ替え順を交換論法から導きます。議論では、文字列を無限回繰り返すという一見変わった見方も登場します。 講座:info.atcoder.jp/entry/algori…
1
4
635
「Wavelet Matrix(発展)」 以前紹介した「Wavelet Matrix(基礎)」の続編です。 基本的な構造や kth smallest の求め方を理解した方に向けて、モノイド集約値、矩形クエリ、二分探索など、Wavelet Matrix のさらに幅広い応用を解説します。 講座:info.atcoder.jp/entry/algori…
10
741
「Euclid の互除法」 Euclid の互除法は、最大公約数を求める整数論の基本アルゴリズムとして有名です。 ・59 x + 123 y = 100 を満たす整数 x, y を見つける といった問題にも応用できます。整数論に興味がある、競技プログラミングをしない方にもおすすめです。 講座:info.atcoder.jp/entry/algori…
1
9
922
「スパーステーブル」 スパーステーブルは、整数列に対して ・A[L], ..., A[R] の最小値は? といった、クエリに O(1) 時間で答えられるデータ構造です。 スパーステーブルは理解・実装が易しく、累積和の次に学ぶ区間クエリを扱うデータ構造としても適切です。 講座:info.atcoder.jp/entry/algori…
1
10
1,010
AtCoder Algorithm Lectures retweeted
・昔競プロをしていた引退勢 引退に限りませんが、競プロを続けた結果、コンテスト1回から得られる刺激や学びが減ってきて、熱意を失ってしまった方は結構居るのではないかと思います そのような方に、再び競プロでの学びを思い出すきっかけになると思うので、面白そうな講座を探してみてください
3
37
2,494
AtCoder Algorithm Lectures retweeted
・世界大会を目指す方 初心者向けの教材はたくさん再生産されています(これも重要) 上級者も使えるものは、作成に実力やコストが必要な一方評価されにくいこともあり、まとまった教材は少ないです AtCoderのおかげでそのような教材も作成できるようになりました、世界最高レベルを目指します
1
2
11
1,657
AtCoder Algorithm Lectures retweeted
・競プロ未経験で数学やアルゴリズムが好きな方 競プロは算数数学のような話題に触れ続けられるコミュニティで、プログラミングや競争に興味技がない人にとっても面白い、魅力的な話題が多くあります。 「プログラムでコンテスト出よう」とは到底思えない人でも界隈を知るきっかけを作りたいです
1
3
1
15
1,784
【本アカウントについて】 競技プログラミングや周辺の理論・テクニックを紹介します ・競プロ未経験で数学やアルゴリズムが好きな方 ・競プロで世界大会を目指す方 ・昔競プロをしていた引退勢 など、様々な方に合う講座があるので、ぜひフォローしてください AALとは:info.atcoder.jp/entry/algori…
5
1
50
10,790
「Parking Function」 n 台の車が、それぞれ希望する駐車位置から順に空き場所を探して駐車します すべての車が駐車できるような希望の組は、実は (n+1)^(n-1) 通りです なぜこんなに簡潔な公式になるのでしょうか?円環を利用した巧妙な数え上げを紹介します 講座:info.atcoder.jp/entry/algori…
2
9
1,436
(新着)「Prüfer code」 N 頂点のラベル付き木の個数は N の N-2 乗です。なぜこのような簡潔な公式が成り立つのでしょうか? 木と整数列を対応させる Prüfer code を解説します。 Cayley の公式の証明から、さまざまな木や森の数え上げへの応用まで扱います。 講座:info.atcoder.jp/entry/algori…
2
9
1,414
「線形漸化的数列の第K項」 線形漸化式から、第 K 項を高速に求める方法を解説します。 多項式剰余や、偶数次・奇数次部分の取り出しを用いることで、行列累乗よりも高速なアルゴリズムとして、Fiduccia のアルゴリズムと Bostan–Mori のアルゴリズムを導出します。 講座:info.atcoder.jp/entry/algori…
5
732
「Wavelet Matrix(基礎)」 Wavelet Matrix は、数列の任意の区間に対して Binary Trie の探索を行えるデータ構造です。 各層の 0, 1 列の累積和を利用して、このような探索を実現します。 図を見ながら仕組みや実装方法を理解できる講座です。 講座:info.atcoder.jp/entry/algori…
1
3
654
「素数篩」 合成数をふるい落とし、効率よく素数を列挙する「エラトステネスの篩」を解説します。さらに、素因数分解への応用や、線形篩・区間篩などの発展形も扱います。 実装も簡潔で、競技プログラミング初心者の方にも取り組みやすい講座です。 講座:info.atcoder.jp/entry/algori…
4
637
「トーナメント」 総当たり戦の勝敗を、勝者から敗者へ辺を張ることで表した有向グラフを「トーナメント」と呼びます。 この単純な定義から、強連結成分分解やハミルトンパスなどに関する、強い性質が導かれます。 グラフ理論の面白さを味わえる講座です。 講座:info.atcoder.jp/entry/algori…
7
1,105
「競技プログラミング基本用語集」 競技プログラミングの問題文や解説、数学などの学術書では、高校数学では見慣れない用語や記号も登場します。 本講座では、様々な分野で共通の基本用語や記号について、高校数学との慣習の違いにも注意して解説しています。 講座:info.atcoder.jp/entry/algori…
7
721
(新着)「Todd–Coxeter 法」 AB文字列に対して AA, BB の挿入・削除 ABA と BAB の置換 ができるとします。操作で互いに変形できる文字列は、実は 6 種類に分類されます。 このような構造を、関係式からグラフとして構成する「Todd–Coxeter 法」を解説します。 講座:info.atcoder.jp/entry/algori…
4
24
2,291
「Sperner の定理」 1, 2, ..., n からなる集合を、どの 2 つにも包含関係ができないよう選ぶとき、最大で何個まで選べるでしょう? この問いに答えるSpernerの定理を、2通りの方法で証明します 前提知識不要で、組合せ論や集合が好きな方は、特に楽しめる講座です 講座:info.atcoder.jp/entry/algori…
6
794
「Bostan–Mori のアルゴリズム(発展)」 線形漸化的数列の第 K 項を高速に求める Bostan–Mori 法を、さらに掘り下げます。 連続する複数項の計算や数列のシフトへの応用、転置原理との関係、FFT を利用した高速化を解説する、上級者向けの講座です。 講座:info.atcoder.jp/entry/algori…
8
678
「未訪問頂点へ進むグラフゲーム」 未訪問の頂点を選びながら駒を動かし、動けなくなった方が負けとなるゲームを考えます 一見すると複雑ですが、実は勝敗は最大マッチングによって特徴づけられます 組合せゲームの中でも、解法が珍しく意外性のある有名問題です 講座:info.atcoder.jp/entry/algori…
1
5
724