日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

擴(kuò)展盧卡斯定理詳解:解決組合數(shù)取模在合數(shù)模數(shù)下的計(jì)算難題

擴(kuò)展盧卡斯定理詳解:解決組合數(shù)取模在合數(shù)模數(shù)下的計(jì)算難題 1. 項(xiàng)目緣起從一道“卡脖子”的模數(shù)組合數(shù)說起幾年前我在準(zhǔn)備一場(chǎng)算法競(jìng)賽時(shí)遇到了一道讓我記憶猶新的題目。題目本身描述很簡(jiǎn)單給定一個(gè)巨大的組合數(shù) C(n, m)以及一個(gè)模數(shù) P要求計(jì)算 C(n, m) mod P 的值。這聽起來像是數(shù)論基礎(chǔ)題我信心滿滿地寫下了標(biāo)準(zhǔn)的預(yù)處理階乘和逆元的代碼。然而當(dāng)我提交時(shí)系統(tǒng)返回了一個(gè)大大的“Wrong Answer”。仔細(xì)一看模數(shù) P 的描述心里頓時(shí)涼了半截——這個(gè) P 不是一個(gè)質(zhì)數(shù)甚至不是一個(gè)質(zhì)數(shù)的冪而是一個(gè)任意的正整數(shù)比如 10007 或者 999983 這種質(zhì)數(shù)還好但題目給的可能是 1000、2016 甚至 1000000007 * 1000000009 這種合數(shù)。這就是經(jīng)典的“組合數(shù)取模”問題在模數(shù)非質(zhì)數(shù)時(shí)遇到的困境。我們熟悉的用費(fèi)馬小定理或擴(kuò)展歐幾里得求逆元的方法其前提是模數(shù)為質(zhì)數(shù)這樣才能保證在模意義下每個(gè)非零數(shù)都有乘法逆元。當(dāng)模數(shù)是合數(shù)時(shí)許多數(shù)沒有逆元整個(gè)基于階乘和逆元的遞推公式就失效了。我當(dāng)時(shí)卡在這道題上很久直到后來系統(tǒng)學(xué)習(xí)了“擴(kuò)展盧卡斯定理”Extended Lucas Theorem才豁然開朗。而 P4720正是洛谷上一道專門練習(xí)這個(gè)定理的經(jīng)典模板題。今天我就結(jié)合自己踩坑和實(shí)戰(zhàn)的經(jīng)驗(yàn)把這個(gè)強(qiáng)大工具的原理、實(shí)現(xiàn)細(xì)節(jié)和避坑指南掰開揉碎了講清楚。2. 核心問題拆解為什么普通盧卡斯定理不夠用在深入擴(kuò)展盧卡斯之前我們必須先理解普通盧卡斯定理Lucas Theorem的局限性這樣才能明白我們到底要解決什么問題。2.1 盧卡斯定理的適用場(chǎng)景與限制普通盧卡斯定理表述為對(duì)于質(zhì)數(shù) p有 C(n, m) ≡ C(n mod p, m mod p) * C(n/p, m/p) (mod p)。這是一個(gè)遞歸公式能將大規(guī)模組合數(shù)計(jì)算分解為小規(guī)模組合數(shù)計(jì)算通常配合預(yù)處理小范圍的階乘和逆元來快速求解。它的效率很高代碼也很簡(jiǎn)潔。然而它的核心限制就藏在前提里模數(shù) p 必須是質(zhì)數(shù)。這是因?yàn)樵谶f歸的底層我們需要計(jì)算 C(n‘, m’) mod p這通常通過公式 C n! / (m! * (n-m)!) 來計(jì)算而除法在模運(yùn)算中需要轉(zhuǎn)化為乘以其乘法逆元。逆元存在的充要條件就是該數(shù)與模數(shù)互質(zhì)。當(dāng)模數(shù)是質(zhì)數(shù) p 時(shí)只要分母的階乘不被 p 整除其逆元就一定存在。但一旦模數(shù) p 是合數(shù)分母的階乘很可能與模數(shù)有公因子導(dǎo)致逆元不存在整個(gè)計(jì)算鏈就斷裂了。2.2 合數(shù)模數(shù)帶來的真正挑戰(zhàn)當(dāng)模數(shù) P 是合數(shù)時(shí)直接計(jì)算 C(n, m) mod P 的難點(diǎn)可以歸結(jié)為兩點(diǎn)非互質(zhì)導(dǎo)致的逆元缺失在計(jì)算 n! / (m! * (n-m)!) 時(shí)分母可能與模數(shù) P 不互質(zhì)因此無法直接求逆元進(jìn)行模除。模數(shù)非質(zhì)數(shù)中國剩余定理CRT成為橋梁解決這個(gè)問題的核心思路是將合數(shù)模數(shù) P 質(zhì)因數(shù)分解為 P p1^k1 * p2^k2 * ... * pt^kt。如果我們能分別求出 C(n, m) 對(duì)每個(gè)質(zhì)數(shù)冪模數(shù) pi^ki 的余數(shù) ai即求解一系列同余方程x ≡ a1 (mod p1^k1) x ≡ a2 (mod p2^k2) ... x ≡ at (mod pt^kt) 那么根據(jù)中國剩余定理我們就可以唯一確定出 x 在模 P 意義下的值。所以問題的關(guān)鍵轉(zhuǎn)化為如何計(jì)算 C(n, m) mod p^k其中 p 是質(zhì)數(shù)k是正整數(shù)。這就是擴(kuò)展盧卡斯定理要解決的核心子問題。普通盧卡斯定理處理的是 mod pk1而擴(kuò)展盧卡斯將其推廣到了 mod p^k。3. 擴(kuò)展盧卡斯定理的核心原理剝離p因子與遞歸求解計(jì)算 C(n, m) mod p^k 不能直接用階乘逆元因?yàn)榉帜缚赡馨蜃?p導(dǎo)致與模數(shù) p^k 不互質(zhì)。擴(kuò)展盧卡斯定理的精妙之處在于它通過一種“剝離”技巧將階乘中所有 p 的因子分離出來單獨(dú)處理。3.1 第一步將階乘分解為“與p互質(zhì)部分”和“p的冪次部分”定義函數(shù)F(n, p, pk)用于計(jì)算 n! 中所有與 p 互質(zhì)的因子的乘積再對(duì) pk (即 p^k) 取模。同時(shí)我們記錄下 n! 中 p 這個(gè)質(zhì)因子的總次數(shù)記為G(n, p)。以 n22, p3 為例計(jì)算 22! mod 3^2 22! 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21 * 22 我們可以把它重寫為 22! (124578101113141617192022) * (36912151821) 進(jìn)一步把第二組每個(gè)數(shù)中的因子3提出來 22! (124578101113141617192022) * 3^7 * (1234567) 你會(huì)發(fā)現(xiàn)(124578101113141617192022) 這些數(shù)都與3互質(zhì)而 (1234567) 正好是 floor(22/3) 7 的階乘即 7!。于是我們得到一個(gè)遞歸定義 n! ≡ F(n, p, pk) * p^{G(n, p)} * (n/p)! (mod pk) 其中F(n, p, pk)計(jì)算了1到n中所有不被p整除的數(shù)的乘積模 pk。G(n, p) floor(n/p) floor(n/p^2) floor(n/p^3) ...即n!中質(zhì)因子p的個(gè)數(shù)。(n/p)!是遞歸部分。對(duì)于F(n, p, pk)的計(jì)算也有技巧。因?yàn)槟?shù)是 pk而1到pk中與p互質(zhì)的數(shù)會(huì)形成一個(gè)長(zhǎng)度為 φ(pk)pk-p^{k-1} 的循環(huán)節(jié)。我們可以先計(jì)算一個(gè)完整循環(huán)節(jié)內(nèi)所有與p互質(zhì)的數(shù)的乘積模 pk記為prod。那么n 以內(nèi)這樣的完整循環(huán)節(jié)有n / pk個(gè)每個(gè)循環(huán)節(jié)的貢獻(xiàn)是prod^{n/pk} mod pk。最后再乘以剩余的不完整部分即從floor(n/pk)*pk 1到 n 之間且與p互質(zhì)的數(shù)的乘積。3.2 第二步計(jì)算組合數(shù)模 p^k有了上面的分解組合數(shù)可以表示為 C(n, m) n! / (m! * (n-m)!) 將其用 F 和 G 函數(shù)表示 C(n, m) [F(n) * p^{G(n)}] / [F(m) * p^{G(m)} * F(n-m) * p^{G(n-m)}] [F(n) / (F(m) * F(n-m))] * p^{G(n) - G(m) - G(n-m)}我們的目標(biāo)是求 C(n, m) mod p^k。首先計(jì)算指數(shù)部分e G(n) - G(m) - G(n-m)。如果 e k說明組合數(shù)本身包含了至少 p^k 這個(gè)因子那么 C(n, m) mod p^k 0。如果 e k則繼續(xù)。計(jì)算互質(zhì)部分num F(n, p, pk) * inv(F(m, p, pk), pk) * inv(F(n-m, p, pk), pk) mod pk。這里inv(a, pk)表示 a 在模 pk 意義下的逆元。由于 F 函數(shù)計(jì)算的結(jié)果都是與 p 互質(zhì)的所以它們對(duì)模數(shù) pk 的逆元一定存在可以用擴(kuò)展歐幾里得算法求解。最終結(jié)果C(n, m) mod p^k num * p^e mod pk。3.3 第三步中國剩余定理CRT合成最終答案假設(shè)我們對(duì)合數(shù)模數(shù) P 分解后得到了 t 個(gè)方程 x ≡ ans_i (mod pi^ki), i1, 2, ..., t。 其中 ans_i 就是我們用上述方法計(jì)算出來的 C(n, m) mod pi^ki。中國剩余定理的求解過程如下計(jì)算M P。對(duì)于每個(gè) i計(jì)算Mi M / (pi^ki)。計(jì)算Mi在模pi^ki意義下的逆元inv_i因?yàn)?Mi 與 pi^ki 互質(zhì)逆元存在。最終解為x Σ(ans_i * Mi * inv_i) mod M。這一步在算法實(shí)現(xiàn)中通常使用“增量法”合并同余方程每次合并兩個(gè)方程逐步得到最終解比一次性計(jì)算所有逆元更易于編碼。4. 手把手實(shí)現(xiàn)擴(kuò)展盧卡斯模板理解了原理我們來看代碼實(shí)現(xiàn)。我將結(jié)合 P4720 這道模板題的要求給出一個(gè)清晰、健壯且包含詳細(xì)注釋的 C 實(shí)現(xiàn)。代碼會(huì)分為幾個(gè)核心函數(shù)。4.1 基礎(chǔ)工具函數(shù)快速冪與擴(kuò)展歐幾里得這些是數(shù)論算法的基石。// 快速冪計(jì)算 (base^exp) % mod long long qpow(long long base, long long exp, long long mod) { long long res 1 % mod; // 注意 mod1 的情況 base % mod; while (exp) { if (exp 1) res (res * base) % mod; base (base * base) % mod; exp 1; } return res; } // 擴(kuò)展歐幾里得算法求解 ax by gcd(a, b) // 返回 gcd(a, b)并通過引用返回 x, y long long exgcd(long long a, long long b, long long x, long long y) { if (b 0) { x 1; y 0; return a; } long long d exgcd(b, a % b, y, x); y - (a / b) * x; return d; } // 求 a 在模 mod 下的逆元前提是 gcd(a, mod) 1 long long inv(long long a, long long mod) { long long x, y; exgcd(a, mod, x, y); // 將逆元調(diào)整到 [0, mod) 范圍內(nèi) return (x % mod mod) % mod; }4.2 核心函數(shù) F計(jì)算剔除了p因子的階乘模 p^k這個(gè)函數(shù)對(duì)應(yīng)原理部分的F(n, p, pk)。/** * 計(jì)算 n! 中所有與質(zhì)數(shù) p 互質(zhì)的因子的乘積再對(duì) pk (p^k) 取模。 * param n 階乘的上限 * param p 質(zhì)數(shù) * param pk p^k即當(dāng)前處理的質(zhì)數(shù)冪模數(shù) * return n! 中與 p 互質(zhì)部分的乘積模 pk */ long long factorial_prime(long long n, long long p, long long pk) { if (n 0) return 1; long long res 1; // 1. 處理完整循環(huán)節(jié)周期為 pk每個(gè)周期內(nèi)與p互質(zhì)的數(shù)乘積相同 // 計(jì)算一個(gè)周期內(nèi)的乘積 long long cycle_prod 1; for (long long i 1; i pk; i) { if (i % p ! 0) { // 與p互質(zhì) cycle_prod (cycle_prod * i) % pk; } } // 共有 n/pk 個(gè)完整周期 res qpow(cycle_prod, n / pk, pk); // 2. 處理最后一個(gè)不完整的周期 for (long long i (n / pk) * pk 1; i n; i) { if (i % p ! 0) { res (res * (i % pk)) % pk; // i % pk 防止溢出且結(jié)果等價(jià) } } // 3. 遞歸處理 (n/p)! 中與p互質(zhì)的部分 // 因?yàn)?n! (1*2*...*n) (所有與p互質(zhì)的數(shù)) * p * (所有與p互質(zhì)的數(shù)) * ... // 遞歸部分正是 (n/p)! 中與p互質(zhì)的部分 return res * factorial_prime(n / p, p, pk) % pk; }注意這里有一個(gè)非常關(guān)鍵的優(yōu)化和易錯(cuò)點(diǎn)。在計(jì)算cycle_prod時(shí)我們是在模pk下計(jì)算1到pk之間與p互質(zhì)的數(shù)的乘積。pk可能很大比如 5^10直接循環(huán)pk次在n很大時(shí)會(huì)被多次調(diào)用可能成為性能瓶頸。在實(shí)際的高性能模板中通常會(huì)預(yù)處理這個(gè)值。但為了代碼清晰這里展示了最基本的邏輯。在真正解題時(shí)需要根據(jù)數(shù)據(jù)范圍權(quán)衡是否預(yù)處理。4.3 核心函數(shù) G計(jì)算 n! 中質(zhì)因子 p 的個(gè)數(shù)這個(gè)函數(shù)用于計(jì)算指數(shù)e。/** * 計(jì)算 n! 中質(zhì)因子 p 的個(gè)數(shù)。 * 公式G(n, p) floor(n/p) floor(n/p^2) floor(n/p^3) ... * param n 階乘的上限 * param p 質(zhì)數(shù) * return n! 中質(zhì)因子 p 的個(gè)數(shù) */ long long count_prime_factor(long long n, long long p) { long long cnt 0; while (n) { cnt n / p; n / p; } return cnt; }4.4 核心函數(shù) C_mod_pk計(jì)算組合數(shù)模質(zhì)數(shù)冪這個(gè)函數(shù)整合前兩步計(jì)算 C(n, m) mod p^k。/** * 計(jì)算組合數(shù) C(n, m) 對(duì)質(zhì)數(shù)冪 p^k 取模的結(jié)果。 * param n 組合數(shù)上標(biāo) * param m 組合數(shù)下標(biāo) * param p 質(zhì)數(shù) * param pk p^k * return C(n, m) mod pk */ long long combination_mod_prime_power(long long n, long long m, long long p, long long pk) { if (m n) return 0; if (m 0 || m n) return 1 % pk; // 1. 計(jì)算指數(shù) e G(n) - G(m) - G(n-m) long long e count_prime_factor(n, p) - count_prime_factor(m, p) - count_prime_factor(n - m, p); if (e 0) { // 實(shí)際上e永遠(yuǎn)0這里判斷是為了邏輯清晰也可以判斷 if (e k) return 0; // 如果 e k (即pk中p的冪次)那么結(jié)果模pk為0。這里k可以通過pk和p計(jì)算得到。 // 簡(jiǎn)便寫法如果 e 足夠大使得 p^e 是 pk 的倍數(shù)則直接返回0。 // 更嚴(yán)謹(jǐn)?shù)淖龇ㄊ怯?jì)算 k log(pk) / log(p) 的整數(shù)部分然后比較 e 和 k。 // 下面我們采用另一種方式先計(jì)算互質(zhì)部分如果 e 很大最后乘 p^e 時(shí)再取模。 } else { // 理論上不會(huì)出現(xiàn)負(fù)數(shù)因?yàn)榻M合數(shù)是整數(shù) return 0; } // 2. 計(jì)算互質(zhì)部分F(n) / (F(m) * F(n-m)) long long fn factorial_prime(n, p, pk); long long fm factorial_prime(m, p, pk); long long fnm factorial_prime(n - m, p, pk); long long num fn * inv(fm, pk) % pk * inv(fnm, pk) % pk; // 3. 乘以 p^e long long pe qpow(p, e, pk); // 注意這里是對(duì) pk 取模因?yàn)樽罱K結(jié)果是模 pk // 但是當(dāng) e k 時(shí)p^e mod pk 為 0所以這一步包含了 ek 時(shí)結(jié)果為0的情況。 return num * pe % pk; }踩坑點(diǎn)在計(jì)算num時(shí)一定要先對(duì)fm和fnm分別求逆元然后連乘取模。不能先計(jì)算fm * fnm % pk再求一次逆元因?yàn)槌朔赡芷茐幕ベ|(zhì)性導(dǎo)致逆元不存在。必須保證每個(gè)與pk互質(zhì)的數(shù)單獨(dú)求逆。4.5 核心函數(shù) exLucas主函數(shù)與CRT合并這是對(duì)外的接口處理合數(shù)模數(shù) P。/** * 擴(kuò)展盧卡斯定理主函數(shù)計(jì)算 C(n, m) mod PP 可為任意正整數(shù)。 * param n 組合數(shù)上標(biāo) * param m 組合數(shù)下標(biāo) * param P 模數(shù)任意正整數(shù) * return C(n, m) mod P */ long long exLucas(long long n, long long m, long long P) { if (m n) return 0; if (m 0 || m n) return 1 % P; long long mod P; // 存儲(chǔ) (質(zhì)數(shù), 質(zhì)數(shù)冪, 余數(shù)) 三元組 vectortuplelong long, long long, long long factors; // 1. 對(duì)模數(shù) P 進(jìn)行質(zhì)因數(shù)分解 for (long long i 2; i * i mod; i) { if (mod % i 0) { long long pk 1; while (mod % i 0) { mod / i; pk * i; } // 計(jì)算 C(n, m) mod i^pk long long res combination_mod_prime_power(n, m, i, pk); factors.emplace_back(i, pk, res); } } if (mod 1) { // 處理剩余的大質(zhì)數(shù) factors.emplace_back(mod, mod, combination_mod_prime_power(n, m, mod, mod)); } // 2. 如果只有一個(gè)質(zhì)因數(shù)直接返回結(jié)果 if (factors.size() 1) { return get2(factors[0]); } // 3. 使用中國剩余定理CRT合并所有同余方程 // 增量法合并x ≡ a1 (mod m1), x ≡ a2 (mod m2) // 合并為 x ≡ new_a (mod new_m)其中 new_m m1 * m2 long long a1 get2(factors[0]), m1 get1(factors[0]); for (size_t i 1; i factors.size(); i) { long long a2 get2(factors[i]), m2 get1(factors[i]); // 合并方程x a1 k1*m1 a2 k2*m2 // 即 k1*m1 - k2*m2 a2 - a1 // 令 g gcd(m1, m2)用擴(kuò)展歐幾里得求解 long long k1, k2; long long g exgcd(m1, m2, k1, k2); long long c a2 - a1; if (c % g ! 0) { // 理論上不會(huì)發(fā)生因?yàn)楦髂?shù)兩兩互質(zhì) return -1; // 無解 } long long t m2 / g; // 調(diào)整 k1 為最小非負(fù)特解 k1 (k1 * (c / g) % t t) % t; // 新的余數(shù)和模數(shù) long long new_a (a1 k1 * m1) % (m1 / g * m2); // 注意新模數(shù)是 lcm(m1, m2) m1/g*m2 long long new_m m1 / g * m2; a1 new_a; m1 new_m; } return (a1 % P P) % P; // 確保結(jié)果在 [0, P) 范圍內(nèi) }5. 實(shí)戰(zhàn)測(cè)試與性能優(yōu)化要點(diǎn)將上述代碼整合就可以通過 P4720 這道模板題了。輸入 n, m, P調(diào)用exLucas(n, m, P)即可。但是直接使用上面的代碼可能會(huì)在數(shù)據(jù)較大時(shí)超時(shí)我們需要關(guān)注幾個(gè)性能瓶頸和優(yōu)化點(diǎn)。5.1 性能瓶頸分析factorial_prime函數(shù)中的循環(huán)計(jì)算cycle_prod每次遞歸調(diào)用都會(huì)計(jì)算一次從1到pk的循環(huán)積。如果pk很大比如 10^6 級(jí)別且n也很大導(dǎo)致遞歸深度不淺這個(gè)開銷是巨大的。遞歸調(diào)用factorial_prime遞歸本身有一定開銷但更主要的是重復(fù)計(jì)算。factorial_prime(n/p, p, pk)會(huì)再次計(jì)算cycle_prod。質(zhì)因數(shù)分解對(duì) P 的分解是 O(√P) 的在 P 很大如 10^9時(shí)可以接受但也是常數(shù)開銷。5.2 關(guān)鍵優(yōu)化策略優(yōu)化1預(yù)處理循環(huán)節(jié)乘積這是最重要的優(yōu)化。對(duì)于給定的p和pkcycle_prod是一個(gè)定值。我們可以在計(jì)算combination_mod_prime_power之前先計(jì)算并存儲(chǔ)它避免在遞歸中重復(fù)計(jì)算。// 在 combination_mod_prime_power 函數(shù)內(nèi)部或外部預(yù)處理 long long cycle_prod 1; for (long long i 1; i pk; i) { if (i % p ! 0) { cycle_prod cycle_prod * i % pk; } } // 然后將 cycle_prod 作為參數(shù)傳遞給 factorial_prime或者設(shè)為全局/靜態(tài)變量。 // 修改 factorial_prime 函數(shù)接收這個(gè)預(yù)計(jì)算好的 cycle_prod。 long long factorial_prime(long long n, long long p, long long pk, long long cycle_prod) { if (n 0) return 1; long long res qpow(cycle_prod, n / pk, pk); // ... 剩余部分不變 }優(yōu)化2將遞歸改為迭代factorial_prime的遞歸形式清晰但可以改為迭代形式效率略高且避免了遞歸棧溢出的風(fēng)險(xiǎn)雖然此題一般不會(huì)。long long factorial_prime_iter(long long n, long long p, long long pk, long long cycle_prod) { long long res 1; while (n 0) { res res * qpow(cycle_prod, n / pk, pk) % pk; for (long long i (n / pk) * pk 1; i n; i) { if (i % p ! 0) { res res * (i % pk) % pk; } } n / p; // 關(guān)鍵對(duì)應(yīng)遞歸中的 n/p } return res; }這個(gè)迭代版本模擬了遞歸過程每次循環(huán)處理當(dāng)前n的互質(zhì)部分和剩余部分然后將n更新為n/p直到n為 0。優(yōu)化3使用更快的質(zhì)因數(shù)分解對(duì)于巨大的 P可以使用 Pollard-Rho 算法進(jìn)行質(zhì)因數(shù)分解但這超出了模板題的一般范圍。P4720 的數(shù)據(jù)范圍下試除法足夠。5.3 一個(gè)優(yōu)化后的整合示例核心部分結(jié)合優(yōu)化combination_mod_prime_power函數(shù)可以這樣寫long long combination_mod_prime_power(long long n, long long m, long long p, long long pk) { if (m n) return 0; // 預(yù)處理循環(huán)節(jié)乘積 long long cycle_prod 1; for (long long i 1; i pk; i) { if (i % p ! 0) cycle_prod cycle_prod * i % pk; } auto factorial [](long long x) - long long { long long res 1; long long tx x; while (tx 0) { res res * qpow(cycle_prod, tx / pk, pk) % pk; for (long long i (tx / pk) * pk 1; i tx; i) { if (i % p ! 0) res res * (i % pk) % pk; } tx / p; } return res; }; long long e count_prime_factor(n, p) - count_prime_factor(m, p) - count_prime_factor(n - m, p); // 如果 e 已經(jīng)大于等于 k (即 pk 中 p 的冪次)可以提前返回0。 // 計(jì)算 k: 通過不斷除以 p 得到 long long temp_pk pk, k 0; while (temp_pk % p 0) { temp_pk / p; k; } if (e k) return 0; long long fn factorial(n); long long fm factorial(m); long long fnm factorial(n - m); long long num fn * inv(fm, pk) % pk * inv(fnm, pk) % pk; long long pe qpow(p, e, pk); return num * pe % pk; }6. 邊界條件與常見錯(cuò)誤排查即使理解了原理和代碼在實(shí)際編碼和調(diào)試中依然會(huì)遇到一些隱蔽的坑。6.1 數(shù)據(jù)范圍與溢出處理這是數(shù)論題最經(jīng)典的坑。題目中 n, m 可能高達(dá) 10^18P 在 10^6 以內(nèi)。qpow中的乘法溢出res * base或base * base可能超過long long范圍約 9e18。即使對(duì)mod取模在乘法運(yùn)算前就可能溢出了。必須使用快速乘龜速乘或__int128。// 使用 __int128 的快速冪推薦前提是編譯器支持 long long qpow(long long base, long long exp, long long mod) { __int128 res 1 % mod; __int128 b base % mod; while (exp) { if (exp 1) res (res * b) % mod; b (b * b) % mod; exp 1; } return (long long)res; } // 或者在無法使用 __int128 時(shí)使用快速乘 long long mul_mod(long long a, long long b, long long mod) { long long res 0; a % mod; b % mod; while (b) { if (b 1) res (res a) % mod; a (a a) % mod; b 1; } return res; }遞歸/迭代中的變量范圍在factorial_prime的循環(huán)for (long long i (n / pk) * pk 1; i n; i)中(n / pk) * pk的計(jì)算可能溢出。更安全的寫法是long long start (n / pk) * pk; if (start 0) start 0;或者直接利用取模性質(zhì)。6.2 特殊模數(shù)處理模數(shù) P 1根據(jù)定義任何數(shù)模 1 都為 0。在代碼開頭應(yīng)特判。質(zhì)數(shù)冪 pk 可能為 1在質(zhì)因數(shù)分解時(shí)如果 p^k 1這沒有意義。實(shí)際上當(dāng) P 分解時(shí)pk 至少為 p。但若 P1已特判。CRT 合并中的模數(shù)在增量法合并同余方程時(shí)新的模數(shù)是m1 / g * m2即lcm(m1, m2)。務(wù)必注意計(jì)算順序先除后乘避免中間結(jié)果溢出??梢允褂胈_int128輔助計(jì)算。6.3 調(diào)試技巧當(dāng)結(jié)果錯(cuò)誤時(shí)可以按以下步驟隔離問題測(cè)試小數(shù)據(jù)用小的 n, m 和小的合數(shù) P如 P6, 10進(jìn)行測(cè)試與暴力計(jì)算的結(jié)果對(duì)比。分離測(cè)試子函數(shù)測(cè)試count_prime_factor驗(yàn)證 n! 中因子 p 的個(gè)數(shù)計(jì)算是否正確。測(cè)試factorial_prime選擇小的 n, p, pk手動(dòng)計(jì)算驗(yàn)證。測(cè)試combination_mod_prime_power針對(duì)單個(gè)質(zhì)數(shù)冪模數(shù)測(cè)試。最后測(cè)試exLucas和 CRT 合并。驗(yàn)證質(zhì)因數(shù)分解確保對(duì) P 的分解是正確的。檢查逆元計(jì)算確保在求逆元時(shí)inv函數(shù)傳入的參數(shù)與模數(shù)互質(zhì)。在combination_mod_prime_power中求逆元前可以加斷言assert(gcd(fm, pk)1 gcd(fnm, pk)1)調(diào)試時(shí)。7. 擴(kuò)展盧卡斯的其他應(yīng)用與變體掌握了這個(gè)模板你不僅能解決 P4720還能處理一系列衍生問題。7.1 計(jì)算大組合數(shù)模任意數(shù)這是最直接的應(yīng)用。在一些計(jì)數(shù)問題中模數(shù)可能不是質(zhì)數(shù)比如998244353 * 1000000007這種擴(kuò)展盧卡斯是唯一通用的方法。7.2 處理模數(shù)較小但n,m巨大的情況即使模數(shù) P 是質(zhì)數(shù)如果 n 和 m 巨大遠(yuǎn)超 P盧卡斯定理可以將問題規(guī)??s小到 P 以內(nèi)。而如果 P 不是質(zhì)數(shù)擴(kuò)展盧卡斯是唯一選擇。它通過遞歸將 n! 分解巧妙地處理了 n 很大的情況。7.3 與多項(xiàng)式、生成函數(shù)結(jié)合在一些更復(fù)雜的組合恒等式證明或求和問題中需要處理模任意數(shù)的二項(xiàng)式系數(shù)。擴(kuò)展盧卡斯提供的C(n, m) mod P的能力可以作為子程序嵌入到更大的算法框架中。7.4 局限性擴(kuò)展盧卡斯定理的時(shí)間復(fù)雜度主要取決于模數(shù) P 的質(zhì)因數(shù)分解和每個(gè)質(zhì)數(shù)冪的大小。設(shè) P 分解為 ∏ pi^ki則時(shí)間復(fù)雜度約為 O(∑ (ki * pi log n))。當(dāng) P 包含大的質(zhì)數(shù)冪如 2^30時(shí)計(jì)算cycle_prod的循環(huán)會(huì)非常慢。在這種情況下算法可能不再適用需要尋找其他數(shù)學(xué)方法或題目給定的特殊約束。在我自己的使用經(jīng)驗(yàn)里擴(kuò)展盧卡斯是一個(gè)“知道原理就能寫但想寫對(duì)、寫快需要很多細(xì)節(jié)打磨”的算法。它不像快速冪或歐拉篩那樣有幾乎固定的短代碼它的實(shí)現(xiàn)長(zhǎng)度和細(xì)節(jié)處理恰恰體現(xiàn)了數(shù)論算法從理論到實(shí)踐的復(fù)雜性。理解F(n, p, pk)那個(gè)遞歸式是第一步而處理好循環(huán)節(jié)、溢出、CRT合并以及各種邊界條件才是能在比賽中穩(wěn)定拿分的關(guān)鍵。建議在理解的基礎(chǔ)上親手實(shí)現(xiàn)并通過 P4720 這道模板題進(jìn)行測(cè)試過程中遇到的每一個(gè)錯(cuò)誤都會(huì)讓你對(duì)模運(yùn)算和遞歸分解有更深的認(rèn)識(shí)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99色色网| 黑人天8A∨高清网站| 亚州欧美总和| 日韩国语字幕| 色狠狠综合| 91精品网站| 看黑丝美女操逼青青网站| 神马久久久久久伦理片| 中文字幕黄片在线| 色97欧美| 亚洲综合贴图91| 日本三级日本三级99| 综合影院永久入口国产| 手机在线大香蕉| 日韩9999| 日本精品国产视频| 97精品国产97久久久久久免费| 18禁美女裸体无遮挡啪啪| 一区二区三区一亚洲中文字幕、综合区灬| 97超色| 夜夜操91744565| 日本久久天堂| 日韩中文字幕在线视频观看| 欧美性爱第一区| 天天噜| 视频黄站| 五月天精品| 综合 青草 伊久久 影院 综合 | 成人无码在线视频网站| 少妇一区二区三区| 91美| 啊啊啊啊无码| 色97欧美| 欧美淫乱视频| 一本大道青青| 亚洲操操操无码| 亚洲男人的天堂在线看| 亚洲综合有玛| 成人A片男人的天堂| 亚洲av乱伦色图网站| 乱伦一区二区三区‘| 2023天天操夜夜操| 91福利网在线观看| 欧美色网| 97精品一区二区视频| 中国一级αV| 色欲久久99国产精品久久久久久| 欧美色干| 午夜毛片亚洲精品片国产久久久| 大象AV在线| 亚洲图片另类| 亚洲最新Av| 欧美高清第一页| 国产2.3.4区| 蜜臀视频网站| 亚洲欧美国产中文视频| 伊人久久大香线蕉无码| www.91理论| 黄页视频网站野外| 屌逼传媒| 亭亭丁香激情| 欧美激情欧美精品| 日韩综合色图| 欧洲性爱无码区| 久久精品人人做人人看| 三级激情网站| 五月天精品| 国产精品一区二区在钱播放| 欧美亚洲日韩16色| 尤物视频新赏网鲜网色诱网| 野狼福利社区| 正在播放国产精品一区| 亚洲成A∨人影院在线欢看| 日韩探花精品在线视频| 女同女同恋久久级三级| 天天色播亚洲综合网站| 天天插天天插| 97碰碰日本乱偷人妻中文的| 啊啊啊啊好大好硬啊啊啊啊啊| 国产精品久久久九九九| 91网站在线播放| 亚洲欧美综合网站| 丁香九月婷婷| 日韩人妻制服丝袜av| 青青操狠狠撩| 性色国产东北露脸精品视频| 天天在线91| 精品高潮| 26uuu久久| 人人操人人操人人操人人操人人操人人人11.CM | 国产强奸超碰AV| 欧美色综合影院| 96AV精品| 欧美色图20P| 加勒比aⅴ| 亚洲 自拍偷拍 欧美| 熟女人妇一区二区三区| 大吊色| 劲爆欧美人妖三区91| 久艹日日日| 芊芊操逼视频无码| 蜜臀av中字字幕网站| 最新国产精品久久精品| 97色操| 日韩三级在线观看网站| 高清无码网址| 果冻传媒A片一二三区| 国产三级中文字幕粉嫩| 在线观看高清AV| 性色av婷婷久久一区二区点复制| 青青伊人加勒比海| 不卡av免费在线网址| 一个人免费HD91视频| 天天做日日做天天欢。| 九九玖玖精品| 欧美综合亚洲综合| 色色色欧美| 中文字幕一区二区三区人妻少妇在线| 91狠狠狠| 国产激情久久久| 九九九草| 少妇高潮对白在线观看| 91精品国产乱码| 婷婷在线视频在线观看| 亚洲女优有码无码高清| 精品人妻1区| 刺激性视频黄页| 国产精品日日摸夜夜添骚逼| 长长久久曰曰夜夜成人网| 无马一区二区| 内射日韩大臀美女| 白丝一区| 一区二区三区日韩欧美| 国产熟女精品一区二区| 97人妻色| 国产女s强制榨精视频| 91九久| 国产精品乱码久久久| 亚卅熟女乱色| 国产91 丝袜在线播放 | 能直接看AV的网站| 干超碰碰熟女| 婷婷国产精品九区| 三级精品三级在线观看| 五毛骚逼极品美女怕怕| 在线国产福利网址导航| 女上位精品在线| 人人摸人人摸人人干| 综合色久欲| 人妻精品一区二区在线| 91宗合网| 亚洲中文字幕乱码无码一区二区 | 中国东北熟女老太婆内谢| 色眯眯av| 先锋色眉乱伦资源| 亚洲熟女乱色| 97人妻免费中文字幕| 激情小说亚洲视频| 色婷婷电影网| 日本人妻丰满熟妇久久久久久| 超碰在线974| 99re热有精品视频国产| 精品超碰色| 婷婷性爱| 日韩精品黄片免费观看| 草草草视频| 五月天激情小说| 91色花堂| 热久日综合| 久草免费在线一区二区| 碰碰97| 亚洲限制级在线| 国产白嫩漂亮KTV在线| 青青草在线视频美女| 9999久久久久| 久久久久人妻二区精品叶可怜| 福利天堂| 欧美日韩情色一区二区| 人人操人人摸avav| 天堂亚洲精品| 中文一区二区三区影院| 亚洲激情AV| 97在线免费看视频| 少妇丝袜在线观看AV| 天天干天天舔| 国产在线观看一区二区三区| 国产传媒一区日韩| 日韩人妻精品久久久久| 国产成人精品日本视频| 国内亚洲高清无码| 久久久啊啊啊| 亚洲清纯唯美| 亚洲限制级| 天天插天天射| 日本午夜福利影院| 一类av片在线看| 欧美性爱一区二区三区| 久久久久久裸体| 亚洲 se图 欧美电影| 色欲天天综合网| 三级激情网站| 色狠狠 - 百度| av激情亚洲五月天| 色九久| 亚洲国内精品成人不卡| 99自拍B亚洲 | 亚洲成a人v欧美综合天堂下载 | 岛国福利在线精品播放| 91白嫩| 99热大香蕉伊在线| 久草在| 色女99一级片在线观看| 91 在线亚洲| 综合色色婷婷| 亚洲欧美精品一区天堂久久 | 日日噜噜夜夜狠狠视频无| 蜜臀中文字幕| 国内伊人久久久久久网站视频| 3级毛片一二| 另类专区加勒比| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | www亚洲免费| 中文字幕三四区| 91综合网| 精品久久久久久中文字幕三区| 欧亚日韩一区在线| 51国产午夜精品视频| 亚洲色电影在线| 啊啊啊水好多| 97精品国产| 久久老熟女| 欧美洲精品一级| 亚洲综合伊人| 国产超碰97| 自拍视频大全亚洲专媒视频/一区二区三区 | 欧美天天射| 91超碰碰在线| 久久人妻一区二区三区高清| 91久久国产精品| 97精品视频在线播放| 久久精品无码不卡| 欧美日韩狠狠爱| 伊人麻豆传媒| 强奸乱伦免费网站| 男人的天堂一区三区| 97av在线视频| 日本丝袜美腿人妻九九| 中文字幕视频免费| 天天欲望网| 亚洲一区日韩精品| 亚洲国产精品无石码久久| 在线视频 亚洲精品| 你懂的在线观看区国产| 强奸乱伦亚洲第一页| 免费自拍三级综合| 色爱综合网| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 青青草精品| 欧美性视频二区三区| 97人人夜| 精品久久久久久AV无码| 两性综合网| 人妻精品4K4K4K4K4| 国产亚洲禁久一区二区| 久久久久久九九九九-美女久久久久久久-成人AV | 五月丁香六月综合缴清无码 | 少妇高潮99p| 人妻 欧美 中文| 欧美色图电影| 顶级丝袜熟女一区二区三区| 久久免费看高潮毛片韩国| 狠操91,com| 欧美人妻少妇| 美女一区二区国产精品| 97超碰色屌| 亚洲天堂一二| 日韩无码黄色片| 日韩精品99999| 91美女視頻| 狠狠操使劲操| 人妻加勒比东京热| 东京热91| 999岛国大片| 国产综合久久久鬼色| 精品制服美女中文一区二区三区| PMv在线观看| 另类小说五月天| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 无码WWW免费视频网站| 精品国产乱码久久久久久久久1| 男人天堂久久日韩| 2024年最新色情网站在线观看| 首页中文字幕中文字幕免费| 青青操97| 国产操逼网站亚洲一级黄色| 桃色五月天| 久久国产精品,久久国产| 伊人性在线视频| 超碰在线香蕉| 久久国产99精品72福利| 久久东京热成人| 久久久久久电影| 蜜桃视频精品一区二区三区| 国产精品97超碰| 激情天天视频| 日韩99神马视频播放| 激情色图| 成年女人黄网站| 中国小夫妻勾搭露脸淫荡对白| 人妻丰满熟妇av无码区蜜桃| 天天色播亚洲综合网站| 久久亚洲一区二区色婷婷| ,成人免费啪啪视频| 日本美女性生活久久久久久久| 欧美亚洲手机在线| 欧洲无码一区二区| 伊人五月天婷婷| 99九九久久| 看免费的黄片| 欧美午夜色妇色鬼| 亚洲一级性爱视频免费看| 午夜福利在线视频1000| 无码人妻丰满热妇又大又粗| 精久久久| 人妻在线臀日韩| 久操电影| 人妻喷水| 久久久亚洲精品电影免费看| 亚洲精品白浆高清久久久久久| 日本美女性生活久久久久久久 | 国产专区路线| 国产99久久99热这里只有精品15| 日韩成人人妻网站| 蜜臀精品1区2区| 欧美在线天堂| 中美日韩毛片| 美女国产一区二区久久| 亚洲91射| 清纯唯美激情四射| 隔壁邻居波多野结衣中文字幕 | 凹凸视频在线一区二区| 色五月第四色| 91丨九色丨国产打屁股| 在线人成亚洲视频免费观看| 草久在线| 国产丰满少妇久久久精品影院| 乱伦av.com| 青草一区二区| 久久e6只有精品| 久久国产性爱| 超碰在线免费一区二区三区| 天天射网| 福利伊人玖玖国产| 狠狠操,使劲操| 天天日熟妇| 插入综合网| 97久久超碰| 欧美72网页| 国产曰批免费观看久久久| 国产久久久久影院老熟女| 91久久久久久| 18禁网站在线播放| 操逼操2| 日本欧美m v精品网站加| 免费强奸av| 青娱乐福利99| 人人操欧美风骚| 91总综合网| 欧美美女自慰一区二区三区| 凹凸视频特色日本特黄| A级毛片在线看免费| 天天躁日日躁狠狠狠躁| 伊人少妇久久久| 99青草| 美女尤物人人操| 国产精品久久久久久久久久久久久久吹 | 九九九久| 国产久久久9999| 99热免费| 欧美日韩999| 一个人免费HD91视频| 日韩av电影成人在线| 天美传媒AV在线播放| 98超碰日本| 日韩一性一交一A片俄罗斯| 人人做,人人操,人人摸| 无码人妻毛片丰满熟妇精品区 | 欧美激情内射| 草草草视频| 国产中文字幕在线观看| 亚洲日韩乱码中文无码蜜桃臀网站| 26uuu国产免费观看| 1人人看人人摸人人操| www.av家庭乱伦| 97久久超碰日韩精品| 蜜臀av中文字幕| 91麻豆一二三区| 偷拍综合亚洲| 欧美国产一区二区三区麻豆传媒| 91色伦综合| 殴洲老熟女| 久热久操| www.91欧美| 亚洲色香| 日韩成人人妻网站| 很很很很操| 久都青青视频| 亚洲av热热色| 加勒比性爱成人在线| 国产丝袜高跟美女av免费观看| 欧美综合网1| 日韩99神马视频片| 国产精品一区二区后入| 国产中文字幕在线| 亚洲欧美伦综合| 国产精品美女视频诱惑| 婷婷在线视频在线观看| 成人性爱美曰韩| 久久久夜夜嗨免费视频| 狠狠色婷婷7777久| 日韩亚洲美州欧洲综三区一品在线| 99re9在线| 九九九九九九亚洲| 婷婷色香| 91熟女.com| 素人无码中文字幕| 欧美丝袜中文字幕07在线| 97超碰欧美精品| 亚洲无码一区成人免费午夜| 超碰91在线| 国产兽交视频在线播放| 欧美性爱综合,免费| 高清国产性猛交xxxx乱大交| 色噜噜人妻丝袜a∨先锋影 | 亚洲国产欧美一区二区潘金莲 | 中文字幕女同在线| 亚洲欧美天| 亚洲图片另类| 亚洲91在线播放影院| 蜜乳AV一区二区三区四| 成人夜夜爽| 超碰97最新人妻| 骚熟女吞| 97视频免费播放| 国内毛片婷婷六月色| 九九热精品| 欧美国产有色电影| 亚洲无992tv| 在线国产福利网址导航| 韩国久久97| 久久久禁| yw尤物av无码点击进入麻豆| 90后性网国产欧美| 99re这里| 欧美一级AAAAAAA| 爱射综合| 一区=区三区视频| 久久精品日韩专区免费观看| 国产亚洲精品A在线观看下载| 久久久久国产精品片区无码直播| 久久中出在线| 欧美成人一级麻豆| 91neishe| 欧美宗合网| 色情乱伦AV| 亚洲美女30b| 麻豆久久一区二区三区| 91GD.COM| 亚洲精品蜜桃久久久| 精品亚洲一区在线观看| 亚洲熟妇乱女区二区三区| 日本蜜桃| 99r九九| 久久性爱免费送| 青青草男人天堂| 极品国产内射| 亚洲 欧美 中文 日韩超碰| 九九热AV| 成人黄页| 欧美黑人XXXⅩ高潮交| 女色视频社区| 懂色AV网| 嗯嗯啊啊啊好爽| 素人一区二区三区日韩| 丰满人妻一区二区三区在线| 亚洲AV无码久久久国产精品| 亚洲的天堂网| 国产女大学生AV| 天天操天天插| 成年人黄色| 日韩97超碰中文字幕| 大奶的诱惑| 亚洲老熟妇xxx| 亚洲色图欧美一区二区不卡| 精品一区二区三区蜜桃臀赵总| 亚洲中文人妻色| 操www| 96免费视频在线| 永久免费发布性爱网| 色网综合网| 99久久e免费热视| 精产品久久| 91色情黑丝搞鸡在线观看一区二区三区三州 | 少妇三P| 欧美色就是色| 超碰碰97| 丁香五月天激情| 中文字幕在线免费观看| 青青国产在线拍揄自揄拍| jizzjizz欧美| 一区二区三区一亚洲中文字幕、综合区灬 | 97九色| 热热色色综合| 91美女丝袜诱惑视频| 欧美写真视频一区| 黄资源| www.激情| 美女91在线| 日韩 欧美 校园一区| 欧美黑人精品一区二区| 粉嫩av在线| 91老熟女老女人国产老太| 国产 v乱码一区二| 国产日韩精品suv| 伊人久久亚洲色欲综合网站 | 欧美性夜| 肉丝中文无码高清| 色呦呦、国产精品| 亚洲成人美女无吗| 黄色片一区二区三区四区五区| 欧美线天码中字| 日逼五月天| 婷婷五月天成人网| 日韩一级特黄av毛片| 亚州一区二区| 97久久国产亚洲精品超碰热| 日本999精品视频| 九九Av| 999亚洲国产视频| 日韩视频中文字幕| av橘色网站| 人妻人人澡人人爽人人| 99re6国产精品99re在线| 黄片在线免费在线观看| 日本免费中文字幕在线| jazzjazz国产精品麻豆| 婷婷国产精品一区二区| 夜夜嗨老熟女AV一区二区三区| 亚洲AV乱码专区国产噜噜亚洲 | 欧美三四五区| 亚洲AV不卡在线观看| 9久久美女首页| 国产11页| 色婷婷成人| 色九九九综合| 好看的91视频| 超碰性爱97| 亚洲男人天堂2019| 96AV精品| 青青青操| 日夜久久久九九九久| 日本有码影片下载| 亚洲 图片 综合91| 超AV色女| 欧美综合骚| 国产人伦精品一区二区三区| 97资源超碰| 欧美亚洲玖玖玖| 天天综合网~69| 综合网色| 99色悠悠| 亚洲s在线观看| 99热综合在线| 嗯嗯啊啊好疼| 伊人991| 天天操天天7| 黄久在线| 中韩中文字幕在线观看| 草草草视频| 96久久久久久久| 狠狠干91| 天天看精品动漫视频一区| 国内毛片欧美香蕉精品| 日韩国产不卡在线视频| 日韩亚洲国产视频| 狠狠操狠狠插| sss视频华人在线| 开心六月色| 超碰97亚洲区| 91精品丝袜久久久久久| 欧美高清18A片| 天天操天天干一区二区 | 又黄又硬又粗又长国产视频| 国产精品网址| 欧美亚洲国产91在线| 日操粉逼逼| 日韩另类| 亚洲三级网址久久最新| 久久精品中文字幕女同| 78m啪啪啪| 级做a爱无码性色永久免费| 免费自拍三级综合| 男女一级A片大黄,一进一出| 四季AV综合网址| 久久久久久久六六| 网友自拍第一页| 国产亚洲精品av一区| www.色操逼| 欧美成人精品一区二区三区| 性交一区二区在线播放| 超碰午夜| 人妻日日干| 岛国精品视频在线观看| 青青草精玖玖69精品| 91九色丰满高潮| 大二网站亚洲| 91狠狠色丁香婷婷综合久久精品| 色欧美天天| 91 国产丝袜在线播放-百度| 久久精品—区二区三区内射| 操逼网站视频漫画国产| 国产污视频麻豆传媒一区二区| 亚州综合AⅤ| 深夜福利黄片| 99久久婷婷国产综合精品草原| 四虎免费看黄| 91丨人妻丨国产丨丝袜| 日韩av乱伦| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 一区二区三区亚洲| 粘花网06av视频| 天天综合网~91| 97超碰人人操人人操| 国产精品交换一区二区| 中文字幕伊人| 一级黄色性爱A级片| 九九精品美女高溯喷水| 天天综合网亚洲综合网| 岛国视频一二三区| 亚洲熟女综合| 九九九久久久| 欧美拳交在线播放| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 欧美一级特黄淫片在线观看| 亚洲综合113页| 91熟女视频| 欧美性爱97超碰| 超碰美国| 96精品在线| 人人妻人人爽| 国产女性无套 免费观看| 九九九九一级| 干日本人少妇午夜寂寞影院| 亚洲永久AV无码精品秋霞| 丰满人妻一区二区三区色-百度| 日逼视频日本| 伊人午夜福利视频| 亚洲精品啪视频| 天天综合站| 国产AV激情无码久久无码| 欧美一区二区一级岛国大片| 中文字幕高清20页视频| 大香蕉淫人| 日本三级久| 欧美极品| 午夜欧美J进J出白浆流出久久久| 94色色电影网| 欧美性天天影视| 亚洲欧美人妻| 69人妻精品丰满熟女区| 欧美日韩国产黄色片| 粉嫩AV输入| 亚洲日韩美女中文字幕乱| 很狠操| 天天干天天狼在线视频| 91九色丨风韵犹存| 成人AV素股で擦久久| 天天亚洲| 久久精品72| 操迟操逼在巾线Fre看| 精品妇操一区二区三区| 日韩欧美经典在线观看| 久久精品店| 亚洲免费精品一区| 亚洲欧美电影| 精品国产乱码久久久兰草影视| 久操com| 黑人精品欧美一区二区蜜桃| 99热成人| 国产精品美女在线一区| 亚洲区 欧美区| 人人色人人射人人妻| 国产熟女完整版中字| 欧美综合综合| 日韩情色AV| 2024人人操人人摸| 伊人丁香五月婷婷| 国产AV天美传媒一区二区三区 | 无码高清国产AV| 男人的天堂Va| 欧美香蕉视xxx| 久久久久9| 亚洲无码 国产无码| 91欧美性| 亚洲码和欧洲精品激情系列| 人人操,操人人| 日韩欧美亚洲自拍偷拍| 男人天堂网手机版婷婷| 黄色二级片网站| 黄aaaaaaaaaaaaaaaaaa色网站| www国产精品| 色哟哟AV| 国产视频一区二区三区久久亚洲天堂| 日本在线激情一区二区三区| 凹凸视频在线一区二区| 妇人噜噜| 精精夜夜| 亚洲1区| 大香网站| 74成人在线| 91少妇人妻| 九九热午夜欧亚国产视频| 啊啊啊操一区| 日本一区二区做爱的视频| 欧美欧美啪啪视频| 国产精品第一页国产大屁股视频免费区 | 啊v在线观看视频| 蜜桃狠狠色伊人亚洲综合 | 丁香五月综合| 极品欧美一区二区三区| 97综合在线| 九九九成人| 后入福利| 久久久久久九九九九九九| 亚州久久9| 超碰97色色| 夜夜爽妓女| 亚洲AV无码天美传媒一区| 丁香五月天堂网| 欧美疯狂做爰xxxx| 再深点灬舒服灬太大了好硬好爽| 国产一区二区三区视频在线看| av网站免费线看| 中文字幕一二三| 嗯,啊。舔我逼| 操淫穴亚洲五月丁香| 国产午夜福利视频在线| 99热在线不卡| 天天干天天日天天射黄色片| 日韩在线97| 精品久一区免费| 欧美性,亚州色| 欧美性战999| 超碰人人妻| 亚洲……91| 91亚洲不卡一区| 国产女同性恋视频| 久久精品一区| 无码久| 亚洲综合九| 天天干1区2区在线| 久久久三区二区一区| 中文字幕精品专区搜索结果91| 国产免费一区| 少好三P| 黄色工厂这里只有精品| 久久丝袜| 人人操人人干xxx| 国产v片在线免费观看| 黑人免费福利视频| {男男暴菊gay无套网站| 激情 欧美 亚洲 小说| 亚洲AV无码翔田千里网站| 国产精品美女久久久久AⅤ国产馆| 99精品欧美一区二区三区桃色| 免费一级a毛片久久久久久鸭绿欲| 强奸乱伦麻豆| 亚洲欧美中文日韩视频中国语| 大香蕉九九| 亚洲情色1区| 亚洲限制级| 少妇人妻在线| 嗯嗯啊啊操我| 伊人久久综合精品欧美| 亚洲午夜福利视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 成人性爱av| 亚洲AV永久无码一区仙野| 尻女朋友一夜| 曰本91情色| 日本男人天堂| 韩三级a视频在线观看| 国产熟女乱论| 国产精品小视频一区二区三区| 福利在线视频一区二区| 一本大道青青| 亚洲一区中文精品| 五月天激情影院| 亚洲成人一二三区| 丝袜加勒比| 国产精品久久久无码aV去| 99久久9| 国产乱码精品久久久久久| 欧美人妻制服| 日本三级网页| 久久色人体| 中文字幕伊人| 亚洲男人电影天堂| 4399成人黄A片| 青青久操| 张柏芝国产一区在线观看| av网页一区二区三区| 精品国产嫩穴视频| 人妻天天爽| 嫩草美女久久| 亚洲不卡AV在线| 亚洲做性| 人人操人人插人人摸人人干| 色婷婷小说| 操曰本熟女| 欧美中出| 国产欧美日韩女同性恋ww喷水精品| 亚洲男人的天堂在线看| 日本韩国国产精品一区| 亚洲综合五月天| AV在线播放网址| 在线播放免费av福利片| 久久人妻四季| 九九九九精品精| 韩国一级婬片A片AAAAA| 亚洲 综合 第一页| 久久久96| 欧美国产日韩清纯唯美| 大香蕉国产中文自拍| 亚洲欧美一区二区网址| 加勒比无码一区二区三区| 快播电影网日韩新片| av午夜影院在线播放| 精品9区| 熟妇xxxxx性春色| 动漫片子网站3黄| 精品国产乱码久久| 95精品在线| 精品九九九九九九| 日韩女优在线| 欧美性爱第1 页| 少妇蜜汁| 试看日韩黄片| 色婷婷香蕉| 91亚洲图片| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 成人综合久久精品色婷婷| 67194无码不卡| 欧美精品97| 一级免费啪啪片| 色眯眯av| 操迟操逼在巾线Fre看| 97WW精品| 国产亚洲色婷婷久久99精品91 - 百度| 啊啊啊好爽快点啊啊啊嗯嗯| 密臀在线一区尤物| 啪啪视频mP4| 亚洲一区在线观看欧洲| 激情四射五月天| 超碰成人最新最好看| 国产在线激情| 加勒比在线视频| 91爱网| 少妇人妻无码| 成人aⅴ一区二区三区| 亚洲脚交| 国产精品老熟女一区二区| 99re免费视频精品全部| 97精品久久久久中文字幕| 日韩欧美中文字幕搭讪巨乳美人妻视频| 五十路三区在线| 亚洲密乳AV| 国产性感在线观看| 亚洲一本色道中文无码aV天美| 欧美极品色| 91oumei| 国产 亚洲 一二三四| 操淫穴亚洲五月丁香| 国产一区二区三区精品观看啪| 丰满少妇一区二区三区免费看| 按摩中文字幕| 国产精品免费美女视频| 久草新在线| silk lablo在线观看一区二区| 一个人免费HD91视频| 91丝袜在线观看| 欧美亚州综合图片| 五月婷丁香| 五月天久久综合网| 狼人狠干| 天天色踪合| 国产在线不卡导航| 熟女色综合久久| a片自拍直播视频| 久久精品日韩专区免费观看| 999久久久久久久精| 超97在线精品视频| 中日韩免费看男女操逼大全| 玖日综合网| 99re只有精品| 久久97| 熟女人妇一区二区三区| 高清国产精品福利网站| 夜夜嗨一区| 久久久久久9999| 青青草密桃在线播放| 亚洲欧美日韩精品久久久一区二区| A级在线视频| 人妻熟女一区二区三区视频| 国产精品久久久久久久免牛肉蒲团| 农村妇女一级二级三级视频| 影音先锋少妇| 熟女人妻精品一区二区视频| 丁香婷婷激情五月天无毒不卡| 超碰人人色| 激情久久久| 自拍偷拍第26| a片自拍直播视频| 美女久久久久久久久久久| 91综合天天看| 天天日美女的B| 亚洲精品美女操逼| 偷拍欧美激情| 一本一道人妻久久一区二区三区 | 五月婷婷综合网| 午夜男女爽爽爽在线视频 | 精品妇操一区二区三区| 久久熟妇五十路一区| 色一射色一射| 狠狠欧美| 日本久久久久久久久| 婷婷丁香成人| 午夜丁香婷婷| 大黄片做爱的大的| 欧美老妇曰批的视频| 综合欧美亚洲| 99国产精品| 男人的天堂无码| 亚洲精品1区| 久久视频少妇美女| 久久国99999| 精品中文日韩字幕视频| 啊啊啊好大好湿| 在线情色电影 91大| 嗯嗯啊好大| 蜜臀av中文字幕| 99 国产丝袜在线| 97超级欧美| 日韩情色AV| 夜夜国产一区| 亚洲综合贴图91 | 性生活久久久久久久久久| 亚洲偷拍自拍在线视频| 伊人黄色视频免费观看| 国产尤物AV尤物在线观看不卡| 欧美日韩亚洲国产中文永久天天看| 色女女女导航| 色婷婷小说| 国产白丝av| 精品久久99| 成人性爱高清视频免费看| 国产v亚洲v日韩v欧美v片另类| 99re69| 超碰 97国产熟女| 综合免费无码中文| 亚洲男人天堂AV| 亚洲极品| 91欧美丝袜| 91在线欧色| 亚洲人成网www| a久久| 久久人人爽爽人人爽人人片αV| 大色综合| 性开放中文AV高清无码免费看| 久久久人妻| 亚洲精品一区二区三区在线播放| 青青草玖玖爱| 又大又长又爽| 91n美女视频| 日韩有码一区三区| 99精品无码| 精品久久視頻在线| 大香蕉色十月| 最新日日夜夜天天干干| 亚洲欧洲国产综合av| 亚洲精品一区二区精品| 成人26uuu| 91蜜臀熟女| 极品欧美一区二区三区| 欧美大香蕉专区网| 啊…啊…操我用力操我| 另类 综合 日韩 欧美 亚洲| 久9久9久9久9久9久9| 日本人妻丰满熟妇久久久久久| 在线观看AV片| Av色五月| 久久久精品一区二区| 国产精品com| 亚洲免费人妻在| 国产盗摄美女如厕大神作品在线观看| 殴洲老熟女| 亚洲色图欧美一区二区不卡| 秋霞网—男女啪啪亚洲免费体验区 | 99热只有这里有精品| 超碰久久性爱| 亭亭丁香激情| 日日夜夜骑| 91久久九九精品国产综合| 五月天婷婷久久| 亚洲 欧美 另类 日韩 人妻一区| 久久久性爱| 18禁美女裸体无遮挡啪啪| 最新亚洲风情电影| 欧美激情在线观看视频| 国产成人精品日本视频| 91一起操| 少妇精品久久久八区九区| 国产黄色影片在线观看| 久久男人的天堂国产| 精品少妇一区二区| 国产一区二区精品久久99| 欧美se亚洲| 欧美天天射| 男人的天堂亚洲| 97久久国产精品| 午夜影美女日鸡鸡天天视频国产| 天天综和| 91看黄片| 久久久爆乳翘臀一线天伦理视频| 九九九草| 亚洲精品中文字幕一区在线视频| 亚洲人妻熟妇三十三区| 日韩成人私密一级精品av| 丁香五月天堂网| 96一区二区| 97色色视频| 欧美加勒比| 97色婷婷| 欧美亚洲图片| 综合网,亚洲,欧美| 欧美亚洲情色| 久久欧美1卡2卡3| 伦理第一页| 欧美黑人猛交春色影视大全| 亚洲高清欧美总合| 天天综合在线4| 91亚洲综合| 一区二区 日韩 欧美 国产 传媒| 男人天堂新| 熟妇在线视频一区二区| 78久久| 成人贴图日韩欧美| 成人一二| 欧美精品偷拍| caoni国产亚洲av| 欧美一区二区三区黄色影视| 婷婷丁香五月天综合东京热| 国产天天看| 欧美成人四级在线播放| 精品二区三四区五电影 | 久久亚洲天天做| 噜噜噜在线视频| 99999这里都精品| 五月丁香综合啪啪| 国产精品剧情| 超碰中文字幕人妻草一区| 波多野结衣一级视频| 久久风骚城市| 丁香五月天啪啪| 91AV入口| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 久久嫩草| 亚洲精品骚逼| 亚洲精品人妻吞精av| 欧美精品激情| 中文字日本乱码| 国产大学生口爆吞精合集| 伦理第一页| 黄网站黄视频网站进入口| 人妻少妇av在线观看| 免费操逼91| 大乔未久88一区| 久久99热这里只频精品6学生| 色综合一区二区三区| 九九九九精品一区| 综合久久久久久久综合网| 狠狠躁天天躁日日躁| 综合日韩激情另类图片| 玖玖大干人妻| 99re免费| 国产成人无码高清| 亚洲不卡AV在线| 日日夜夜国产综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 99亚洲精品| 一级A啪啪啪啪| 偷拍色图| 亚洲黄片免费在线播放| 欧美成人午夜免费福利785| 欧美少妇一区二区三区| 久久久性爱| 乱伦图av| 欧美久久人妻少妇一区二区| julia国产在线 | 久久风骚城市| 日韩人妻播放| 久久大香蕉手机高清| 欧中美三级一区二区三区| 黄色在线网站| 打av高清| 日韩精品国产一区二区| 国产传媒日本欧美专区| 天天噜| 中文字幕一区二区免费在线| 亚洲美欧999| PMv在线观看| 伊人久久亚洲中文字幕| 亚洲日韩av专区无码| 亚州精人品大香蕉| 中文字幕蜜乳av| 打av高清| 一区二区三区免费视频入口| 欧美综合色站| 亚洲日韩美国人妻| 久草线上视频免费看| 亚洲一卡2卡3卡4卡乱码网站| 日韩人妻丝袜美腿中文| www.婷婷五月天| 在线播放欧洲免费av| 色综合五月天| 亚洲 欧美 偷拍 唯美| 不卡一区视频| 国产69精品久久久久99尤物| 干妹子| 天天色悠悠激情| 精品视频一区二区| 亚州操操穴网| 视频国产精品未满十八禁止在线观看| 加勒比性爱成人在线| 亚洲性综合9| 涩涩涩综合| 国内毛片四区| 亚洲国产剧情少妇激情| 干婷婷综合网| 中国AAAAAA黄色片| 国产熟女无套内射| 91久久18禁| 日韩无码操逼片| 天天看天天日| 四虎在线免费视频| 亚洲熟妇极品| 国产一级片| 思思热免费在线视频| 久久女人| 91女日逼|