NISHIO Hirokazu
[Translate]
配列もリストも都合が悪い
配列
でも
リンクトリスト
でも都合が悪い時
しばしば
フェニック木
セグメント木
平衡二分木
帰着する力
Tweet
Related Pages
セグメント木
リンクトリスト
帰着する力
フェニック木
平衡二分木
→
選択
×
配列
×
文章を書く
×
川喜田_二郎
×
梅棹_忠夫
×
知的生産の技術
×
こざね法
×
分類するな、配列せよ
×
kj法
×
選別
×
構成
→
選択と配列
→
データ構造
×
平衡二分探索木
×
秋葉_拓哉
×
treap
×
RBST
×
スプレー木
×
block_linked_list
×
skip_list
×
スキップリスト
×
平衡二分木
→
プログラミングコンテストでのデータ構造2平衡二分探索木編
→
帰着する力
×
計算量の見積もり
×
abc165c
×
agc048
×
思考の部品
×
abc034c
×
arc106d
×
貪欲法の証明パターン
×
abc146d
×
agc038a
×
agc036a
×
arc083a
×
arc026b
×
arc040c
×
arc024b
×
cf17_final_c
×
agc024b
×
soundhound2018_summer_qual_c
×
panasonic2020_d
×
arc091b
×
公式より小オーダー
×
abc147d
×
abc006c
×
abc070d
×
abc125c
×
agc014b
×
agc018a
×
abc132d
×
abc014c
×
aising2019c
×
code_festival_2017_quala_c
×
abc109d
×
abc112c
×
agc003b
×
arc062b
×
agc024c
×
indeednow_2015_quala_c
×
abc016d
×
abc121d
×
agc033a
×
arc054b
×
arc092a
×
arc052b
×
abc080c
×
tenka1_2017c
×
abc105c
×
abc032c
×
abc054c
×
diverta2019_2_c
×
indeednow_2015_qualc_c
×
abc089d
×
abc157d
×
abc012d
×
abc154e
×
arc032b
×
abc126d
×
arc081b
×
abc138e
×
tenka1_2018_c
×
nikkei2019_qual_c
×
abc019c
×
abc140d
×
arc042b
×
arc064a
×
arc034b
×
abc124d
×
arc037b
×
arc097b
×
arc097a
×
arc036b
×
abc096d
×
abc150d
×
doing
×
sumitb2019_e
×
nomura2020c
×
code_festival_qualb_c
×
m_solutions2019d
×
agc019b
×
abc103d
×
agc029b
×
arc087b
×
arc014c
×
abc165e
×
agc006b
×
codefestival_2016_final_c
×
agc031b
×
agc022b
×
agc032b
→
帰着訓練
→
アイデア
×
分類
×
配列
×
梅棹_忠夫
×
知的生産の技術
×
分類が目的ではない
×
情報カード
×
予期しない関連
×
事後的に構造化
×
死んだテキストを置く倉庫にしない
×
生簀のメタファー
×
分類してはいけない
→
分類するな、配列せよ
→
数え上げ
×
degwer
×
状態をまとめる
×
dpは全探索の高速化
×
arc059f
×
codefestival_2016_final_f
×
aoj2439
×
探索順の変更
×
大きい順に並べる
×
aoj2333
×
順列は挿入dp
×
bit_dp
×
区間は終点でソート
×
条件の言い換え
×
操作は多いが産物は少ない
×
agc013d
×
線形和への分解
×
演算順序の変更
×
ビット演算を桁ごとに分解
×
部分群
×
操作が可逆で全域→部分群
×
ラグランジュの定理
×
再帰的定義→dp
×
arc037d
×
桁dp
×
aoj0570
×
累積和
×
フェニック木
×
高速フーリエ変換
×
ntt
×
高速ゼータ変換
×
and_と_add_の畳み込み
×
二分累乗
×
agc013e
×
行列木定理
×
全域木の個数
×
lgv公式
×
非交叉経路の個数
×
小さい確率を無視する
×
二項係数の公式
×
経路数
×
45度回転
×
xとyにわける
×
カタラン数
×
包除原理
×
agc005d
×
約数系包除
×
arc064f
→
数え上げテクニック集
→
問題変換
×
フェニック木
×
動的計画法
×
dp_e
×
abc191
×
値域を定義域にする
×
定義域より値域が狭い関数
→
値域と定義域の交換
→
フェニック木
×
値域を定義域にする
×
クエリがたくさん問題
→
多くのものと大小比較→フェニック木
→
行列の半分
×
和の順序
×
期待値dp
×
dp_j
×
頻度表
×
フェニック木
×
abc194f
×
atcoder202103
→
ABC194
→
最小カットに帰着
×
最大流
×
project_selection_problem
×
aclpc_d
×
最大二部マッチング
×
帰着する力
×
最小費用流に帰着
→
最大流に帰着
→
range_add_point_read
×
セグメント木
×
abc188
×
累積和
×
増分リスト
×
range_add
→
RangeAddは二つのPointAdd
→
最長増加部分列
×
dilworthの定理
×
座標圧縮
×
フェニック木
×
二分探索
×
更新され二分探索できる配列
→
ABC134E
→
クエリの先読み
×
二次元の片方を時間軸にする
×
二項ヒープ
×
フェニック木
×
多くのものと大小比較→フェニック木
×
クエリがたくさん問題
×
abc174
×
mo's_algorithm
→
ABC174F
→
オイラー路
×
グリッド上の幅優先探索
×
ハンガリアン法
×
二部グラフの最大マッチング
×
二重辺連結成分分解
×
二重頂点連結成分分解
×
全点対間最短路
×
単一始点最短路
×
強連結成分分解
×
彩色数
×
最大クリーク
×
最大流
×
最大独立集合
×
最小全域有向木
×
最小全域木
×
最小流量制限付き最大流
×
最小費用流
×
橋/関節点
×
bit
×
binary-trie
×
convex-hull-trick-add-monotone
×
li-chao-tree
×
link-cut木_部分木クエリ
×
link-cut木
×
ウェーブレット行列
×
スパーステーブル
×
スライド区間の昇順k個の和
×
セグメント木
×
トライ木
×
マージ可能ヒープ
×
列の平方分割
×
平衡二分探索木
×
永続配列
×
素集合データ構造
×
unionfind
×
ローリングハッシュ
×
接尾辞配列
×
最長共通接頭辞
×
最長回文
×
回文
×
複数文字列検索
×
hl分解
×
全方位木dp
×
最小共通祖先
×
木の直径
×
木の重心分解
×
根付き木に変換
×
mod-pow
×
オイラーのφ関数
×
オイラーのφ関数テーブル
×
ベル数
×
ラグランジュ補間
×
二項係数
×
二項係数テーブル
×
任意mod畳み込み
×
分割数
×
分割数テーブル
×
商列挙
×
形式的冪級数
×
形式的べき級数
×
拡張ユークリッドの互除法
×
拡張ユークリッド互除法
×
第2種スターリング数
×
約数列挙
×
素因数分解
×
素数テーブル
×
素数判定
×
組合せ
×
行列演算
×
進数変換
×
階乗
×
離散対数問題
×
高速フーリエ変換
×
divide-and-conquer-optimization
×
monotone-minima
×
スライド最小値
×
一次元累積和
×
二次元累積和
×
個数制限付きナップサック
×
最大長方形
×
最適二分探索木
×
最長増加部分列
×
ダブリング
×
包除原理
×
燃やす埋める問題
×
燃やす埋める
×
牛ゲー
×
mo’s_algorithm
×
offline-dynamic-connectivity
×
座標圧縮
×
アルゴリズム
→
Luzhiled's memo
→
二次元の片方を時間軸にする
×
フェニック木
×
ABC186F
×
二次元累積和
×
長方形クエリ
→
長方形区間カウント
→
帰着する力
×
小さい制約の問題
×
nが8前後の制約
×
nが10~20前後の制約
×
n_が_30~40前後の制約
×
n_が_50前後の制約
×
n_が_300~500前後の制約
×
n_が_1000_前後の制約
×
小さな定数に注目
×
変数を一つ固定する
×
3つのものの真ん中を固定
×
行列の半分
×
xとyにわける
×
操作の不変量に注目
×
偶奇に注目
×
偶奇で場合わけ
×
操作の順番によらない
×
時間軸反転
×
元に戻せる操作
×
左右から累積積
×
等差数列の加算は差に注目
×
区間反転の合成はxor
×
grundy数
×
余事象を引く
×
k番目の数を二分探索
×
xorは繰り上がりのない足し算
×
xorは桁ごとに分割可能
×
45度回転
×
差の最小化は中央値
×
代表的なグラフで考察
×
木は二部グラフ
×
木の直径
×
最大化を二分探索で
×
選択肢が少ない方から貪欲
×
二次元座標を二部グラフにする
×
順序を有向グラフにする
×
凸関数の極値は三分探索
×
単調増加ならしゃくとり法
×
等比数列は剰余に注目
×
n進数は剰余に注目
×
括弧列は上り下り
×
競技プログラミングで解法を思いつくための典型的な考え方
×
keyence2020_d
×
abc152_f
×
agc026_c
×
arc060_a
×
joi2008ho_c
×
abc034d
×
abc138e
×
abc023d
→
競技プログラミングで解法を思いつくための典型的な考え方
→
僕のatcoderの学び方(〜緑)
×
僕のatcoderの学び方(〜青)
×
arc106
×
気づきの言語化
×
結晶化
×
変形テクニックに名前をつける
×
行列の半分
×
二項定理
×
足し算の順序の変更
×
概念のハンドル
×
テストできるスニペットライブラリ
×
unionfind
×
mod_pでの組み合わせ
×
educational_dp_contest
×
動的計画法
×
atcoder_library_practice_contest
×
AtCoder Library
×
帰着する力
×
帰着訓練
→
僕のatcoderの学び方(〜水色)
→
アルゴリズム
×
蟻本
×
区間スケジューリング
×
二分探索木
×
unionfind
×
最短路問題
×
最小全域木
×
ユークリッドの互除法
×
ニ分探索
×
しゃくとり法
×
半分全列挙
×
座標圧縮
×
セグメント木
×
binary_lndexed_tree
×
バケット法
×
平方分割
×
ビットdp
×
bitdp
×
行列累乗
×
繰り返し二乗法
×
最大流
×
最小カット
×
二部マッチング
×
一般マッチング
×
マッチング
×
辺カバー
×
安定集合
×
点カバー
×
最小費用流
×
凸包
×
grundy数
×
強連結成分分解
×
2-sat
×
lca
×
ダブリング
×
接尾辞配列
×
Sparse Table
×
rmq
×
atcoder
→
プログラミングコンテストチャレンジブック
→
multiset
×
ABC170 E
×
heapq
×
heapq+dict
×
bisect
×
フェニック木
×
bit
×
座標圧縮
×
平衡二分木
×
RBST
×
データ構造
→
Pythonでmultiset
→
帰着する力
×
帰着訓練
×
思考の結節点2020-12-18
×
agc049
×
agc048
×
agc047
×
特殊な制約の問題
×
一度ある状態になると抜け出せない
→
帰着関連2
→
交叉半束
×
結合法則
×
交換法則
×
冪等性
×
セグメント木
×
スパーステーブルとセグメント木
×
最小共通祖先
×
オイラーツアー
×
range_minimum_query
×
2d_sparse_table
×
2d_range_minimum_query
×
スパーステーブル
→
Sparse Table
→
モノイド
×
結合則
×
単位元
×
セグメント木
×
範囲縮約
×
範囲作用
×
半分遅延セグメント木
×
双対セグメント木
×
ACL Beginner Contest
×
遅延セグメント木
×
遅延伝播segment木
→
遅延伝搬セグメント木
→
スパーステーブル
×
セグメント木
→
スパーステーブルとセグメント木
→
abc186
×
余事象を引く
×
削除可能集合で不等号条件
×
ACL1A
×
フェニック木
×
長方形区間カウント
→
ABC186F
→
acl1
×
scc
×
dsu
×
順番を固定することで覚えるべき情報を減らす
×
ゼロフィルのリンクトリスト
×
フェニック木
×
削除可能集合で不等号条件
×
二者間の関係からより大きな構造ができる
→
ACL1A
→
ソート済み配列
×
二分探索
×
リンクトリスト
×
フェニック木
×
削除可能集合
×
不等号条件
×
問題変換
→
削除可能集合で不等号条件
→
帰着する力
→
正解にたどりつけないパターン
→
帰着する力
×
agc022c
×
ゴールから逆算
×
2回やっても意味がない
×
最適な操作の順番が一位
×
コストが2^k→辞書順最小
×
1〜xで足りて1〜x-1で足りない時xは必須
×
問題変換
×
問題分割
×
状態情報の圧縮
→
典型力
→
オーバーフロー罠
×
フェニック木
×
longest_common_substring
×
編集距離
→
ABC185
→
aclpc_l
×
PAST4K
×
フェニック木
→
転倒数
→
第四回_アルゴリズム実技検定
×
転倒数
×
aclpc_l
×
フェニック木
→
PAST4K
→
atcoder_library_practice_contest
×
セグメント木
→
ACLPC J
→
atcoder_library_practice_contest
×
フェニック木
→
ACLPC B
→
第三回_アルゴリズム実技検定
×
リンクトリスト
→
PAST3K
→
双方向リンクトリスト
×
削除しかしないリスト
×
リンクトリスト
→
ゼロフィルのリンクトリスト
→
最小全域木
×
端から埋める
×
セグメント木
×
双方向リスト
×
削除しかしないリスト
×
ゼロフィルのリンクトリスト
×
隣だけを見れば良い
×
辺の削減→最小全域木
→
arc076_b
→
累積和
×
いもす法
×
セグメント木
×
abc179
→
ABC179D
→
帰着する力
×
ソートしても一般性を失わない
×
ユークリッドの互除法
×
最長経路探索
×
負の費用
×
最小費用流
×
偶奇で場合わけ
×
小さい問題を力づくで解いて観察
×
tutte_の定理
×
二部グラフ判定
→
ARC105
→
最大流最小カット定理
×
ベクトル複素数変換
×
値域と定義域の交換
×
フェニック木
×
座標圧縮
×
桁dp
×
project_selection_problem
×
最小費用流
×
形式的べき級数
×
双対線形計画問題
→
問題変換
→
atcoder
×
atcoder_library_practice_contest
×
numba
×
cython
×
フェニック木
×
セグメント木
×
遅延伝搬セグメント木
×
接尾辞配列
×
lcp_array
×
pythonでの累乗・逆数・階乗・階乗逆数・組み合わせ
×
中国剰余定理
×
floor_sum
×
np.convolve
×
two_snuke
×
長整数が速い
×
dsu
×
unionfind
×
最大流
×
最小費用流
×
scc
×
2-sat
→
AtCoder Library
→
順序のない列は多重集合
×
並び替え→頻度カウント
×
頻度カウントは範囲和
×
累積和
×
二者間の関係からより大きな構造ができる
×
重なるなら同じ長さ→偶数長のブロック
×
帰着する力
→
ARC104
→
セグメント木
→
範囲和
→
AtCoder Library
×
遅延伝搬セグメント木
×
連結成分
×
unionfind
×
セグメント木
×
動的計画法
×
集めるdp
×
範囲縮約
×
平方分割
×
畳み込み
×
包除原理
→
ACL Beginner Contest
→
セグメント木
×
モノイド
×
圏
→
セグメント木の上に乗る構造はモノイドではなく圏
→
平衡二分木
→
PythonからC++のsetを使う
→
セグメント木の可視化
×
遅延伝搬セグメント木
×
セグメント木
×
双対セグメント木
×
設計の違い
×
下への伝搬の影響範囲
×
up演算
×
分配法則
×
汎用で実用的な遅延伝搬セグメント木の実装
→
遅延伝搬セグメント木の可視化
→
セグメント木
×
双対セグメント木
×
遅延伝搬セグメント木
×
結合法則
×
交換法則
×
双対セグメント木の下への伝搬
×
遅延伝搬セグメント木の可視化
×
dsl_2_d_range_update_query
→
セグメント木の可視化
→
遅延伝搬セグメント木
×
遅延セグメント木
×
セグメント木
→
遅延伝播segment木
→
フェニック木
→
DP Q
→
座標圧縮
×
setはメモリ食い
×
numba
×
numbaに複雑な型を渡す
×
numba_bisect
×
numpy.unique
×
長方形グラフ探索
×
番兵
×
numba_np.concatenate
×
csr_matrix
×
リンクトリスト
×
mprof
×
atcoder
→
ABC168 F
→
ABC170 E
×
Pythonでmultiset
×
平衡二分木
×
フェニック木
×
numba
→
RBST
→
abc170
×
heapq
×
ヒープキュー
×
セグメント木
×
フェニック木
×
座標圧縮
×
標準入出力でtle
→
ABC170 E
"
Engineer's way of creating knowledge
" the English version of my book is now available on
[Engineer's way of creating knowledge]
(C)NISHIO Hirokazu / Converted from
[Scrapbox]
at
11/23/2025, 5:36:47 PM
[Edit]