beet's soil

競プロのことなど

テクニック

2種類のEuler Tourについて

メモ

セグメント木上の二分探索

忘備録

Link Cut Treeで部分木の情報を管理する

読者層が限定されすぎていませんか?

C++使いのためのPython3チートシート

うぃーんビートビートひるどwwwwwwうっくっくwwwwwwえいえいえt(←いずらいt)いえいwwwwらて。

競技プログラミングのための代数入門

モノイド!(素振り)

セグ木に載せるモノイドまとめ(未完)

ネタバレ大量なので注意

条件付きの包除原理

メモ

競プロのライブラリのつくりかた

git clone https://github.com/beet-aizu/library.git

典型データ構造まとめ

なんか前回伸びたので

典型テクニックまとめ(移転済)

MathJax を使うために移転しました beet-aizu.hatenablog.com

多重vectorを可変引数テンプレートで

vector<vector<vector<...... > > > > >みたいなのを再帰的に定義させてほしい— beet (@beet_aizu) 2018年4月8日vector<vector<...>> みたいなのは普通に Variadic Templates で作れるけどそれだとダメなのかな— すいばか (@suibaka_ku) 2018年4月8日https://t.co/tUwRlZkjIq— すいばか (@suibak</vector<...></vector<vector<......>…

std::vector::emplaceのargsに自身の要素を指定してはいけない

突然ですが以下のコードは何が出力されるでしょうか? #include<vector> #include<iostream> #include<numeric> using namespace std; signed main(){ vector<int> v(8); iota(v.begin(),v.end(),0); v.pop_back(); v.emplace(v.begin(),v.back()); cout<</int></numeric></iostream></vector>

Heavy-Light Decomposition

この記事は 「競プロ!!」 競技プログラミング Advent Calendar 2017 - Adventar の13日目の記事として書いています。

遅延伝播セグメント木について(旧:遅延評価セグメント木について)

もう12月まじ?こわれる

セグ木の実装例

ソースを載せると文字数こわれるので分けることにしました。

セグメント木について

注意 間違い、改善点等を見つけたら教えてもらえると助かります。(直すとは言ってない)

mapのsize()について

if(!ms.count(a)) ms[a]=ms.size(); とすると左辺から評価されるのでバグる。if(!ms.count(a)) ms[a]=ms.size()-1; または、 if(!ms.count(a)){int k=ms.size();ms[a]=k;} としないといけない。ハマったのでメモ。

競技プログラミングのライブラリ

作ったもの/これから作るもののリストをまとめる(つもり) もう更新していません(2020/02/04) こっちを見て beet-aizu.github.io