整数論テクニック集
1 基本: アルゴリズムについて 2
1.1 アルゴリズムにおける不変量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 mod p 上の計算 (モジュラー演算) 3
2.1 基本: 整数の加減乗除 (Lv. 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 基本: 逆元 (Lv. 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 基本: 分数の加減乗除 (Lv. 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 モノイド的構造を見つけて二分累乗する (Lv. 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 うまい変形で除算を回避する (Lv. 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1 素数の abundance で殴る (Lv. 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5 mod p のアルゴリズム 9
5.1 基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 群論 (Lv. 4) 14
6.1 群 (Lv. 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 平方剰余の相互法則と 2 次体 (Lv. 4) 15
7.1 ルジャンドル記号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2 平方剰余の相互法則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7.3 2 次体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7.4 有限体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.5 フロベニウス写像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.6 応用例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8 mod p のアルゴリズム その 2 18
8.1 mod sqrt その 2, Lehmer のアルゴリズム (Lv. 3) . . . . . . . . . . . . . . . . . . . . . . . . . 18 8.2 mod sqrt その 3, Cipolla のアルゴリズム (Lv. 4) . . . . . . . . . . . . . . . . . . . . . . . . . 21 9 多項式を使うテク (Lv. 4) 22
9.1 高速フーリエ変換 (FFT) (Lv. 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 9.2 フェルマーの小定理 (Lv. 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.3 巡回群構造を用いた特殊な畳み込み (Lv. 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29