免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

分?jǐn)?shù)規(guī)劃專題:二分答案與最優(yōu)比率問題的完整實(shí)戰(zhàn)指南

分?jǐn)?shù)規(guī)劃專題:二分答案與最優(yōu)比率問題的完整實(shí)戰(zhàn)指南 做分?jǐn)?shù)規(guī)劃這類題目很多人第一次看到題解里“二分答案 check”那一套總覺得像是憑空冒出來的思路。我自己最開始刷“算法提高16.01分?jǐn)?shù)規(guī)劃”這個(gè)專題時(shí)也是一臉懵一個(gè)求最優(yōu)比率的問題怎么就變成二分判定問題了后來又遇到一堆變種什么最優(yōu)比率生成樹、最優(yōu)比率環(huán)發(fā)現(xiàn)萬變不離其宗。這篇就按我個(gè)人從入門到實(shí)戰(zhàn)的路徑把這個(gè)專題完整拆開聊一遍把模型、原理、代碼和坑都擺出來。適合看這篇的人主要是正在刷算法提高專題、遇到分?jǐn)?shù)規(guī)劃卻無從下手的同學(xué)或者是想徹底搞懂“為什么能二分”而不是只背板子的參賽選手。內(nèi)容不涉及高深數(shù)學(xué)只要你有基礎(chǔ)的二分思想會寫最短路或者最小生成樹就能跟著走完整個(gè)過程。1. 先把分?jǐn)?shù)規(guī)劃的問題模型搞清楚1.1 從一道生活題說起我們經(jīng)常遇到這樣的問題有 n 個(gè)東西每個(gè)東西都有一個(gè)收益 a_i 和一個(gè)代價(jià) b_i現(xiàn)在要在這 n 個(gè)東西里選若干個(gè)使得選出來的東西總收益和總代價(jià)的比值最大。注意這里不是簡單的總和最大而是兩個(gè)總和的比值最大。舉個(gè)最直觀的例子。你有幾門課的成績每門課有“學(xué)分”和“分?jǐn)?shù)”現(xiàn)在你可以放棄其中若干門課目標(biāo)是讓剩余課程的平均分最高。這時(shí)候每門課的 b_i 是學(xué)分a_i 是這門課的成績乘以學(xué)分。你放棄幾門分低的課平均分確實(shí)會上去但你得想想放棄課程會導(dǎo)致分母也變小所以“貪心地放棄最低分”并不一定最優(yōu)。這就是分?jǐn)?shù)規(guī)劃要處理的核心矛盾分子和分母同時(shí)隨選擇變化不能拆開看。再換一個(gè)大家熟悉的實(shí)際場景給你若干組數(shù)據(jù)每組有完成的工作量和消耗的時(shí)間你要選幾組使得“總工作量 / 總時(shí)間”最大。直接一個(gè)個(gè)比較“單位時(shí)間工作量”然后排序選最大的只有在能拆開按比例取的時(shí)候才成立一旦要求整體選擇這種貪心就會失效。1.2 從實(shí)際需求抽象出數(shù)學(xué)模型把所有選擇抽象一下假設(shè)我們有一個(gè)變量 x_i 表示“第 i 個(gè)元素是否被選中”取 0 或 1。那么我們要最大化的目標(biāo)就是最大化Σ(a_i * x_i) / Σ(b_i * x_i)其中 b_i 通常要求為正數(shù)。分母不能為 0所以至少得選一個(gè)元素。這類問題統(tǒng)稱分?jǐn)?shù)規(guī)劃又叫比率規(guī)劃。“16.01 分?jǐn)?shù)規(guī)劃”這個(gè)專題編號常見的命名方式其實(shí)指的就是這類問題。核心難點(diǎn)是目標(biāo)函數(shù)既不是線性的也不是凸的直接求導(dǎo)、直接動態(tài)規(guī)劃都不太好辦。但它的特殊之處在于我們關(guān)心的不是每一項(xiàng)的比值而是整體加和之后的比率。關(guān)鍵轉(zhuǎn)化來了。假設(shè)我們猜測最終最優(yōu)值是 r也就是說存在一種選擇方案讓分子和分母的比值 ≥ r那么這個(gè)條件等價(jià)于Σ(a_i * x_i) - r * Σ(b_i * x_i) ≥ 0把它改寫一下Σ((a_i - r * b_i) * x_i) ≥ 0看到?jīng)]右邊變成了一個(gè)關(guān)于 x_i 的線性求和式。每一項(xiàng)的“價(jià)值”變成了 (a_i - r * b_i)。如果我們要判斷是否存在一個(gè)選法讓這個(gè)式子大于等于 0那就變成了一個(gè)非常普通的問題從一堆物品中按照某個(gè)規(guī)則挑選若干物品使得選中物品的“新價(jià)值”之和最大再看這個(gè)最大值是否非負(fù)。這個(gè)變換是整個(gè)分?jǐn)?shù)規(guī)劃專題的靈魂。1.3 分?jǐn)?shù)規(guī)劃常見的三種形式在算法題里分?jǐn)?shù)規(guī)劃很少單獨(dú)出現(xiàn)通常是作為“外殼”套在別的經(jīng)典算法外面。我按自己刷題遇到的頻率整理一下。第一種是最基礎(chǔ)的 01 分?jǐn)?shù)規(guī)劃也就是上面那種“選若干物品最大化比率”。典型解法是二分 r然后根據(jù)新價(jià)值是否大于 0 判斷。判斷的時(shí)候往往還要加一個(gè)約束比如“恰好選 k 個(gè)”“至少選 k 個(gè)”“最多選 k 個(gè)”那就對應(yīng)不同的子問題比如排序取前 k 個(gè)、背包 DP 等。第二種是最優(yōu)比率生成樹。題目給你一張圖每條邊有兩個(gè)權(quán)值比如“成本”和“收益”要你找一棵生成樹讓這棵樹的“總收益 / 總成本”最大。二分 r 之后每條邊的權(quán)值變成 a_i - r * b_i判斷是否存在生成樹使得總權(quán)值 ≥ 0。這時(shí)候套的就是最小生成樹算法只是邊權(quán)被重新定義了。第三種是最優(yōu)比率環(huán)。這個(gè)稍微繞一點(diǎn)給一個(gè)有向圖每條邊有權(quán)值 a_i 和 b_i要找一個(gè)環(huán)使得環(huán)上所有邊的“總收益 / 總代價(jià)”最大。二分 r 之后每條邊的權(quán)值變成 a_i - r * b_i要找是否存在一個(gè)正環(huán)。正環(huán)判斷一般用 SPFA 的某個(gè)變種這也是很多人覺得難的地方。無論是哪一種核心都逃不過那個(gè)關(guān)鍵變換把“比值 ≥ r”變成“線性值 ≥ 0”然后用已知算法去判定。這也是為什么我建議先把第一種吃透后面兩種就是套殼。2. 二分法為什么“猜答案”可行2.1 二分的是答案不是選擇方案很多人看到“二分答案”四個(gè)字第一反應(yīng)是我們不是要找最優(yōu)的選擇方案嗎怎么變成猜一個(gè)數(shù)了這里的關(guān)鍵在于分?jǐn)?shù)規(guī)劃最優(yōu)值的范圍通常比較容易確定而且判斷“當(dāng)前猜的值是否可行”是相對容易的。我們并不需要直接構(gòu)造出最優(yōu)方案而是通過不斷收縮答案區(qū)間逼近那個(gè)最優(yōu)比率。假設(shè)我們猜了一個(gè)值 r然后對所有元素計(jì)算差值 c_i a_i - r * b_i。如果存在一個(gè)可行選擇方案使得中選元素的 c_i 之和大于等于 0那么說明最優(yōu)值至少是 r也就是答案在 [r, 上界] 區(qū)間里如果無論怎么選這個(gè)和都小于 0說明我們想要的比率根本達(dá)不到 r答案應(yīng)該比 r 小。之所以可以二分是因?yàn)檫@個(gè)判定結(jié)果關(guān)于 r 是單調(diào)的。r 越小c_i a_i - r * b_i 越大顯然越容易滿足“之和 ≥ 0”r 越大c_i 越小越不容易滿足。所以存在一個(gè)臨界點(diǎn)低于它答案可行高于它不可行這個(gè)臨界點(diǎn)就是最優(yōu)比值。這個(gè)單調(diào)性非常重要。它不是“看起來像”單調(diào)而是嚴(yán)格單調(diào)因?yàn)?b_i 都是正的r 增大時(shí)每一項(xiàng) c_i 都嚴(yán)格減少或者至少不增總和也嚴(yán)格減少所以一旦某個(gè) r 可行那么任何比它小的 r 也一定可行。這就保證了二分完全正確。2.2 判定問題的具體化現(xiàn)在問題聚焦到了給定 r 和所有 c_i如何判斷是否存在合法選法讓所選元素的 c_i 之和 ≥ 0。如果是 01 分?jǐn)?shù)規(guī)劃“選任意多個(gè)”那我們直接看所有 c_i 中正數(shù)的和是否 ≥ 0 就行因?yàn)槿钦龜?shù)的都選上肯定最優(yōu)負(fù)數(shù)的都不選。如果要求“恰好選 k 個(gè)”那就是選出 c_i 最大的 k 個(gè)看前 k 大之和是否大于等于 0。這里要注意排序選前 k 大之所以能成立是因?yàn)榕袛鄺l件里沒有其他相互依賴的約束。一旦加上“必須選滿 n 個(gè)中的某部分”“分組一定要達(dá)到某條件”那就可能要用背包 DP 或者網(wǎng)絡(luò)流來判定。很多分?jǐn)?shù)規(guī)劃題目的難點(diǎn)其實(shí)在這里分?jǐn)?shù)規(guī)劃本身只提供了外層框架。我自己做題的習(xí)慣是先把判定子問題抽象出來明確要套用什么算法。比如選 k 個(gè)最大值排序選一個(gè)生成樹最小生成樹選一個(gè)環(huán)SPFA 判正環(huán)選若干物品且容量有限背包 DP只要判定算法是多項(xiàng)式復(fù)雜度外面的二分次數(shù)一般是 50 到 60 次整體復(fù)雜度基本可控。2.3 check 函數(shù)的編寫要點(diǎn)編寫二分判定函數(shù)時(shí)有一個(gè)細(xì)節(jié)非常重要c_i 的浮點(diǎn)誤差。由于 a_i 和 b_i 可能是很大的整數(shù)r 是浮點(diǎn)數(shù)計(jì)算 c_i a_i - r * b_i 時(shí)要注意精度損失。更穩(wěn)妥的做法是使用更高精度的浮點(diǎn)數(shù)或者在特殊情況下把比較轉(zhuǎn)化為整數(shù)運(yùn)算。舉個(gè)例子假設(shè) a_i 和 b_i 都是整數(shù)我們要判斷“前 k 個(gè) c_i 之和是否 ≥ 0”。如果直接用浮點(diǎn)數(shù)累加最終和特別接近 0 時(shí)可能因?yàn)檎`差導(dǎo)致判錯。這時(shí)候可以把不等式左右都乘以一個(gè)數(shù)或者干脆在累加時(shí)用 long double等排序完后再和 0 比較。另一個(gè)重點(diǎn)是二分的邊界。最優(yōu)比率不會超過 max(a_i / b_i)所以二分上界可以取這個(gè)最大值下界取 0。也有人為了省事直接取一個(gè)很大的數(shù)比如 1e12但這樣會白白多算幾次二分。我建議還是老老實(shí)實(shí)求一個(gè)合理的上界一方面減少迭代次數(shù)另一方面防止浮點(diǎn)數(shù)在極大值附近丟失精度。二分次數(shù)怎么定也很關(guān)鍵。很多人用 while (r - l eps) 來判斷但這樣容易因?yàn)?eps 設(shè)得不對而無限循環(huán)。我推薦直接固定循環(huán) 60 次或者 80 次每次把區(qū)間縮小一半。這樣不用糾結(jié) eps 該設(shè)多少也能保證精度足夠。原因很簡單double 的有效位數(shù)有限固定迭代次數(shù)比固定差值更可控。3. 經(jīng)典例題實(shí)操考試放棄題3.1 題目設(shè)計(jì)與建模過程為了把上面的思路落下來我們用一個(gè)經(jīng)典題目走一遍完整流程。假設(shè)有 n 門考試第 i 門考試的總分是 b_i你得了 a_i 分?,F(xiàn)在學(xué)校允許你放棄其中 k 門課問剩余課程的平均分最高可以是多少。平均分的定義是剩余課程得分之和 / 剩余課程滿分之和。注意不是把每門課單獨(dú)算百分制再取平均而是加權(quán)平均權(quán)重就是每門課的滿分。這一點(diǎn)很關(guān)鍵很多人一開始會理解錯。建模過程是這樣的每門課其實(shí)是一個(gè)物品b_i 是滿分a_i 是得分。我們要從 n 個(gè)物品中去掉 k 個(gè)相當(dāng)于選擇剩余的 n-k 個(gè)物品讓 Σa_i / Σb_i 最大。這里“選多少個(gè)”是固定的所以到了二分判定環(huán)節(jié)我們會計(jì)算所有 c_i a_i - r * b_i然后排序取最大的 n-k 個(gè)看它們的和是否 ≥ 0。細(xì)想一下為什么要取最大而不是最小因?yàn)槲覀円袛唷笆欠翊嬖谝环N選法讓所選物品的 c_i 之和 ≥ 0”在選固定數(shù)量 m 個(gè)物品時(shí)肯定選 c_i 最大的 m 個(gè)最有利。如果這 m 個(gè)最大的加起來都小于 0那其他任何選法更不可能滿足條件。這個(gè)邏輯非常直接。3.2 完整代碼實(shí)現(xiàn)我直接用 C 寫一版完整實(shí)現(xiàn)思路就是二分套排序判定。假設(shè)輸入 n 和 k然后兩個(gè)數(shù)組 a 和 b最后輸出最大平均分。#include bits/stdc.h using namespace std; const int MAXN 1005; int n, k; double a[MAXN], b[MAXN]; double c[MAXN]; bool check(double r) { for (int i 0; i n; i) { c[i] a[i] - r * b[i]; } sort(c, c n, greaterdouble()); double sum 0; int m n - k; for (int i 0; i m; i) { sum c[i]; } return sum 0; } int main() { while (scanf(%d%d, n, k) 2) { if (n 0 k 0) break; for (int i 0; i n; i) scanf(%lf, a[i]); for (int i 0; i n; i) scanf(%lf, b[i]); double l 0, r 0; for (int i 0; i n; i) { r max(r, a[i] / b[i]); } for (int iter 0; iter 60; iter) { double mid (l r) / 2; if (check(mid)) { l mid; } else { r mid; } } printf(%.6lf\n, l); } return 0; }這段代碼是一個(gè)完整可運(yùn)行的程序核心就是 check 函數(shù)。我故意把 a 和 b 聲明為 double是為了讓代碼簡潔但如果輸入是整數(shù)改成 long long 讀入、在 check 內(nèi)部轉(zhuǎn)成 double 計(jì)算會更好避免大整數(shù)在浮點(diǎn)數(shù)轉(zhuǎn)換時(shí)出現(xiàn)意外誤差。輸出的精度也要注意。二分 60 次之后區(qū)間長度大約是初始區(qū)間長度除以 2 的 60 次方早就超過 double 的精度極限了。所以輸出 l 或者 r 都可以但保留 6 位小數(shù)是最常見的做法。有些題目要求百分比輸出或者保留 3 位小數(shù)那就按照題目要求來。3.3 復(fù)雜度與精度分析這個(gè)解法的時(shí)間復(fù)雜度分兩塊。一塊是外層二分固定 60 次。一塊是每次 check 里的排序復(fù)雜度 O(n log n)。所以總復(fù)雜度是 O(60 * n log n)n 到 1e5 的時(shí)候大概能跑進(jìn)一兩秒n 到 1e6 就有點(diǎn)懸了。如果題目 n 特別大但恰好不需要排序而是用 nth_element 只取前 m 個(gè)就可以把 check 降成 O(n)。我提供的是排序版本因?yàn)橥ㄓ眯院涂勺x性更好實(shí)際比賽里如果 T 組數(shù)據(jù)且 n 巨大我會改成 nth_element 優(yōu)化。關(guān)于精度有一個(gè)實(shí)用性建議如果 a_i 和 b_i 都是整數(shù)而且題目要求輸出百分?jǐn)?shù)也就是把平均分乘以 100那么在 check 里可以直接比較a[i] * 100 - r * b[i] 0這樣 r 表示的是“百分制平均分”避免最后輸出的時(shí)候還要再乘一次導(dǎo)致二次誤差。我見過不少同學(xué)二分時(shí)用的是原始分?jǐn)?shù)輸出時(shí)才乘 100結(jié)果因?yàn)楦↑c(diǎn)誤差差了 0.01 被卡。這種細(xì)節(jié)最冤枉寫代碼時(shí)提前想清楚單位能省很多事。4. Dinkelbach 算法另一種迭代思路4.1 用最優(yōu)解不斷逼近最優(yōu)值除了二分分?jǐn)?shù)規(guī)劃還有一個(gè)經(jīng)典迭代算法叫 Dinkelbach 算法。它的思路更像是在“用上一次的最優(yōu)方案來修正當(dāng)前的候選答案”。具體來說我們從一個(gè)初始猜測值 r 開始。在當(dāng)前 r 下找到使得 Σ(a_i - r * b_i) 最大的選擇方案假設(shè)這個(gè)最大和是 F(r)。如果 F(r) ≥ 0我們可以把 r 更新為“當(dāng)前最優(yōu)選法”的實(shí)際比率即r_new Σa_i / Σb_i 這里的選法是剛才求出的最優(yōu)選法然后重復(fù)這個(gè)過程直到 r 的變化小到可以忽略。為什么有效因?yàn)槊看胃潞蟮?r_new 一定是比之前更優(yōu)的下界而且每次選法對應(yīng)的實(shí)際比率會單調(diào)遞增。這個(gè)算法的收斂速度通常比二分快尤其在后半段往往幾次迭代就能達(dá)到很高精度。4.2 實(shí)際對比何時(shí)選二分何時(shí)選 Dinkelbach從編碼角度講二分更直觀不容易寫錯Dinkelbach 則需要你額外保存“當(dāng)前最優(yōu)方案所選元素”的和代碼量稍微多一點(diǎn)而且要求判定問題本身能方便地求出最優(yōu)方案而不只是判定可行性。從效率角度講Dinkelbach 的迭代次數(shù)在多數(shù)情況下遠(yuǎn)小于 60 次可能十幾二十次就收斂了。但它的每輪迭代同樣要跑排序或者最短路所以實(shí)際差別不是特別大。不過有一點(diǎn)Dinkelbach 適合那些 check 過程本身就能返回最優(yōu)選擇方案的場景如果判定算法只能返回一個(gè) bool那還是用二分省事。我個(gè)人的習(xí)慣是比賽時(shí)默認(rèn)寫二分因?yàn)闀r(shí)間復(fù)雜度可控、魯棒性強(qiáng)只有在 T 組數(shù)據(jù)特別多、二分次數(shù)明顯成為瓶頸時(shí)才改用 Dinkelbach。還有一種情況就是判定問題本身用的是 SPFA 判正環(huán)這類復(fù)雜算法每多一次迭代都心驚膽戰(zhàn)這時(shí)候 Dinkelbach 的快速收斂優(yōu)勢就很明顯了。需要注意Dinkelbach 對初值有一定依賴。如果初值設(shè)得太離譜第一輪迭代可能導(dǎo)致更新出很奇怪的結(jié)果。我的做法是取所有 a_i / b_i 的最大值作為初值反正這個(gè)值必然不小于最終答案迭代起來很快。5. 分?jǐn)?shù)規(guī)劃的變種問題拓展5.1 最優(yōu)比率生成樹的二分判定前面提到最優(yōu)比率生成樹也是同一套路?,F(xiàn)在假設(shè)每條邊有兩個(gè)屬性 cost 和 value要選 n-1 條邊形成生成樹讓 value 之和與 cost 之和的比值最大。在二分到 r 時(shí)每條邊的新權(quán)值是 value_i - r * cost_i。我們需要判斷是否存在一棵生成樹讓總權(quán)值 ≥ 0。注意這里不是求最小生成樹隨便判斷一下而是要判斷“最大可能的生成樹權(quán)值”是否非負(fù)。用最小生成樹算法求出來的其實(shí)是最小權(quán)值如果最小權(quán)值都 ≥ 0那所有生成樹都 ≥ 0但我們要判斷的是是否存在某一棵 ≥ 0所以應(yīng)該求最大生成樹。這個(gè)問題我踩過坑用 Kruskal 時(shí)習(xí)慣性按邊權(quán)從小到大排序結(jié)果一直錯。最優(yōu)比率生成樹應(yīng)該按新邊權(quán)從大到小排序找最大生成樹看總權(quán)值是否 ≥ 0。這里的“最大”不是指收益最大而是指在當(dāng)前 r 下新權(quán)值之和最大這樣才能最大化滿足條件的機(jī)會。復(fù)雜度方面二分 60 次每次 Kruskal 是 O(m log m)m 是邊數(shù)。如果邊數(shù)到 2e5總復(fù)雜度就是 60 * 2e5 * log通常情況下可以接受但要注意常數(shù)。我試過在一些 OJ 上用 Kruskal 套分?jǐn)?shù)規(guī)劃如果不加優(yōu)化很容易超時(shí)??梢蕴崆鞍堰叞丛?cost 排序減少每次重排的工作不過新權(quán)值依賴 r嚴(yán)格來說沒法完全復(fù)用排序結(jié)果只能盡量優(yōu)化常數(shù)。5.2 最優(yōu)比率環(huán)與正環(huán)判定最優(yōu)比率環(huán)是另一個(gè)常見變種也是我個(gè)人覺得最容易繞暈的。給定有向圖每條邊有收益 w_i 和花費(fèi) t_i找一個(gè)有向環(huán)讓環(huán)上總收益 / 總花費(fèi)最大。二分 r 后每條邊的新權(quán)值是 w_i - r * t_i我們要判斷是否存在一個(gè)環(huán)使得環(huán)上所有邊的新權(quán)值之和 ≥ 0。換句話說判斷圖中是否存在正權(quán)環(huán)。正權(quán)環(huán)的判定有兩種常見做法。一種是把權(quán)值取反然后判負(fù)環(huán)用 SPFA 的標(biāo)準(zhǔn)寫法另一種是直接用最長路加入隊(duì)次數(shù)判正環(huán)。我推薦第一種因?yàn)榕胸?fù)環(huán)的 SPFA 模板更常見不易寫錯。具體實(shí)現(xiàn)時(shí)注意初始化判負(fù)環(huán)要初始化為 INF判正環(huán)要初始化為 0 或 -INF入隊(duì)次數(shù)超過 n 說明存在環(huán)。這里有個(gè)細(xì)節(jié)如果圖本身不連通要多次從不同起點(diǎn)跑 SPFA或者建一個(gè)超級源點(diǎn)連向所有點(diǎn)否則會漏判。最優(yōu)比率環(huán)還有一個(gè)坑二分時(shí) r 的初始上界不能用簡單的 max(w_i/t_i) 來算因?yàn)榄h(huán)是整體加和單條邊的比率不能代表整個(gè)環(huán)的比率。我的做法是設(shè)一個(gè)較大的上界比如 1e7或者根據(jù)題目數(shù)據(jù)范圍算一個(gè)保底值。反正 SPFA 判定本身不慢多幾次二分問題不大。5.3 分?jǐn)?shù)規(guī)劃與背包 DP 的組合還有一種變種比較少見但很有代表性選出的物品數(shù)量不固定但受到某個(gè)總?cè)萘肯拗?。比如每個(gè)物品有體積背包容量是 V要從物品中選一個(gè)子集讓總收益 / 總花費(fèi)最大。這種問題在二分到 r 后判定就變成了一個(gè) 0/1 背包問題每個(gè)物品價(jià)值是 w_i - r * c_i要求在體積不超過 V 的前提下最大化所選物品的價(jià)值之和再看這個(gè)最大值是否 ≥ 0。這里的復(fù)雜度就和前面的排序題明顯不同了。背包 DP 的復(fù)雜度是 O(n * V)外面再乘 60 次二分必須注意 V 的大小。如果 V 到 1e5、n 到 100整體勉強(qiáng)能過如果 V 到 1e6那就得考慮優(yōu)化比如可行性背包轉(zhuǎn)成完全背包等。但不管怎樣框架還是一樣的二分 r然后套背包判定。從這些變種可以看出分?jǐn)?shù)規(guī)劃本身并不難難的是掛在它下面的那層“判定算法”。所以我的建議是先確保自己對排序、最小生成樹、SPFA、背包 DP 這些基礎(chǔ)算法非常熟練再來攻克分?jǐn)?shù)規(guī)劃專題會順暢很多。我最初就是基礎(chǔ)算法不牢結(jié)果在判定環(huán)節(jié)反復(fù)出錯還以為是分?jǐn)?shù)規(guī)劃本身理解錯了。6. 常見問題與避坑技巧實(shí)錄6.1 二分邊界設(shè)錯導(dǎo)致答案偏移我見過很多初學(xué)者把二分上界直接設(shè)成一個(gè)很大的常數(shù)比如 1e9然后循環(huán) 50 次發(fā)現(xiàn)答案偏大或者偏小。原因在于浮點(diǎn)數(shù)在非常大和非常小之間二分時(shí)后半段可能已經(jīng)達(dá)到了浮點(diǎn)精度極限繼續(xù)二分只是在一個(gè)區(qū)間內(nèi)抖動不會繼續(xù)收斂。正確做法是先掃描一遍所有元素求出 a_i / b_i 的最大值作為 r 的上界。這個(gè)值一定不小于最終答案因?yàn)閱为?dú)選某個(gè)物品的比率不可能超過所有物品中的最大比率整體比率也不會超過它。數(shù)學(xué)上很好理解分子的加權(quán)平均除以分母的加權(quán)平均不可能大于各個(gè)分子分母比值的最大值這是加權(quán)平均的基本性質(zhì)。6.2 排序方向搞反這個(gè)錯誤特別隱蔽。在“去掉 k 個(gè)物品”的題目里我們要選最大的 n-k 個(gè) c_i 值在“生成樹”里我們要找最大生成樹在“環(huán)”里我們要找正環(huán)??雌饋矶际恰白畲蟆钡@和很多人寫慣了的“最小生成樹”“最短路徑”套路不一樣容易習(xí)慣性搞反。我自己有一次寫最優(yōu)比率環(huán)SPFA 判的是負(fù)環(huán)結(jié)果一直以為代碼寫錯折騰了半天才發(fā)現(xiàn)是判環(huán)方向反了。后來我給自己定了一條規(guī)則分?jǐn)?shù)規(guī)劃的所有判定先想清楚“我要不要最大化這個(gè)新權(quán)值的和”然后順著目標(biāo)選算法。最大化用最長路、最大生成樹最小化用最短路、最小生成樹分清之后再動手寫代碼。6.3 精度比較時(shí)使用 eps 不當(dāng)判斷 sum 0 時(shí)有人喜歡寫 sum -eps認(rèn)為這樣更寬容有人寫 sum eps認(rèn)為這樣更嚴(yán)格。這個(gè)選擇其實(shí)取決于你二分后輸出的目標(biāo)是最大值還是最小值以及你二分循環(huán)的條件。我的建議是如果使用固定迭代次數(shù)二分check 里直接和 0 比較就行不需要 eps。因?yàn)槎盅h(huán)結(jié)束時(shí)答案的誤差已經(jīng)由迭代次數(shù)保證了check 里的微小偏差不會影響最終輸出的位數(shù)。如果你非要用 while (r - l eps)那 eps 至少要設(shè)在 1e-8 以下并且配合 long double 使用否則容易死循環(huán)或者結(jié)果差一位。6.4 輸出格式要求是百分?jǐn)?shù)還是小數(shù)很多分?jǐn)?shù)規(guī)劃題目要求輸出百分?jǐn)?shù)比如保留三位小數(shù)加一個(gè)百分號。你在二分時(shí)的 r 是原始比率輸出前要乘以 100這時(shí)候可能出現(xiàn) 0.001 的精度問題。我建議在輸入后直接把 a_i 或 b_i 按要求縮放。如果輸出百分?jǐn)?shù)且保留三位小數(shù)可以在 check 里把 r 當(dāng)作百分?jǐn)?shù)來算這樣代碼里處理的單位與輸出單位一致減少一次換算誤差。這個(gè)方法雖然聽起來只是小技巧但真的能救你于卡精度之中。6.5 大數(shù)據(jù)讀取與常數(shù)優(yōu)化分?jǐn)?shù)規(guī)劃結(jié)合排序的版本主要瓶頸在排序上。如果 n 達(dá)到 1e6每次 check 都完整排序會非常吃力。一個(gè)常用優(yōu)化是改用 nth_element 只取第 k 大并同時(shí)求前 k 大之和這樣復(fù)雜度從 O(n log n) 降到 O(n)。還有一個(gè)小技巧對于“選前 m 個(gè)最大值之和”不需要把所有 c_i 都存下來再排可以在生成 c_i 時(shí)同時(shí)維護(hù)一個(gè)大小為 m 的最小堆堆內(nèi)元素就是當(dāng)前最大的 m 個(gè)。這樣空間復(fù)雜度可能更高但思路一樣。具體用哪種取決于你更在乎代碼簡潔性還是極限性能。6.6 多組數(shù)據(jù)時(shí)注意二分重置這個(gè)看起來是基礎(chǔ)問題但真的很常見。多組輸入時(shí)上界 r 和數(shù)組內(nèi)容都要重新初始化。我見過一個(gè)同學(xué)因?yàn)樯辖鐩]有重置第一組數(shù)據(jù)算出一個(gè)很大的上界第二組數(shù)據(jù)小一點(diǎn)二分直接從錯誤范圍開始結(jié)果答案完全不對。我的習(xí)慣是每組數(shù)據(jù)進(jìn)來后除了讀入數(shù)組還要把 r 初始化為 0然后再做掃描求最大值。這個(gè)操作雖然不起眼但能避免一個(gè)很惡心的排查過程。7. 一點(diǎn)個(gè)人經(jīng)驗(yàn)分享分?jǐn)?shù)規(guī)劃這個(gè)專題最難的不是那套二分框架而是你能不能識別出題目背后的比率結(jié)構(gòu)。很多時(shí)候題目會把“收益”和“代價(jià)”隱藏起來。比如“每位應(yīng)聘者有工作能力和期望薪資選若干人讓總能力 / 總薪資最大”本質(zhì)就是 01 分?jǐn)?shù)規(guī)劃。多練幾道題之后你會逐漸形成一種直覺只要看到“比率”“平均”“單位成本收益”這些詞就該往分?jǐn)?shù)規(guī)劃上想。如果一定要說一個(gè)最重要的技巧那就是把所有問題都轉(zhuǎn)化到“判斷是否存在選法使新權(quán)值之和非負(fù)”這一層。之后無論面對生成樹、環(huán)還是背包變種思路都會特別清晰。做專題訓(xùn)練時(shí)不要急著看題解先自己想清楚如果二分一個(gè)數(shù)check 函數(shù)里該做什么這個(gè)問題的答案往往是解題的核心。最后說個(gè)實(shí)踐建議把經(jīng)典題目換著寫法做一遍。同一道 01 分?jǐn)?shù)規(guī)劃先用二分寫一遍再用 Dinkelbach 寫一遍然后在相同數(shù)據(jù)下對比兩者的輸出和運(yùn)行時(shí)間。這個(gè)對比做完你對該算法的理解絕對比看十篇題解都深刻。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月伊人综合| 激情99| 久久a热| 99久久这里只有精品免费官网| 欧美久久一级内射wwwwww.| 99热国产在线| 亚洲激情丁香五月基地| 91狠狠综合久久久| 色婷六月| 婷婷五月天渟渟| 五月婷久久| A A色色| 久久草大香蕉| 婷婷五月电影院| 大香焦啪啪啪| 这里只有精品久久| 婷婷五月激情图片| 91天天操天天干天天射| 婷婷五月天激情网| 裸体美女丁香五月天。| 超爽内射| 久久99久久99精品免视看婷婷| 99日韩网站| 9 1超碰九色| 激情婷婷综合| 怡红院院在线导航网| 五月天天堂久久| 丁香88AV五月婷婷| 国产XXXX搡XXXXX搡麻豆| 五月狠狠| 九九这里是免费的视频5| 五月天婷爱综合| 另类专区在线观看| 色墦五月丁香| 99久久久久| 激情婷婷丁香色五月| 丁香婷婷色九月| 天天做天天爱天天爽综合网| www.99色| 久久思思热| 夜夜夜夜操| 亚洲日韩人妻操逼| 色播丁香五月婷婷操:屄| 欧洲激情精品婷婷| 丁香五月av在线| 97丁香花五月天激情小说| 91啪啪视频| 激情亚洲婷婷六月| 涩涩五| 久久久妻人人人| 99在线精品免费视频| 97精品综合| 五月丁香无码| 五月婷婷xxx| 久久看婷婷| 碰碰碰91| 丁香激情网| 激情五月丁香色色去久久| 懂色av粉嫩AV蜜臀AV| 精品一二三区久久AAA片| 人人摸人人摸| 中文字幕网伦射乱中文| 五月天色色无码| 国产精品香蕉| 婷婷五月噜噜| 色五月激情五月| 亚洲成人网在线观看| 九热视频| 久久激情五月| 国产99久| 射区导航| 伊久大香蕉| 丁香六月婷婷色XXXX| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 婷婷视频在线碰| 狠狠狠色激情综合适合| 丁香五月婷婷在线| 五月天色社区| 操操啪| 丝袜大香蕉| 97人人操人人爽| 思思热精品在线| 99精品视频在线观看| 99综合网| 国产综合A片| 婷婷丁香综合在线| 91美女被操| 五月6香色婷婷视频| 十月丁香婷婷| 天天草天天爽| 丁香六月毛片| 玖玖热视频| 丁香五月综合激情性爱| 黑人糟蹋人妻HD中文字幕| 免费无码毛片一区二区A片| 成人无码精品1区2区3区免费看| 色无婷婷| 91操人| 婷婷五月丁香婷婷| 99re热在线视频| 999婷婷综合| 亚洲综合一区二区| 激情丁香网| 丁香五月播播| 天天干狠狠艹| 久久久大香蕉| 玖玖综合色区在线观看| 超碰色色综合| 激情五月婷婷网在线观看| 人人看人人要| 丁香五月天堂网| 婷婷丁香无码专区| 久久网站免费亚洲| 婷婷综合在线| 欧美三级巜人妻互换| 色婷婷亚洲综合网站| 色激情五月| 色情·com| 开心五月深爱婷婷| 国产67194| 九九热在线精品视频| 婷婷五月情| 伊人久久大香蕉网| 极品人妻VIDEOSSS人妻| 色级婷婷| www色中色综合| 久久作爱| 亚洲综合色五月| 精品亚洲VA网站| 色99视| 99热大全在线观看| 婷婷五月天亚洲五码| 天天操婷婷| 国产精品黑丝| 欧美69久成人做爰视频| 激情碰碰碰| 97色片| se99视频| 4438全国最大视频成人网站在线观看| 3p日韩网站视频| 99精品久久久久久久婷婷| 狠狠操狠狠色| 可以直接看的AV网站| 99操视频| 九九热只有精品6| 天天综合 99久久婷婷| 欧美A A A A A| 久久婷婷内射| 久操97| 超碰天堂网| 狠狠五月激情在线| www.天天干| 2021日韩无码| 殴美综合激情五月天免费视频| XXXX岛国| 精品成人在线观看| 丁香婷婷色| 丁香五月婷中字幕| 婷婷五月综合色中文字幕| 五月婷婷久久内射| 久草热8精品视频在线观看| 天堂久久精品| 大香蕉九九| 中文字幕精品推荐免费在线观| 狠狠色丁婷婷日日,伊人激情综合网| 97九色视频| 丁香五月婷婷五月基地| 99热这里只要精品免费| 国产69久久久欧美黑人A片| 色婷av| 激情五月婷婷伊人| 天天色天天噜| 色五月激情五月| 五月丁香爱婷婷深深| 五月天色区| 伊人激情综合网| 在线可以看的av网址| 91人人人人人| 欧美日韩AAA| 色青青电影色五月| 丁香五月区| 狠狠狠狠狠干| 丁香婷婷六月在线资源观看| 清色五月天| 色色婷| 成人网站在线观看视频| 亚洲婷婷五月天| 99精品视频在线6| 午夜婷婷久久 | 婷婷五月天堂| 麻豆AV一区二区三区| 伊人春天av| 色五月婷婷丁香五月| 亚洲四色五月| 九九香蕉网| 99精品无码网站| 丁香六月激情四射| 亚洲性爱电影| 丁香婷婷激情| 2023天天日夜夜爽| 欧美操人| 色狠狠色噜噜AV天堂五区消防| 99久.| 在线看片av| 婷婷99狠狠躁天天| 五月婷婷六月激情网| 99这里都是精品6| 六月丁香婷婷爱| 日韩AV在线免费观看| 色综合久久88色综合天天看| 无码少妇高潮喷水A片免费| 视频综合网| 久久五月天影院| 婷婷六月丁香五月| 欧美天天综合网站上去吧| 欧美三级巜人妻互换| 婷婷婷五月天最新综合你懂的| 91久久网站| 激情五月天激情五月天| 男人的天堂999| 大香蕉啪啪网| 狠狠狠色激情综合适合| 丁香五月狠狠在线观看| 丁香五月综合激情久久潮喷| 99色网站| 亚洲日日操| 神马欧美精| 色无码| 婷婷玉月丁香五月在线视频| 任你操精品免费| 人人操AV| 婷婷五月色播| 欧美噜一噜| 激情久久网 | 人操综合| 性爱综合网| 日 日干 日日做| 婷婷五月综合网激情| 婷婷涩五月| 成人色站,在线视频,看片-SS1AV| 婷婷五月丁香综合| 亚洲五月色| 99久.| 国精产品一区一区三区免费视频| 4399亚洲视频| 99在线亚洲| 99热99网| 欧美三级欧美一级| 日韩AV中文字幕在线| 激情六月婷婷| 9久热在线视频精品| 婷婷黄色五月天在线视频| 精品久久婷婷| 丁香五月熟女| 午夜69成人做爰视频| 天天噜| 婷婷美女精品视频| 狠狠操狠狠爱| 日本三久久| 久久久婷婷五月天| 99精品在线| 国産精品| 激情99| 天天久久综合| yazhou seshipin| 人妻免费网站| 青青草视频免费观看| 91.com男女操| 天天干、天天日日| 国产五月婷| 91精品久久久久久| 91黄操| 久久99久久99www| 九月婷婷久久| 激情99| 五月婷视频在线| 色性五月天| 婷婷色五月亚洲| 9l视频自拍九色9l视频自拍九色9l社区| 91熟妇大香蕉| 丁香八月综合激情| 五月丁香六月停停停| 色色国产| 嫩草AV久久伊人妇女超级A| 色综合色综合网| 激情六月婷婷| 人妻视频在线| 丁香伊人网| 99精品网| 亚洲成人高清在线| 久久性视频| 亚州操操| 久操热线| 无码色| 99思思| 超碰在线观看9| 99这里都是精品6| 爱婷婷五月| 久久这里只有精品无码| 99爱精品视频| 日韩五月丁香| 亚洲无码yw| 开心婷婷五月| 99久.| 亚洲欧美综合7777色婷婷| 日本女人久久| 色五月综合| 久久婷婷五月综合色奶水99啪| 天天色天天日天天舔| 色五婷婷开心缴| 思思热AV| 久青操| 亚洲色碰| 色色99| 国产肥白大熟妇BBBB视频| 丰满老熟妇BBBBB搡BBB| 国内自拍1区| 久久婷五月影院| 色婷婷色丁香色欲av| 久久ri精品视频| 99啪啪骑| 激情久久五月天| 日本三级韩三级99久久| 最新午夜理论片| 99热这里精| 国产另类综合| 97操碰在线视频| 五月天激情四射网站| www.jiujiujiu| 黄网免费看| 99热这里全都是精品| 五月婷婷激情网| 国产精品18久久久| 欧美色必爱| 亚洲av网址| 婷婷色在线观看| 婷婷五月天激情在线观看 | 五月天狠狠干| 欧美成人va| 六月丁香啪啪| 色色色色丁香| 啪啪激情网| 日本va网站| 久久人妻视步| 九九精品免费| 天天久久婷婷| 五月丁香日本在线视频观看| 婷婷瑟瑟五月天| 丁香久久综合| 国产精品天天狠天天看| 成人精品人妻| 久久在线人妻| 婷婷中文字幕| 中文字幕高清av| 久久婷婷综合网| 天天射综合网天天插| 99这里只有精品视频| www.久久99| 五月丁香久久久| 91热视频色网站| 婷婷六月爽| 色99视频| 91婷婷视频| 五月婷中文字幕| 九九免费在线视频| 久久久久这里只有精品| 亚洲色五月婷婷| 无码地址| 丁香色综合| 日本人妻伦在线中文字幕| 久久天堂精品| 久久这里有精品99| 久久久久久人妻| 久热在线观看视频9| 五月丁香啪啪啪| 天天做好综合色| 激情五月天视频| 丁香六月欧美| 色六月天| 99久视频| 免费黄色片子| 天堂综合久久 | 亚洲色情激情丁香五月| 激情综合网五月天| 9l视频自拍9l九色9l成人| 天天插夜夜爽| 五月婷婷丁香| 99热99在线| 国产精品VA在线| 九九九激情综合| 色婷丁香| 激情五月婷| 婷婷综合国产| 人人操人人爱丁香五月| 日本无码专区| 激情五月六月婷婷综合啪啪| 亚洲激情网| 亚洲色色五月天| 久久这里只有欧美| 久久国产成人9999久久久久| 激情五月com| 久久99网站| 操操人人| 天堂五月婷婷| 3p久久| 天天综合影院| 丁香婷婷综合影院| 香蕉AV777XXX色综合一区| 性色做爰片在线观看WW| 五月丁香999| 激情婷婷五月天| 内射综合网| 97色啪| 人人97操| 国产色色视频| 九九色院| 婷婷六月啪啪| 在线婷婷| 亚洲高清在线| 五月婷久久| 丁香五月AV| 综合激情五月四射婷婷| 超碰在线看| 九九人妻福利| 日本欧美成人片AAAA| 香蕉婷婷色五月| 丁香五月婷婷五月| 婷婷五月天色综合| 色 噜噜 九月 婷婷| 亚洲激情综合免费| 久久久久久久8| 婷婷娌伦网| 91在线操| 26uuu在线观看| 99久久久免费| 国产精品美女久久久久AV超清| 午夜理论片最新午夜理论剧| 狠狠干五月| 中文国产五月天| 野外99热| 丁香婷婷色五月| 五月丁香啪啪| 99精彩视频网站在线| 久热这里只有精品视频6| 极骚大香蕉伊人| 婷婷五月伦理网站| 99久精品视频| 激情丁香婷婷| 特级片神马电影| 婷婷五月综合网激情| 可以免费观看的av| 五月丁香激情综合啪| 99视频| 五月婷婷婷婷婷| 亚洲人人艹| 丁香五月情| 日本妈妈乱| 色青青电影色五月| 天天综合五月天| 久久曰曰| 黄色高清无码| 九九久久精品| 99热99热| 伊人久久婷婷| 日本久久久97| 久久伊人婷婷| 噜噜噜噜在线| 情色婷婷五月天| 操91| 97色色视频| 任你艹| 婷婷激情久久| 五月婷婷六月丁香| 丁香五月在线观看完整版| 九九色院| 国产AV影片| 天天干天天操天天射| 色狠狠激情五月| 国产亚洲99久久精品熟女| 亚洲综合草草| 久久这里只有精品22| 色哟哟www| 无码免费人妻A片AAA毛片西瓜| 这里只有精品视频99| 九九人人操| 新激情五月天| 五月激情六月综合| 日本色狠狠| 婷婷欧美偷拍综合| 婷婷五月丁香色播| 日本一级黄色片。| 九九色精品| 五月婷婷激情四月| 色情五月天小说| 99燥99日| 五月亭亭开心网| 天天搞天天色综合| 婷婷五月天伊人在线| 丁香九色不卡aaa| www.夜夜操| 熟女激情五月天| 一本久久亚洲五月婷婷| 99久久99九九99九九九| 99热超| 亚洲亚洲人成综合网络| 五月丁香婷婷色| 婷婷五月丁香香蕉| 都市激情小说婷婷| 在线不卡AC| 天天骑天天操| 男人天堂99| 五月婷婷开心丁香| 色婷婷五月天激情综合| 亚洲小视频免费看| 五月婷婷av| 色原狠狠综合| 五月天婷婷激情六月久久| 婷婷亚洲综合| Av大香蕉| 五月天婷婷綜合院| 色婷婷亚洲婷婷| 天天日日夜夜爽。| 99热777| 丁香五月亭亭六月综合激情网| 超碰97干| www.婷婷五月天| 五月婷婷色白丝| av一级棒av| 丁香六月婷婷| 久色网| 色优久久| 九九视频在线观看| 五月婷婷就去色| 青青草Avb在线| 欧美日韩成人综合9| 国产AV国片偷人妻麻豆| 国产又黄又爽又色的免费| 色五月丁香网| 亚洲无码99| 久久99久久久久久| 日本高清久久| 天天色视频| 久草五月| 久9视频| 99在线免费观看| 久久xx| 色一情一乱一乱一区91| 啪啪91| 丁香五月婷婷啪啪| 色情成人五月天| 色五月婷婷网| 日产精品久久久久久久蜜臀| 婷婷中合| 东北熟女高潮99综合99| 天天爱天天天射AV| 99热 精品在线| 97色干| 99视频| 99综合网| AAA级久久久精品| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 另类激情五月| 亚洲综合色色色| 久操97| 激情久久五月天| 丁香五月激情啪啪| 国产伦亲子伦亲子视频观看| 色色网站毛片| 婷婷五月另类网站| 丁香婷婷色五月| 五月婷婷啪啪| 欧美综合激情| 97超级碰碰碰| 日日干五月天婷婷| 26uuu欧美亚洲日韩| 色五月首页| 五月天开心网| 婷婷狠狠操| 做爰丰满少妇1313| 二区成人视频| 丁香激情久久| 国产综合激情五月久久| 色色色图| 51国精产品自偷自偷综合 | 噜噜五月天综合| 婷婷97| 色九月综合| 久久精品婷婷五月丁香| 99在线免费视| 天天爱天天做天天操| Av九九| 99re这里| 久久综合55| 99热在线中文字幕| 五月丁香六月激情狠狠| 色婷婷天堂| 丁香五月婷婷色| 天天综合色99| 九九激情网| 91wwmm导航| 玖玖婷婷五月天| 日本视频不卡123区| 五月天婷婷激情在线色图| 九九色中文| 色日本网| 日韩成人网址| www.99热这里精品| 五月丁香va| 丁五月激情视频免费| 婷婷啪啪| 桃色激情五月天| 六月婷婷私欲| 亚洲AV成人在线| 视频一区二区在线| 天天搽天天射| 久99久精品视频| 九九精品热| 人人操操| 丁香五月在线观看完整版| 久久综合爱| 丁香五月伊人| 欧美天天干五月丁香| 丁香五月先锋| 色综啪啪啪啪啪啪| 激情五月婷婷伊人| 六月婷婷色| 久久9RE热视频精品98| 五月情综合| 综合久久97| 4399在线观看免费高清毛片| 6月丁香婷婷激情| 婷婷五月AV| 91n啪啪| 色婷婷成人在线| 色999五月色| 免费AV在线网址| 丁香五月激情性色郤| 99这里| 婷婷97碰碰| 色欲色香伊人| 91色五月在线观看| 婷婷五月天亚洲激情戏精品| 99热在线播放| 色99网| 啪色综合| www.久久久久久久久久久| 久久久久人妻中文| 欧美成人猛片AAAAAAA| 五月天丁香六月综合| 九色七七| 欧洲精品爱爱| 99热日| 九九激情视频| 狠狠操狠狠操AV| 久草免费福利视频| 狠狠大香婷婷爱| 5月丁香婷婷激情网| 中文字幕 中文字幕明步| 丝袜熟女一区二区三区| 婷婷六月色播| 日韩三级高清无码| 色性五月天| 亚洲宗合激情| 天天狠狠色综合| 影音先锋男人女人| 久久99这里只有精品视频| 做爰丰满少妇1313| 丁香六月婷婷高清| 婷婷五月天桃花网| 开心五月婷婷99| 婷婷五月色综合香五月| 操丝袜视频影院导航| 97在线观视频免费观看| tingtingzonghewang| 久久精品一区二区三区四区| 青青草蜜臀| 精品久久久91久久影视网| 欧美va国产va| 曰韩五月丁香色婷婷无码| 99视频这里只有久久精品 | 99爱视频精品在线观看| 免费看欧美成人A片无码| 五月天a婷婷伊人| 无遮羞AV| 色五月婷婷色五月婷婷色五月婷婷| 天色色综合网| 五月丁香激情综合啪啪| 超碰在线人妻| 欧美性生交XXXXX无码小说| 久久有码| 色五月综合97| 久久性视频| 久久婷婷成人视频| 乱乱av| 激情综合激情五月一起草| av成人在线播放| 久久久婷婷| 99久久黄色顶级视频| 婷婷在线中文字幕| 日本成人噜噜噜| 国产性av| 日日撸夜夜操| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 9l视频自拍九色9l视频自拍九色9l社区| www久| 亚洲色婷婷99一9|| 婷婷激情四射五月天| 色三级色三级| 日操五月婷| 吾爱AV导航| 婷婷九月色| 丁香激情六月天婷婷| 婷婷伊人五月丁香天堂网| 97香蕉碰碰人妻国产欧美| 99在线免费视| 丁香天堂夜| 五月婷六月| 国内精品玖玖| 婷婷五月天AV| 99碰碰碰| 婷婷狠狠干| 三级成人网站| 中文精品在| 精品香蕉99久久久久网站| 六月丁香五月婷婷| 亚洲va日| 色色婷婷丁香五月天| 婷婷色综合| 直接看的AV| 丁香色情五月天| 2021日韩无码| 婷婷成人基地| 99色网站| 色停停五月天| 色五月激情综合网| 久久天堂色| 一起草av| www.婷婷亚洲基地| 人人视频色| 草综合网| 欧美日韩成人高清在线| 激情五月婷婷| 激情丁香久久| 4438亚洲欧美| 开心激情五月天网| 欧洲色| 亚洲男人的天堂婷婷色五月| 久久九九99| 偷拍九九五月丁香婷婷| 成人 在线观看国产| 91九色精品熟女内射| 华人在线免费| 六月婷婷深深爱| 色婷婷丁香九月| 啪啪啪丁香五月| 亚洲精品99| 超碰在线人人| 日本婷色| 久久五月天色| 亚洲激情区| 六月丁香啪| 狠狠干在线| 99久久婷婷国产综合亚洲| 亚洲精品久久久无码| 日本超碰在线| 2017人人操| 久久婷婷五月天蜜桃| 丁香婷婷五色月| 精品色情一区二区三区四区| 五月婷久久| 久9无码视频| 婷婷五月综合色中文字幕| 色婷婷五月天av在线| 日本久久天堂| 五月丁香六月激情综合| 色玖玖综合网| 97欧美在线| 丁香五月伊人| 五月婷婷啪啪| 色播播五月| 色婷婷五月视频| 婷婷五月天干干| 日本熟女一区二区| 伊人久久五月天| 米奇影视资源777狠狠色婷婷五月天激情网 | 天堂草在线观看| 狠狠狠狠狠操| 国产乱妇乱子伦| 99久久er| 五月婷婷综合潮喷| 精品三区影院| 丁香五月婷在线观看| 中文国产五月天| 狠狠狠五月婷婷六月丁香| 99热99精品在线观看| 四色女婷婷| 久久这里只有国产精品视频| 五月综合影院| 五月天综合婷婷| 踪合专区啪啪| 99精品一二三四视频| 五月婷婷深深爱| 婷婷久久丁香五月| 五月丁香六月香香蕉| 九九操操| 久久色频| 五月天性色| 99er视频在线| 天天爽天天摸天天爱| 婷婷久久综合| 大香蕉五月丁香| 色五月婷婷基地| 国产暴力强伦轩1区二区小说| 怡红院AV亚洲一区二区三区H | 97婷婷丁香五月天激情图片| 五月久久婷婷天堂视频| 日本熟妇精品99| 影音先锋按摩| 97干婷婷五月天| 婷婷色av| 97人人搞| 99操逼| 亚洲色无码A片一区二区麻豆| 色色五月婷婷狠狠| 久久婷婷的综合色丁香五月| 日本激情91| 深爱激情网五月| 亚洲丁香网| 综合啪啪| 婷婷五月色| 一本久久婷婷| 丁乡久久| 新99思思视频| 五月丁香六月婷婷亚洲综合| 亚洲另类婷婷综合| 九九在线精点品| 新激情五月天| 激情爱爱网站| 思思99精品视频在线观看| 五月婷婷欧美激情| 亚洲99热| 一级精品999WWW| 9久精品| 色五月在线播放| 亚州男人天堂婷婷五月| 伊人五月天久久| 婷婷丁香人妻天久久| 色综合久久久久久久久五月| 激情五月天啪啪| 天天干天天干天天干| 超碰在线观看caop| AV激情五月| 色色色色色网站| 婷婷五月色播放| 99热免费| 情一色一乱一伦一91A| 激情宗合哪里能看| 久9免费视频| 婷婷五月天激情视频| xx久久| 香蕉久久国产AV一区二区| 99热69| 国产又黄又爽又激情不遮挡视频在线观看| 成人在线99| 欧美私人家庭影院| 蜜桃婷婷狠狠久久| 欧美97p| 亚洲精品视频在线| 婷婷九月丁香中文| 26uuu色噜噜精品一区| 亚洲色视频| 精品国产乱码久久久久久免费 | www.五月激情.com| 国产免费AV网站| 五月婷婷黄网站大全| 色欲婷婷五月天丁香| 激情五月第四色| 色色色五月婷| av操B网站| 久久9热| 色插综合网| 人人色婷婷| 九九在线精品| 91xxxx九色| 天天舔夜夜操www com| 亚洲另类日本| 久久全意婷婷| 丁香五月性| 五月丁香六月婷婷亚洲视频| 120分钟婬片免费看| 超碰在线资源| 婷婷黄色五月天在线视频| 久久最新色| 五月天丁香久久综合| 大香蕉婷婷丁香天堂AV| 婷婷激情六月| 99在线视频观看| 久久婷婷综合国产| www激情网| 超碰人妻在线| 九九99香蕉在线视频播放| 激情五月婷在线精品| 国产精品18久久久| 色五月天丁香婷婷| dingxiangtingtingliuyue| 久久久激情| 亚洲网站999| 精品色色色| 亚洲乱码日产精品BD| 婷婷色婷婷亚洲成人| 色婷婷综合网| 亚洲欧美国产A片免费观看| 婷婷六月激情啪啪| 九九伊人网| 26UUU欧美激情一区二区| 超碰人人插| 久久精彩综合视频| 久久久激情视频| 91色在线| 玖玖爱资源站| 婷婷五月电影| 97人人看| 日本 欧美在线| 中文字幕在线不卡| 操逼综合激情网| 丁香五月婷婷亚洲色图| 午夜天堂啪啪| 激情五月天综合网站网站网站| 26uuu最新地址| AV大香蕉| 狠狠爱综合网| 激情婷婷五月天伊人在线观看 | 天天五月香欧美| 丁香六月色婷婷| 色婷婷基地在线| 精品久久久999| 99ri久久| 五月丁香啪| 久热91精品| 97人人射| 3pAV| 亚洲无码 图片区| 色五月视频,小说| www久久久久久| 超碰人人干| 91N 一起草| 欧美黄色韩日网| 色婷婷久久综合久色综| 九热视频| 久久aaa| 九九爱激情| 婷婷五月激情视频在线| 色在线99| 99热在线只有精品| 天天做天天爱天天爽在| 综合色图婷婷| 欧美激情综合色综合| 99热99| 91久久婷婷人人澡草 | 99热这里只有精品18| 99视频在线观看视频| 六月婷婷av| 色之综合网| 久久综合五月天激情小说网站 | 日韩在线视频中文字幕| 五月婷婷丁香| 五月色婷婷激情| 密臀av无码人妻精品| a在线观看| 欧洲激情五月天婷婷| 99热99日天天干| 大香蕉久久久久| 亚洲99精品九九在线| 五月婷婷亚洲色视频| 色爱综合网| 午夜精品久久久久久久爽| 嫩草乱码一区三区四区| 99热综合网| 欧美性色A片免费免费观看的| 婷婷色av| 91狠狠综合久久久| 色播jjjj| 综合激情五月天| 五月婷婷六月激情网| 激情综合色婷婷啪啪六月天| 五月色网| 色久天| 婷婷国产综合| 伊人久久大香线蕉亚洲五月天,| 激情欧美五月丁香| 无码地址| 成人短视频免费| 一本色道久久综合狠狠躁小说| www色中色综合| 97碰碰视频在线观看| 成人αV视频免费观看| 成人在线综合| 99久久成人| 9久久久久| 97日本操| 深爱激情综合网| 综合五月丁香六月婷婷| 九九热99re8热免费观看 | 欧美激情五月天| 五月天色在线| 操人91| 亚洲人成网站999综合| 开心五月网| 婷婷伊人网| 日日干综合| 久久婷婷网| 婷婷9月天| 久久丁香| 色婷婷久久综合久色综| 精品久色| 97热久久| 激情网 久久| 色色色色热| 五月丁香成年黄色| 一本久久亚洲五月婷婷| 大香蕉啪啪| 99热一本久道| 超碰成人黄色网| 激情五月激情综合网| 婷婷成人五月天| 狠狠干思思热| 丁香六月 人妻| 99小视频在线| 综合久久高清| 色欲色香,www,com| 人人色人人弄人人操| 色婷婷9| 五月天婷婷丁香视频| 非洲一级AV| 先锋影音av色五月天资源站| 欧美激情综合色综合啪啪五月| 另类图片 五月激情| 99综合视频一体| 香蕉人妻AV久久久久天天| 欧美日韩成人在线| 五月丁香六月| 夜夜爽天天干| 热思思| 激情五月天开心网丁香无码| 99视频色在线观看| 99热老网站| 婷婷丁香宗合888| 婷婷五月天99综合网站| 风流少妇A片一区二区蜜桃 | 天堂综合久| 大香蕉啪啪啪啪啪啪| 色域五月丁香| 九九热视频在线观看| 久久久精品色| 999热在线视频| 另类精品视频在线观看| 婷婷五月天美女视频| 五月丁香999| 婷婷色五月天色| 丁香六月天婷婷色| 天天综合色| 人人人操| 五月婷色色| 综合色99| 九九伊人网| 任你艹| 天天狠狠夜夜狠狠2023| 综合色影院| 91久久精品无码一区二区三区| 99在线热视频| 色综合久久88色综合天天看| 美欧日韩国产成人在战| 热99在线| 色噜噜狠噜噜视频| 五月综合丁香婷婷| 97色久| 九九视频这里只有精品| 热99这就是精品视频| 看片视频在线免费日产在线看| 久热这里只有| 神马欧美精| 99啪啪视频| a久久| 99噜噜噜在线播放| 97超级碰人人| 五月丁香亭亭电影久久| 激情婷婷五月社区| 色色色色色色色色色色色色色五月天| 婷婷五月天VI| 99热一本| 色呦呦美女| 性日本激情| 五月丁香 久久久| 婷婷六月花| 欧美天天干天天草| 亚洲mm色| 日日操日日射| 六月亭亭久久综合激情| 婷婷丁香亚洲色综合91| 97超碰人人操| 在线,国产,色,热视频| 天堂婷婷丁香六月网| 五月天激情国产综合婷婷| 九九AV在线| 另类图片五月天| 大香蕉视频婷婷| 色色色色色色综合网| 丝雨一区二区| 久99热在线观看| 久久se 综合网| 高潮毛片又色又爽免费| 97碰碰视频| 久久五月天精品视频| 天天爱天天做天天爽| 色噜噜狠狠一区二区三区| 色五月色五天色情网| 年轻的妺妺伦理HD中文| 丁香五月婷婷亚洲天堂| 伊人久久99| 这里只有精品99www| 色婷婷六月| 亚洲超碰在线| 九九久99免费视频| 婷婷综合网站| 亚洲 精品 综合 精品| 色五月在线视频观看| 狠狠五月激情丁香六月| 丁香五月网| 久久综合丁香激情五月| 日本女人久久| 国产69久久久欧美黑人A片| 色婷在线视频| 99热这里只有精品21| 日本五月视频| 亚洲AV成人在线| 欧洲MV日韩MV国产| 91精品国产99久久久久久天美| 中文久久久人妻| 免费在线观看欧美激情xx小视频| 久久久久人妻| 月色色综合婷婷网| 99久久a线观| 五月激情小说| 久在线88综合| 综合九九久久| 亚洲成人网站在线| 狠狠人妻久久久久久综合丁香| 99超级碰碰| 射婷婷中文字幕| 亚洲天堂久久| WWW.开心五月天.COM| 亚洲操逼网| 精品自拍99| 梁铮版《蜘蛛女侠》在线 | 大香蕉丁香婷婷| 九九热视频精品2| 五月婷婷在线视频观看| www久久久| 大香蕉视频婷婷| 99色在线| 深爱五月婷婷| 九九色婷婷五月天| 国产亚洲精品人人| 99精品国产在热久久婷婷| 久久久av久av久片一区二区| 97超碰人人操| 色综合久久88色综合天天99| 热91久| sesesesezonghe| 五月激情站| 成人av免费观看| 五月婷婷丁香网| 99视频在线播放大全| 日韩免费乱轮网站| 丁香五月先锋| 亚洲综合欧美色丁香婷婷888月图片| 天天摸,天天爽| 婷婷丁香在线| 婷婷99狠狠躁天天躁中文| 天天干天天操| 国产五月视频| 五月丁香婷婷无码A∨| 日韩成人精品中文字幕| 久久在线大香蕉| 色综合网综合| 国产欧美精品AAAAAA片| 噜噜五月天综合| 色婷婷六月精品| 99精品视频在线观看| 国产婷婷色五月| 婷婷九月激情| 六月婷欧美| 九九热在线精品视频| 操婷婷基地| 狠狠操天天操天天操| www激情| 丁香无五月网| 五月激情在线| 婷婷开心深爱五月天| 色综合九九| 91无码视频| 色色亚洲五月天| 中文成人在线| 六月丁香综合999| 国产真人做爰视频免费| 日日噜狠狠色综| 99视频自拍| 婷婷久久亚洲| 五月丁香色情| 99色婷婷视频| 色五月激情网| 久久99网站| 99热这里只有精品16| 欧美久热| 六月丁丁香| 色欲日日躁| 婷婷日韩| 六月丁香影院| 伊人五月天久久| 九九热最新视频| 婷婷伊人综合中文字幕| 国产日韩欧美性爱| 五月婷精品| 天天日日夜夜| 天天 日综合| 字幕网AV中文字幕| 激情五月丁香五月| 欧美色必爱| 激情五月天影院| 久久香蕉丁香| 色五月天电影| 五月丁香激情综合网官网| 欧美情色电影一区二区| www.99情趣网| 人妻九九九九| www.婷婷五月天.com| 五月丁香va| 久久久久久久久月丁| 五月婷婷丁香五月婷婷| 婷婷五月色花丁香社区| 婷婷五月天中文字幕| 99色在线视频观看| 美欧成人视频| 欧美性二区| 人妻丰满精品一区二区A片| 丁香五月天啪啪激情综和网| 丁香五月天堂网| 六月丁香色婷婷| 丝袜人妻| 熟妇无码乱子成人精品| 五月婷六月丁| 五月五月婷婷| 色情综合网| 九九婷婷五月天影视| 国产亚洲精品久久久久久豆腐| 丁香五月亭亭六月综合激情网| 九九色逼| 少妇大叫太大太粗太爽了A片| 婷婷色五月天综合网| 东京热人妻一区二区三区在线| 开心五月深爱五月| 九九AV| 先锋影音av色五月天资源站| 丁香五月天资源网| 丁香五月停停av| 婷婷综合五月色播|