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

ARTICLE DETAIL

資訊詳情

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

C++算法刷題筆記:STL容器與高頻模板實(shí)戰(zhàn)

C++算法刷題筆記:STL容器與高頻模板實(shí)戰(zhàn) 1. 這份筆記從哪來(lái)適合誰(shuí)看把標(biāo)題拆開(kāi)看就一句話(huà)這是一個(gè)C入門(mén)選手寫(xiě)給自己的算法刷題筆記。不是什么系統(tǒng)教材也不是什么大神心得就是我自己邊學(xué)邊記錄、邊踩坑邊修正的東西順手整理出來(lái)分享給同樣在摸索的人。先說(shuō)說(shuō)我自己的情況方便你判斷內(nèi)容適不適合你。我寫(xiě)C寫(xiě)過(guò)一陣子業(yè)務(wù)代碼但算法這塊一直是短板做題基本靠直覺(jué)碰上稍復(fù)雜的就抓瞎。今年決定系統(tǒng)地補(bǔ)一補(bǔ)把力扣、洛谷、??蜕系念}按專(zhuān)題刷邊刷邊把套路記下來(lái)。這份筆記就是那時(shí)候開(kāi)始攢的到現(xiàn)在已經(jīng)積累了小兩百條還在持續(xù)更新。筆記主要解決三個(gè)問(wèn)題。第一是知識(shí)碎片化——今天學(xué)個(gè)鏈表、明天碰個(gè)DP過(guò)兩周全忘了必須有個(gè)地方把套路固定下來(lái)。第二是代碼模板化——很多算法本質(zhì)上就是幾套固定寫(xiě)法的變種把模板記熟能省掉大量重復(fù)推導(dǎo)時(shí)間。第三是排錯(cuò)經(jīng)驗(yàn)化——算法題里最耗時(shí)間的其實(shí)是各種隱蔽錯(cuò)誤比如數(shù)組越界、死循環(huán)、邊界條件這些坑光靠看書(shū)學(xué)不到必須自己踩一遍才能記住。所以這份筆記的核心價(jià)值不在于系統(tǒng)全面而在于**實(shí)戰(zhàn)可復(fù)現(xiàn)**——每條筆記都對(duì)應(yīng)一個(gè)真實(shí)題目或真實(shí)場(chǎng)景寫(xiě)的時(shí)候就能直接用。筆記默認(rèn)你有基本語(yǔ)法功底知道指針、引用、STL容器是什么但不需要你有算法競(jìng)賽背景零基礎(chǔ)刷題的人跟著這個(gè)框架走完全沒(méi)問(wèn)題。我用的編譯器是GCC 9.4配合VS Code環(huán)境刷題平臺(tái)是力扣和洛谷。后面所有代碼都基于C11標(biāo)準(zhǔn)個(gè)別地方用了C17的特性我會(huì)單獨(dú)標(biāo)注。2. 整體設(shè)計(jì)思路為什么我選擇專(zhuān)題刷題模板沉淀的方式2.1 入門(mén)算法的核心矛盾知識(shí)量大與時(shí)間精力有限的沖突算法題涉及的知識(shí)點(diǎn)非常多數(shù)組、鏈表、棧、隊(duì)列、樹(shù)、圖、排序、搜索、動(dòng)態(tài)規(guī)劃、貪心、回溯、字符串匹配……如果按教材一章一章啃啃到樹(shù)就已經(jīng)想放棄了。但反過(guò)來(lái)看真正筆試面試??嫉牟](méi)那么玄乎核心其實(shí)就是那幾個(gè)固定專(zhuān)題的排列組合。我統(tǒng)計(jì)過(guò)自己刷的一百多道題出題頻率最高的就這幾類(lèi)雙指針和滑動(dòng)窗口大概占20%二分查找和二分答案差不多15%數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)題15%DFS和BFS搜索15%動(dòng)態(tài)規(guī)劃15%剩下是貪心、回溯和雜題。這個(gè)比例說(shuō)明一件事你把六七個(gè)專(zhuān)題的套路吃透就能覆蓋八成以上的題目。這就是我選擇專(zhuān)題刷題而不是按頁(yè)翻書(shū)的原因。2.2 模板沉淀一篇筆記解決一類(lèi)題一個(gè)很深的體會(huì)是一道題你會(huì)做不代表你掌握了這一類(lèi)題。很多題看起來(lái)不一樣底層解法是同一套東西。比如最長(zhǎng)無(wú)重復(fù)子串、最小覆蓋子串、長(zhǎng)度最小的子數(shù)組表面上三題完全無(wú)關(guān)但全部可以用滑動(dòng)窗口模板解決。我筆記里的做法就是刷完一類(lèi)題之后立刻總結(jié)一版通用解法模板配合兩三道典型例題之后遇到同類(lèi)型的題目直接套模板改參數(shù)效率比每次從頭推導(dǎo)高太多。2.3 筆記結(jié)構(gòu)的演進(jìn)從流水賬到反查手冊(cè)最早我的筆記就是流水賬——今天刷了什么題、AC還是WA、用了什么方法寫(xiě)到后面發(fā)現(xiàn)根本沒(méi)法查。后來(lái)我重構(gòu)了一次按專(zhuān)題分類(lèi)組織每條筆記包含五個(gè)要素問(wèn)題模型、核心思路、代碼模板、復(fù)雜度分析、易錯(cuò)點(diǎn)?,F(xiàn)在做題遇到卡殼我能快速定位到相關(guān)筆記比搜索引擎還好用。這個(gè)結(jié)構(gòu)這里也分享給你后面每個(gè)專(zhuān)題我都是按這五個(gè)要素來(lái)寫(xiě)的。3. 核心知識(shí)點(diǎn)拆解STL容器到底該怎么用3.1 vector的底層機(jī)制與性能取舍vector是C里用得最多的容器但很多人只是當(dāng)可變長(zhǎng)數(shù)組用對(duì)它的底層機(jī)制和性能特性了解不夠。vector的本質(zhì)是動(dòng)態(tài)數(shù)組底層維護(hù)三個(gè)指針起始位置、當(dāng)前使用末尾、容量末尾。當(dāng)元素?cái)?shù)量超過(guò)當(dāng)前容量時(shí)vector會(huì)重新分配一塊更大的內(nèi)存通常翻倍把舊元素逐個(gè)拷貝過(guò)去然后釋放舊內(nèi)存。這一步非常貴——如果你在循環(huán)里不斷push_back觸發(fā)了擴(kuò)容時(shí)間復(fù)雜度就是O(n)的拷貝開(kāi)銷(xiāo)。實(shí)操中我的建議如果能預(yù)估元素?cái)?shù)量上限直接調(diào)用reserve預(yù)留空間。舉個(gè)例子你要讀取一個(gè)有N個(gè)整數(shù)的數(shù)組int n; cin n; vectorint nums; nums.reserve(n); // 推薦避免多次擴(kuò)容拷貝 for (int i 0; i n; i) { int x; cin x; nums.push_back(x); }順便說(shuō)一個(gè)刷題時(shí)經(jīng)常踩的坑vector的size()返回的是size_t類(lèi)型無(wú)符號(hào)整數(shù)如果直接拿0去減它得到的是一個(gè)巨大的正數(shù)導(dǎo)致循環(huán)永遠(yuǎn)不結(jié)束或者越界。正確寫(xiě)法是先轉(zhuǎn)成int再減或者用nums.size()參與比較時(shí)保持兩邊同為無(wú)符號(hào)類(lèi)型。3.2 map、set與unordered系列的選擇邏輯很多新手糾結(jié)什么時(shí)候用map、什么時(shí)候用unordered_map這里有個(gè)簡(jiǎn)單的判斷標(biāo)準(zhǔn)需要有序遍歷鍵值對(duì)用map底層紅黑樹(shù)O(log n)操作只需要快速查找不需要順序用unordered_map底層哈希表平均O(1)操作需要判斷元素是否存在且不關(guān)心順序用unordered_set需要去重且保持順序用set實(shí)際刷題時(shí)九成以上的題目用unordered_map就夠了因?yàn)楣2檎业某?shù)極小性能遠(yuǎn)好于紅黑樹(shù)的log n。只有在考到按順序輸出或者找第k小元素這類(lèi)需要區(qū)間操作時(shí)才輪到map和set出場(chǎng)。有個(gè)細(xì)節(jié)要注意unordered_map的遍歷順序是不確定的如果你的結(jié)果對(duì)順序有要求必須先排序再處理。3.3 priority_queue與自定義比較器優(yōu)先隊(duì)列堆是很多算法題的利器特別是涉及每次取最大/最小的場(chǎng)景。默認(rèn)的priority_queue是大頂堆取的是最大元素。如果要取最小元素一般兩種寫(xiě)法// 寫(xiě)法一用 greater 指定小頂堆 priority_queueint, vectorint, greaterint minHeap; // 寫(xiě)法二存入負(fù)值 priority_queueint maxHeap; maxHeap.push(-x); // 取出來(lái)的時(shí)候記得取負(fù)對(duì)于自定義結(jié)構(gòu)體需要重載比較運(yùn)算符。這里是重災(zāi)區(qū)很多人搞不清比較方向和堆的大小的關(guān)系。我的記憶技巧是返回true表示第一個(gè)參數(shù)排在第二個(gè)參數(shù)后面也就是優(yōu)先級(jí)更低。struct Node { int dist; int id; }; // 自定義小頂堆dist小的優(yōu)先 struct Cmp { bool operator()(const Node a, const Node b) { return a.dist b.dist; // 注意小頂堆用的是大于號(hào) } }; priority_queueNode, vectorNode, Cmp pq;提示Dijkstra算法、合并K個(gè)有序鏈表、滑動(dòng)窗口最大值這些經(jīng)典問(wèn)題底層全依賴(lài)優(yōu)先隊(duì)列這個(gè)容器值得花一小時(shí)專(zhuān)門(mén)練透。3.4 string的常用操作與坑字符串在算法題里繞不開(kāi)尤其是處理子串、回文串、字符統(tǒng)計(jì)。C的string有不少方便的函數(shù)但有幾個(gè)坑值得注意substr的參數(shù)是起始位置長(zhǎng)度不是起始位置結(jié)束位置。很多從Python轉(zhuǎn)過(guò)來(lái)的人容易在這上面翻車(chē)。getline配合cin處理含空格的整行輸入如果你前面用過(guò)cin 緩沖區(qū)會(huì)留下?lián)Q行符直接用getline會(huì)讀到空行。解決辦法是先cin.ignore()。字符統(tǒng)計(jì)用數(shù)組代替map如果范圍是26個(gè)小寫(xiě)字母直接用vectorint cnt(26, 0)性能遠(yuǎn)好于unordered_map。這是一個(gè)經(jīng)常被忽視的優(yōu)化點(diǎn)。對(duì)string做大量拼接操作時(shí)注意比str str ch高效得多前者是原地操作后者會(huì)創(chuàng)建新對(duì)象。4. 經(jīng)典算法模板與場(chǎng)景拆解4.1 二分查找不是找到就完了而是邊界二分查找算得上最簡(jiǎn)單也最容易寫(xiě)錯(cuò)的算法。說(shuō)它簡(jiǎn)單是因?yàn)樗悸肪鸵痪湓?huà)——每次砍掉一半說(shuō)它容易寫(xiě)錯(cuò)是因?yàn)檫吔鐥l件稍微調(diào)錯(cuò)就是死循環(huán)或者漏解。我推薦的寫(xiě)法是左閉右開(kāi)區(qū)間配合searchFirst等價(jià)變體統(tǒng)一處理這樣記起來(lái)只有一個(gè)模板// 在有序數(shù)組中查找第一個(gè) target 的元素位置不存在返回 nums.size() int lower_bound(vectorint nums, int target) { int left 0, right nums.size(); // 左閉右開(kāi) while (left right) { int mid left (right - left) / 2; // 防溢出寫(xiě)法 if (nums[mid] target) { left mid 1; } else { right mid; } } return left; }注意我用了left (right - left) / 2而不是(left right) / 2。當(dāng)left和right都接近2^31時(shí)直接相加可能溢出。雖然在普通題目里不容易觸發(fā)但這是個(gè)好習(xí)慣競(jìng)賽時(shí)能救你一命。這套模板的核心思想始終保持答案可能在[left, right)區(qū)間內(nèi)最終left和right會(huì)收斂到同一個(gè)位置這個(gè)位置就是答案。想找最后一個(gè)小于target的元素就得在判斷條件上做文章但區(qū)間框架不變。4.2 滑動(dòng)窗口最長(zhǎng)與最短的套路差異滑動(dòng)窗口是雙指針?biāo)枷氲倪M(jìn)階版專(zhuān)門(mén)用于處理子數(shù)組/子串問(wèn)題。核心維護(hù)一個(gè)窗口[left, right]通過(guò)擴(kuò)展和收縮遍歷所有可能的狀態(tài)。最長(zhǎng)類(lèi)問(wèn)題如無(wú)重復(fù)最長(zhǎng)子串的模板int maxWindow(vectorint nums) { int left 0, ans 0; unordered_mapint, int window; // 記錄窗口內(nèi)元素狀態(tài) for (int right 0; right nums.size(); right) { window[nums[right]]; while (窗口條件不滿(mǎn)足) { // 收縮左邊界 window[nums[left]]--; if (window[nums[left]] 0) window.erase(nums[left]); left; } ans max(ans, right - left 1); } return ans; }最短類(lèi)問(wèn)題如最短覆蓋子串則是完全相反的形態(tài)——先不斷擴(kuò)展直到滿(mǎn)足條件再?lài)L試收縮找最短。這兩者的核心區(qū)別在于最長(zhǎng)類(lèi)窗口是不滿(mǎn)足才收縮最短類(lèi)窗口是滿(mǎn)足就收縮。我一開(kāi)始把這兩套邏輯混在一起每次寫(xiě)都要推半天后來(lái)把模板分開(kāi)記錄之后基本秒套。有一個(gè)高頻考點(diǎn)是窗口內(nèi)的統(tǒng)計(jì)方式。如果只涉及字符且字符范圍有限比如只有字母建議用數(shù)組計(jì)數(shù)而不是map代碼如下vectorint cnt(128, 0); // ASCII碼范圍 int needCnt 0; // 記錄滿(mǎn)足條件的字符種類(lèi)數(shù)4.3 DFS與BFS搜迷宮和求最短路的兩種武器搜索是算法題的分水嶺。DFS深度優(yōu)先搜索適合求所有解的場(chǎng)景全排列、組合、島嶼數(shù)量、回溯剪枝BFS廣度優(yōu)先搜索適合求最短路徑的場(chǎng)景走迷宮、最小步數(shù)、單詞接龍。DFS的經(jīng)典框架以島嶼數(shù)量為例void dfs(vectorvectorchar grid, int i, int j) { if (i 0 || i grid.size() || j 0 || j grid[0].size()) return; if (grid[i][j] 0) return; // 已訪(fǎng)問(wèn)或非陸地 grid[i][j] 0; // 標(biāo)記已訪(fǎng)問(wèn)原地修改 dfs(grid, i 1, j); dfs(grid, i - 1, j); dfs(grid, i, j 1); dfs(grid, i, j - 1); }這里有個(gè)非常關(guān)鍵的點(diǎn)visited標(biāo)記一定要在遞歸進(jìn)入之前完成。如果放在遞歸開(kāi)始之后可能會(huì)造成重復(fù)訪(fǎng)問(wèn)和死循環(huán)。我一開(kāi)始習(xí)慣性在進(jìn)入下一層之前不加標(biāo)記超時(shí)之后排查半天才發(fā)現(xiàn)問(wèn)題。BFS框架則依賴(lài)隊(duì)列int bfs(vectorvectorint grid, int startX, int startY) { int n grid.size(), m grid[0].size(); vectorvectorint dist(n, vectorint(m, -1)); queuepairint, int q; q.push({startX, startY}); dist[startX][startY] 0; int dirs[4][2] {{1,0},{-1,0},{0,1},{0,-1}}; while (!q.empty()) { auto [x, y] q.front(); q.pop(); for (auto d : dirs) { int nx x d[0], ny y d[1]; if (nx 0 || nx n || ny 0 || ny m) continue; if (dist[nx][ny] ! -1) continue; dist[nx][ny] dist[x][y] 1; q.push({nx, ny}); } } return dist[目標(biāo)x][目標(biāo)y]; }用dist數(shù)組同時(shí)承擔(dān)是否訪(fǎng)問(wèn)過(guò)和距離為多少兩個(gè)職責(zé)這是BFS中最常用的優(yōu)化寫(xiě)法能省一個(gè)額外的visited數(shù)組。4.4 動(dòng)態(tài)規(guī)劃入門(mén)最難啃但回報(bào)最大的一章動(dòng)態(tài)規(guī)劃是很多人的噩夢(mèng)我一開(kāi)始也被嚇到后來(lái)發(fā)現(xiàn)其實(shí)是方法論問(wèn)題。比起背狀態(tài)轉(zhuǎn)移方程更重要的是按固定步驟思考定義狀態(tài)dp[i]表示什么大多數(shù)題目里dp[i]代表以第i個(gè)元素結(jié)尾的最優(yōu)解或者前i個(gè)元素的最優(yōu)解。寫(xiě)出轉(zhuǎn)移方程dp[i]怎么由更小的狀態(tài)推出來(lái)確定初始條件dp[0]或dp[1]等于什么確認(rèn)遍歷順序從前往后還是從后往前一維還是二維以最經(jīng)典的最長(zhǎng)遞增子序列LIS為例int lengthOfLIS(vectorint nums) { int n nums.size(); if (n 0) return 0; vectorint dp(n, 1); // 初始值每個(gè)元素自身構(gòu)成長(zhǎng)度為1的序列 int ans 1; for (int i 1; i n; i) { for (int j 0; j i; j) { if (nums[j] nums[i]) { dp[i] max(dp[i], dp[j] 1); } } ans max(ans, dp[i]); } return ans; }這個(gè)O(n2)的寫(xiě)法是最容易理解的版本。如果想優(yōu)化到O(n log n)需要用貪心二分維護(hù)一個(gè)遞增序列的尾部最小值數(shù)組這個(gè)進(jìn)階版本我放在筆記后面作為拓展題不建議新手一上來(lái)就啃。DP的題感培養(yǎng)需要大量題量支撐。我個(gè)人經(jīng)驗(yàn)是先保證能把背包問(wèn)題、最長(zhǎng)公共子序列、最長(zhǎng)遞增子序列、編輯距離這四個(gè)最經(jīng)典模型吃透之后再看其他DP題就不會(huì)覺(jué)得是完全陌生的了。5. 精度、溢出與性能調(diào)優(yōu)算法題里最隱蔽的坑5.1 整數(shù)溢出的常見(jiàn)場(chǎng)景C刷題最常見(jiàn)的問(wèn)題之一就是溢出。比如計(jì)算中間值時(shí)兩個(gè)10^9的數(shù)相乘直接得到10^18已經(jīng)超過(guò)int上限約2.1×10^9。很多人題目思路全對(duì)提交卻WA一查才發(fā)現(xiàn)是溢出。我的檢查清單運(yùn)算過(guò)程中涉及乘法且數(shù)值可能超過(guò)10^4先把變量類(lèi)型設(shè)成long long求平均值取(left right) / 2時(shí)用left (right - left) / 2防溢出狀態(tài)轉(zhuǎn)移方程里出現(xiàn)加法比如二維DP中dp[i][j] dp[i][j-1]如果答案可能超過(guò)int上限dp數(shù)組直接定義成vectorvectorlong long5.2 浮點(diǎn)數(shù)比較永遠(yuǎn)不要用如果你做過(guò)涉及浮點(diǎn)數(shù)的題比如二分答案求平方根一定會(huì)遇到精度問(wèn)題。浮點(diǎn)數(shù)在內(nèi)存中是近似表示的所以sqrt(2) * sqrt(2) 2在C里很可能得到false。正確的做法是定義一個(gè)極小值epsilon用絕對(duì)值差是否小于epsilon來(lái)判斷。const double EPS 1e-8; if (fabs(a - b) EPS) { // 視為相等 }5.3 時(shí)間復(fù)雜度的估算方法很多新手問(wèn)我題目提交超時(shí)是不是算法不夠好。實(shí)際上超時(shí)有兩個(gè)原因要么復(fù)雜度太高要么常數(shù)太大。前者靠換算法后者靠?jī)?yōu)化編碼細(xì)節(jié)。估算方法很簡(jiǎn)單假設(shè)你的程序每秒能執(zhí)行大約10^8次基本運(yùn)算這個(gè)值對(duì)OJ環(huán)境大致適用。那么數(shù)據(jù)規(guī)模n 10^5O(n2)算法 10^10次必超時(shí)數(shù)據(jù)規(guī)模n 10^5O(n log n)算法 ≈ 1.7×10^6次很安全數(shù)據(jù)規(guī)模n 10^6O(n)算法 10^6次沒(méi)問(wèn)題拿到題目第一件事不是寫(xiě)代碼而是先看數(shù)據(jù)范圍確定允許的復(fù)雜度級(jí)別。這個(gè)習(xí)慣能幫你排除掉一半的錯(cuò)誤思路。比如看到n ≤ 10^5就應(yīng)該立刻排除需要兩層循環(huán)的O(n2)解法。5.4 輸入輸出優(yōu)化cin和cout沒(méi)你想的那么慢刷題時(shí)經(jīng)常聽(tīng)到用scanf別用cin的說(shuō)法。這個(gè)說(shuō)法有歷史背景早期C的cin為了兼容C的stdio默認(rèn)開(kāi)啟了同步導(dǎo)致性能偏低。但在現(xiàn)代OJ上你只要在main開(kāi)頭加上一行ios::sync_with_stdio(false); cin.tie(nullptr);cin和cout的速度就能逼近scanf/printf完全夠用。我個(gè)人是能用cin就用cin省去格式串的調(diào)試時(shí)間只有需要格式化輸出特定寬度時(shí)才用printf。這行的原理是關(guān)閉C和C兩套IO的同步緩沖區(qū)cin和cout不再等待stdio的刷新自然就快了。注意關(guān)閉同步后不要混用cin和scanf會(huì)亂序這點(diǎn)寫(xiě)在筆記的第一頁(yè)。6. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄6.1 編譯錯(cuò)誤篇大多數(shù)人卡住的不是算法我能說(shuō)一半以上新手提交不通過(guò)卡在編譯錯(cuò)誤階段嗎常見(jiàn)的編譯錯(cuò)誤有這幾種忘了引入頭文件用vector不加vector用sqrt不加cmath。解決辦法是養(yǎng)成寫(xiě)完代碼先自查include的習(xí)慣。結(jié)構(gòu)體比較沒(méi)重載運(yùn)算符用了sort對(duì)自定義結(jié)構(gòu)體排序卻忘了定義比較函數(shù)編譯直接報(bào)錯(cuò)。函數(shù)聲明和定義不匹配特別是模板函數(shù)聲明時(shí)用了T定義時(shí)用了int類(lèi)型對(duì)不上。注意C11起的特性差異auto、unordered_map、make_pair這些都是C11的如果平臺(tái)用的是C98標(biāo)準(zhǔn)全部報(bào)錯(cuò)。刷題前先確認(rèn)標(biāo)準(zhǔn)版本。一個(gè)非常實(shí)用的排錯(cuò)技巧從報(bào)錯(cuò)信息的最后一行倒著看。編譯器的報(bào)錯(cuò)經(jīng)常是級(jí)聯(lián)的——第一個(gè)錯(cuò)誤引發(fā)后面幾十個(gè)錯(cuò)誤但真正的源頭往往在最后那一行。6.2 運(yùn)行時(shí)錯(cuò)誤段錯(cuò)誤和棧溢出的區(qū)別提交后報(bào)Runtime Error大多數(shù)情況是段錯(cuò)誤訪(fǎng)問(wèn)了非法內(nèi)存。常見(jiàn)的觸發(fā)點(diǎn)數(shù)組越界vectorint nums(10); nums[10] 1;下標(biāo)最大只能是9空指針/野指針用了一個(gè)未初始化的指針解引用end迭代器*nums.end()是未定義行為遞歸深度過(guò)大DFS遞歸穿過(guò)1萬(wàn)層以上可能爆棧如果是遞歸爆棧有兩個(gè)解決辦法一是把遞歸改成顯式的棧模擬比如用stack保存狀態(tài)二是把DFS改成BFS。設(shè)計(jì)算法時(shí)就考慮遞歸深度比出了問(wèn)題再改要省事得多。6.3 邏輯錯(cuò)誤AC代碼為什么總差一點(diǎn)點(diǎn)最氣人的是本地運(yùn)行沒(méi)問(wèn)題提交就WA。這類(lèi)問(wèn)題絕大多數(shù)是邊界條件沒(méi)處理好空數(shù)組、只含一個(gè)元素的數(shù)組已經(jīng)有序的數(shù)組全是相同元素的數(shù)組最大值的邊界情況比如k大于數(shù)組長(zhǎng)度我的建議是寫(xiě)完代碼后走一遍自己寫(xiě)的樣例還不夠要手動(dòng)構(gòu)造3-4個(gè)極端用例。比如排序算法測(cè)一下[]和[5]二分查找測(cè)一下target小于所有元素和target大于所有元素的情況。五毛錢(qián)的功夫能省去半天調(diào)試時(shí)間。6.4 死循環(huán)的排查套路如果你發(fā)現(xiàn)程序卡住不輸出多半是循環(huán)沒(méi)退出。排查順序二分查找的left和right更新是否正確left mid 1和right mid這是正確節(jié)奏如果把left mid就會(huì)陷入兩個(gè)相鄰位置的死循環(huán)滑動(dòng)窗口的left是否在某個(gè)條件下永不右移鏈表的快慢指針有沒(méi)有在同一節(jié)點(diǎn)打轉(zhuǎn)DFS/BFS的狀態(tài)標(biāo)記是否漏了某個(gè)分支有一個(gè)調(diào)試技巧很實(shí)用——在循環(huán)體的開(kāi)頭加一行cout debug: left right endl;觀察變量變化死循環(huán)的位置立刻暴露。用完記得刪掉。7. 環(huán)境配置與刷題工作流7.1 本地調(diào)試環(huán)境搭建要點(diǎn)雖然OJ上提交不看本地環(huán)境但本地調(diào)試能極大提升刷題效率。我的開(kāi)發(fā)環(huán)境是三件套VSCode GCC 一個(gè)簡(jiǎn)單的測(cè)試腳本。寫(xiě)算法題時(shí)我從來(lái)不在一個(gè)main函數(shù)里堆代碼——而是寫(xiě)一個(gè)包含全部測(cè)試用例的單文件測(cè)試用命令行編譯運(yùn)行g(shù) -stdc17 -Wall -Wextra -g -o main main.cpp-Wall -Wextra能提示絕大多數(shù)未定義行為和類(lèi)型轉(zhuǎn)換問(wèn)題-g生成調(diào)試信息配合gdb使用。這些編譯選項(xiàng)在OJ上是不會(huì)啟用的所以在本地編譯干凈通過(guò)能提前過(guò)濾掉一大半問(wèn)題。7.2 刷題前5分鐘的準(zhǔn)備動(dòng)作我每次開(kāi)始刷題前會(huì)先花五分鐘默一遍基礎(chǔ)模板快排的partition、二分查找的兩個(gè)變體、DFS和BFS的骨架、滑動(dòng)窗口的左右指針移動(dòng)邏輯。這就像熱身能讓手和大腦快速進(jìn)入狀態(tài)。如果你還沒(méi)有自己整理過(guò)模板我的建議是現(xiàn)在就打開(kāi)一個(gè)空白文檔手敲一遍上面列的核心模板。手敲和復(fù)制粘貼的差別很大——敲的過(guò)程中你才會(huì)注意到那些邊界條件的細(xì)節(jié)。7.3 筆記更新的迭代方式這份筆記寫(xiě)了小半年更新方式從一開(kāi)始的刷到哪記到哪變成了現(xiàn)在的版本管理方式每個(gè)專(zhuān)題單獨(dú)一個(gè)文件每次刷題后如果有新感悟或者新坑追加在對(duì)應(yīng)專(zhuān)題的補(bǔ)充記錄區(qū)域。我現(xiàn)在習(xí)慣在每道題提交通過(guò)之后順手更新筆記——哪怕只是加一條這題可以用上一題模板直接套。這樣積累足夠多之后筆記就是一本完全個(gè)人化的算法手冊(cè)。8. 最后的實(shí)操建議8.1 做題順序怎么定先廣度后深度如果你剛開(kāi)始刷題我強(qiáng)烈建議按這個(gè)順序掃一遍知識(shí)點(diǎn)線(xiàn)性表數(shù)組、鏈表、棧、隊(duì)列→ 哈希表 → 排序與自定義排序 → 二分查找 → 雙指針/滑動(dòng)窗口 → 樹(shù)的基礎(chǔ)遍歷 → DFS/BFS → 回溯 → 貪心 → 動(dòng)態(tài)規(guī)劃。前段是性?xún)r(jià)比最高的內(nèi)容投入三四周就能有明顯感覺(jué)。動(dòng)態(tài)規(guī)劃放到最后不是因?yàn)椴恢匾且驗(yàn)樗枰C合運(yùn)用前面的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)太早接觸容易打擊信心。8.2 一道題刷到什么程度算會(huì)了我自己的標(biāo)準(zhǔn)有三層能獨(dú)立AC、能講清楚思路和復(fù)雜度、能說(shuō)出這題的變種以及模板還有哪些其他用途。只滿(mǎn)足第一層算做過(guò)了三層都滿(mǎn)足才算掌握了。后者關(guān)系到你碰到新題時(shí)能不能快速聯(lián)想到舊套路。每道題AC之后建議順手做兩件事一是看一眼題解區(qū)是否有比你的方法更優(yōu)的解法記錄下來(lái)二是想一想如果題目稍微改一下條件比如數(shù)組變成無(wú)序、最大值改為最小值、m次改為k次你的解法還成立嗎。這兩個(gè)習(xí)慣對(duì)培養(yǎng)算法思維特別有效。8.3 分享我的一個(gè)習(xí)慣錯(cuò)題本比題單更值錢(qián)我做題最寶貴的資產(chǎn)不是AC過(guò)的題而是那些多次提交才過(guò)、或者看了題解才恍然大悟的題。遇到這種題我除了正常筆記外專(zhuān)門(mén)在文檔末尾加了一個(gè)弱題清單記錄當(dāng)時(shí)的卡殼點(diǎn)。每周回頭重做清單里的題直到一次AC再移出清單。這比每天刷新題有效得多——你真正需要訓(xùn)練的是你的薄弱點(diǎn)而不是你已經(jīng)會(huì)的東西。這份筆記還在持續(xù)更新接下來(lái)我會(huì)補(bǔ)充的內(nèi)容包括圖論進(jìn)階拓?fù)渑判颉⒉⒉榧?、最短路、字符串算法KMP、Trie樹(shù)、更多動(dòng)態(tài)規(guī)劃的經(jīng)典模型以及一些競(jìng)賽向的技巧。如果你是按這篇筆記的框架來(lái)學(xué)習(xí)的建議每學(xué)完一個(gè)專(zhuān)題寫(xiě)自己的三條總結(jié)把你遇到的坑和心得也記進(jìn)去——自己的筆記永遠(yuǎn)是最好用的筆記。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99操逼视频| 91九色PORNY大屁股| 亚洲精品性色| 99热久草| 操b视频在线观看一区二区| 亚洲无码成人性爰网| 五月丁香婷婷基地| 五月综亚洲| 婷婷五月天AV在| 日本三级韩三级99久久| www.激情五月天com| 激情婷婷五月在线合集| 乱码操操| 色射影院| 另类图片色五月| 色5月婷婷| 欧美久久婷婷| 五月丁香综合| 无码se| 天天干 夜夜爽| 久久久精品99亚洲综合| 色五月美女| 中文字幕在线免费观看视频| 天天干天天 亚洲| 成人在线日韩| 免费黄色片子| 99久久精品色老| 99在线免费视频播放| 久久精彩免费视频| 色吧五月婷婷| 五月丁香六月激情欧美综合| 久久五月丁香六月婷| 青吴乐视频| 思思久久精品| 亚洲色综合| 天天做天天爽| www.91久久| 一级黄色尤物综合视频手机在线观看| 久久综合网桃花| 欧美性生交A片免费看| 开心五月色婷婷综合开心网| 亚洲性受XXXX五月丁香| 久久一品区| 激情五月综合网丁| 91碰操| 亚洲妇女熟BBW| 五月丁香综合| 极品人妻VIDEOSSS人妻| 久热久| 色五月在线观看| 超碰色色综合| 激情综合五月| 国产午夜精品一区二区三区嫩草| 97九色| 久热这里只有| 丁香婷婷五月天校园春色| 亚洲午夜av| www.久久久久| 欧美性爱五月天| 99日韩| 午夜少妇在线观看视频| 日韩色色视频| 女同在线9| 丁香婷婷成年| 91久久色| 草操网| 26uuu国产色| xx综合网| 五月丁香六月激情综合| 五月婷婷亚洲| 亚州色色色| 综合五月婷婷| 九九热内射| 亚洲视频码| 九九99九九精品视频| 国色天香伊人狠狠色| 99热国内精品| 色99视| 五月激情综合五月| 思思热精品在线| 色噜噜狠噜噜视频| 六月色婷婷| 九九色逼| 日韩大片艹艹| 五月熟妇婷婷久久| 99久久婷婷五月综合| 国产精品视频久久99| 九九精品片一| 天天天天操| 亚洲激情淫网| 天天爽,夜夜爽| 99热在线观看| 亚洲蜜桃精久久久久久久久久久久| 色婷| 婷婷中文综合网| 日韩无码性爱| 久色网五月| 熟女激情五月天| 梁铮版蜘蛛女在线观看| 亚洲在线激情婷婷五月| 5月色亭亭视频| 五月天激情网页| 99色色视频| 色五月天电影| 婷婷五月天丁香激情| 久久AAAA片一区二区| 538在线精品| 日本黄 色 片| 五月婷婷色播视频| 丁香五月天社区| 久99久热只有精品国产99| 久久精品在线| 丁香婷婷色五月| 五月天网址在线刘玥| 91久久精品国产91性色TV| 天天综合精品| www色婷婷| 美国天天日天天操| 五月激情在线| 五月天婷婷xxx| 激情五月婷婷中文字幕| 五月丁香婷婷成人网| 婷婷深爱色五月| 久草a片| 久久久亚洲精品一区二区三区浴池| 丁香六月婷婷久久综合| 99er热精品视频| 婷婷日| 丁香五月天社区| 99热精品在线| 亚洲激情免费久久| 综合色99| 婷婷在线中文字幕| 一个色的综合| 风流少妇A片一区二区蜜桃| 免费观看全黄做爰的视频| 99ree6| 玖玖在线视频福利| 91Chinese在线| 九热精品| 丁香五月欧美| 久久人视频| 大香蕉久久| 婷婷99视频精品| 五月天婷婷在线AN| 91人碰| 婷婷五月天激情丁香| 激情VA视频| 国产SUV精品一区二区6| 97色热| 玖玖热视频| 精品国婬伦V无码久久久| 色婷婷成人| 操婷婷基地| 久热这里只有精品视频6| 五月天婷婷影院| 伊人天堂婷婷| 先锋资源婷婷| www激情| 91九色网| 婷婷六月久久| 综合精品99| 久久九九色| 在线伦子99热| 五月丁香黄色视频| 成人色站,在线视频,看片-SS1AV| 国产 亚洲 在线| 超碰猛烈的性猛交| 人人爱国产| 操操操av| 日韩三级视频一区二区| 一区二区三区四区无码| CHINESE熟女老女人HD视频 | 成人在线视频网| 99玖玖免费视频| 日本色天堂| 玖玖爱伊人| 九九久久99| 五月婷婷大香蕉| 天天狠天天狠| 久热re在线视频| 综合啪啪| 丁香五月天天日| 色色色色色色综合网| 五月激情综合网| 六月色婷婷| 亚洲性图一区二区三区| 亚洲日韩乱码一区二区三区四区| 丁香六月高清视频| 91在线视频综合| 婷婷四色五月| 狠色狠色综合久久| 丁香五月性爱| 9999综合99综合人| 五月婷婷综合在线| 九九色色| 亚洲一区二区无码蜜乳av| 色综合五月天| 久热这里只有| 丁香五月瑟瑟| 久久色天堂| 色九九综合| 成人丁香婷婷| 人妻乱码久久久| 激情 久久 婷婷| www.99热在线| 久热精品视频| 色综合爱综合| 婷婷色婷婷| 99热网精品| 久草视频一,二三四| 草草影院爱爱| 91a片爽| 天堂久久精品| 激情五月天婷婷在线网址发给我| 五月天操逼网| 狠爱婷色| 丁香伊人五月色婷婷五十路 | 思思久久99| 99熟女| 第四色色色色色丁香五月天| 婷婷色在线播放| 五月天婷婷激情小说| 日韩黄色影院| 狠狠操综合| 色香欲综合| 色黑鬼导航| 国产亚洲99久久| 少妇人妻人伦A片| 97婷婷丁香| 天天看夜夜看| 久久机热这里只有精品| 亚洲人妻av| 丁香五月ⅤA久久久| 97碰久久| 丁香狠狠色婷婷| 久久思思热视频| 亚洲国产精品成人免费一区久久久在线观看AAAA| 91 久热| 成人免费120分钟啪啪| 色狠狠色综合| 国语精品探花| 久久九九视频| 激情五月天电影| 五月丁香综合伦理片| 麻豆123区| 中文字幕丰满孑伦无码专区| 五月婷婷啪啪网| 亭亭玉月丁香| 天堂五月婷婷| 亚洲色久| 综合色播| 91人久| 成人国产欧美大片一区| 狠狠草在线观看| 操操自拍| 夜夜操天天干| 99热这里有精品| 天天爽天天| 91丨九色丨东北熟女| 99热这里只有精品最新网址| 在线不卡中文字幕| 婷婷五月天久久| 任你操精品免费| 色色九区| 91精品91久久久中77777久久玖玖九九| 99五丁香月| 影音先锋秋秋五月婷婷| 激情五月久久| 日韩av一区二区在线/日产精品久久久| 免费看欧美成人A片无码| 久婷五月| 9久久精品| 开心激情婷婷| 久777| 婷婷日本在线| 婷婷丁香花五月天| 99热欧| 婷婷五月丁香五月丁香| 亚洲欧洲99| 亚洲无码成人网| 九九爱这里只有精品| 精品成人在线观看| 色情五月丁香婷婷网| 欧洲S级在线观看| 婷婷五月综激情| 日本99久久| 成人五月天综合网| 99精品免费欧美小视频 | 大香蕉太香蕉视频97| 99操| 亚洲婷婷丁香五月| 成人五月天婷婷| 激情综合婷婷| 丁香花五月天激情| 亚洲网站观看视频| 丁香六月久久| 婷婷五月骚厕所| 亚洲另类视频| 最近中文字幕2019视频1| 激情五月天小说网| 五月天婷婷色色首页| 欧美A A A A A| 夜夜爱伊人| 成人五月天在线观看| 欧美日朝成人| 六月婷婷久久大全| 久久久中文| 日韩AC在线免费观看| BlACKEDRAW视频一区二区| 成人片黄网站色大片免费毛片| 日日夜夜天天| 日韩久久色| 激情狠狠丁香月| 欧美啪啪9| 日本视频久久| 99久久久国产大片| 久久激情五月天| 欧美日韩中文国产一区发布| 久re在线| 亚洲国产va| 天天玩夜夜操| 婷婷性爱影院| 欧美三级视频下载| 欧美激情五月天婷婷| 久婷婷五月激情| 五月天六月婷婷| xxx日本东京热| 无码区婷婷五月花开| 丁香婷婷性爱| 色婷婷亚洲在线观看| 97色永久免费视频| 色五月在线观看| 欧美丰满熟妇BBB久久久| 91色综合久久| 亚洲九九在线| 99燥99日| 婷婷一本和五月丁香| 五月情色天| 99精品久久| 久热超碰91| 五月天深爱激情网| 婷婷激情久久| 综合激情深爱| 五月丁香婷婷激情爱爱| 五月婷婷色色| 天天干夜晚夜操| 五月婷婷六月丁香首页| 色久在| 五月天婷婷在线AN| 五月丁香六月激情综合网| 人妻肉射免费观看| 逼特逼在线免费播放| 七月激情六月婷婷综合在线播放| 十月丁香婷婷| 久久小视频| a在线观看| 97色在线观看视频| 日韩欧美颜射| 天天干天天做| 五月婷六月天| 色月丁| 99热九九热| 色五月天电影| 综合99综合久久久久久久| 天天开心AV色综合婷婷五月天| 丁香婷婷激情五月天无毒不卡蜜桃| 天天综合色| www.婷婷| 人妻体体内射精一区二区| 麻豆精品| 91欧美| 色婷婷五月天激情| 亚洲V国产V欧美V久久久久久| 97超碰欧美中文字幕| 久久92| 99热天堂| 成人精品一区二区三区四区五区| 996热re视频精品视频| 丁香婷婷影院| 9久国产| 色色色婷婷五月天| 97色五月天| 激情综合五月天| 欧美久久五月婷婷| 性爱五月婷| 五月天伊人久久久久| 久久看九九90| 日韩色五月| 中文字幕成人| 99热xx| 综合婷婷五月天| 九九色欲网| 色五月综合网| 九九热视频这里只有精品| 久久综合婷婷激情| 欧美日比视频| 久久午夜理论| 9l视频自拍9l视频自拍九色学生| 丁香五月婷婷偷拍| 五月婷婷六月丁香激情综合网| 99热 免费| 亚洲成人AV电影在线| 天天日夜夜B久久| 在线视频婷婷| 丁香五月色情| 蜜乳中文字| 欧美三级欧美一级| 色婷插| 婷婷中文字幕网| www.av视频xx999.com| 天天看A片| 深爱五月天 开心网| 国产精品美女久久久久AV超清 | 五月丁香六月在线| 五月丁香六月激情综合欧美| 久久婷婷五月综合网| 婷婷五月天激情小说网站| 无码少妇高潮喷水A片免费| 婷婷激情五月综合| 久久五月情| 色色热| 亚洲色五月婷婷| 涩综合在线 | 亚洲久久婷婷丁香五月天| 91avse| 五月激情基地| wWw色五月| 996精品热视频| 日本精品人妻无码77777| 岛国资源网| 九色PORNY自拍成人精彩视频| 久久伊人五月天| 五月天五月天激情网| 91日日日| 久久亚洲天堂| 一级性感毛片| 99re视频在线精品| 婷婷色色综合| 久久精品99国产精品日本| 婷婷五月天首页| 亚洲天堂久久| 五月婷婷偷拍| 五月天之色情综合网| 久久ab| 99这里都是精品| 天天天摸夜夜夜玩| 五月丁香亚洲综合网| 久久aaaaa| 婷婷99视频全集高清| 五月天天视频| 亚洲操操操| A久网| 五月丁香在线国产| 99er在线观看| 色五月六月婷婷| 丁香五月成人论坛| 国产丁香五月天婷婷| 91视频综合网| 99riAV国产精品视频| 粉嫩AV久久一区二区三区| 天天天天天天操| 五月网在线| 五月丁香花免费视频| 天天射天天干天插色综合| XX色综合| 丁香婷婷六月| 91se在线观看| 九九精品自拍| 欧美成人Va| 六月婷婷六月天天在线免费| 午夜婷婷久久 | 草逼大片| 野战毛片三一3| 99久久6| 五月情婷婷| 久久久久久人妻久久久久久久久久人妻久久久 | 99色色最新视频| 中文不卡一二三区| 99亚洲色色| www.色五月.com| www.五月丁香| www.zbzhongsen.com| 99精品小视频| 五月激情综合网| 99视频内射三四| 激情第四色| AV大香蕉| 丁香熟女乱| se99热久久一本| 色婷婷五月色| 亚洲五月六丁香激情| 粉嫩av蜜桃av蜜臀av| 色欲色香,www,com| 亚洲九九夜夜| 天天干天天色天天干| 思思99精品视频在线观看| 丁香六月激情| 色青青视频| 久久久久er热| 天天色天天日| 变态另类色图| 九九99在线观看视频| 色五月综合| 亚洲XX日本| 久热免费| 亚洲欧美在线观看| 99久久99视频| 精品九九视频| AV网站免费在线| 天天弄天天操| 激情av在线| 99热 免费| 天天婷婷色六月| 色五月婷婷中文字幕| 殴美日比视频| 九月停停| 激情综合综合综合| 欧美日韩成人在线网| 九九色图| 99热每日| 精品五月丁香| 五月丁香婷婷色色色| 一区二区乱码视频| 丁香婷婷激情四射五月| 一本色道久久综合狠狠躁小说| 五月天婷婷丁香人人操91| 丁香青青五月天| 日本a片网址| 欧美综合激情丁香五月六月婷| 久久成人性爱| 丁香六月久久| 五月丁香 狠狠爱| 激情综合啪啪| AA丁香综合激情| EEUSS鲁片一区二区三区| 嫩草AV久久伊人妇女超级A| 国产精品久久久久9999小说| 婷婷久久色| 天天爽天天日人人爱| 中文字幕 久久9999| 综合色激情| 少妇高潮A片无套内谢麻豆传| 色五月激情五月| 五月婷婷久久大香蕉| 華人性愛AV在線| 五月婷婷日| 婷婷酒色网| 96人人操人人操人人| 日日夜夜小色哥| 婷婷大香蕉| 超碰人妻在线| 超碰人人艹| 五月婷婷六月丁香玖玖玫瑰91| 99色综合| 99re思思久久| 亚洲另类电影| 97操操| 久久五月婷婷丁香| 婷婷色综合| 五月天堂六月丁香亚州中文字幕久久| 日韩十国产极品久久| 五月婷色色| 色欲影香| 丁香六月综合激情| 99re在线观看| 婷婷午夜天| 亚洲综合婷婷| 色五月婷婷五月天| WWW色五月天| 综合色播| 开心五月婷婷在线视频免费观看| 99热99在线| 九九九色综合| 开心五月深爱五月| oumeisesewang| 中文字幕永久在线| 五月丁香激情婷婷综合字幕| 伊人激情啪啪| 伊人五月天男人的天堂在线| 亚洲午夜一区二区| 久久99视频| 少妇激情五月天| 久久婷婷五月天激情新地址| 99热天堂| 26uuu欧美日韩| 色玖玖| 5月婷婷性视频| 九九婷婷五月天| 99热成人在线观看| 干一干xxxx| 高清视频一区| 丁香五月视频在线观看| 九九免费视频| 另类激情综合| 欧美性色A片免费免费观看的| 黄网免费看| 欧美激情VA永久在线播放| 五月丁香网站| 天堂成人A片永久免费网站| 91avse| 婷色五月| 亚洲精品国产精品乱码视99| 国产三级在线播放| 99热这里是精品| 五月天婷婷丁香蜜桃91| 99精品偷自拍| 免费亚洲婷婷五月| 五月丁香婷成人网| 久久九九囯产| 五月天色综合| 婷婷天天色| 9999久久久久| 无语停婷丁香网| 99精品久久久久久久婷婷| 亚洲AV第二区国产精品| 日本不卡中文字幕| 天天色天天噜| 久婷| 欧美十二区| 日韩在线视频中文字幕| 亚洲AV成人精品日韩在线播放| 日韩操逼大片| 久久久人人人妻丝丝丝| 色婷婷成人久久| 婷婷丁香五月天激情| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 综合伊人久久| 国产午夜精品AV一区二区麻豆| 五月婷婷开心爱| 久久久久久久久久久月丁| 噜啊噜在线| 色婷婷视频| 超碰资源在线| wwww.9免费视频| 狠狠综合网| 亚洲色另类| 天色综合网站| 亚洲婷婷丁香五月在线| 偷拍丁香九月激情| 激情综合五月天| 精品99在线观看| 人人干Av| 深爱开心激情网| 婷婷色网站| 98色丁香五月婷婷综合网| 91热在线| 五月色综合| 婷婷亚洲在线| 丁香桃色综合网| 久热人妻| 狼人婷婷久久| 激情图片婷婷丁香五月| 丁香五月天啪啪| 棕合影院色色| 成人在线视频一区| 成人va在线播放| 热久久视频99| 开心激情久久久久久久| 色婷久九| 五月丁香六月婷婷成人| 伊人在线视频| 99精品成人无码A片观看金桔| 久色婷婷200| 婷婷丁香五月天在线| 久久婷婷国产| 99在线视频精品| 97欧美在线| 韩日AV片| www九月婷婷| 五月婷婷先锋| 中文字幕av网站| 色操综合| 激情婷婷五月天丁香| 中文字幕网伦射乱中文| 啪啪婷婷五月天激情| 麻豆123区| 99视频在线观看视频| 亚洲综合五月天婷婷丁香| 色欲AVV| www,99视频| 精品一区久热| 丁香六月综合| 久久九九re热| 99热主页日本| 99操视频| 色婷婷丁香五月观看| 97色色色| 欧美日韩AAAAA| 777丁香六月青青草婷婷综合久月| 久久综合影院| 性爱综合网| 色日本丁香婷婷| www.五月丁香av| 婷婷综合精品视频97| 伦乱美欧| ss五月天激情| 97五月天婷婷| 婷婷成人AV| 婷婷综合| 69凹凸成人综合网| 色婷婷激情五月天| 久久99免费视屏| 婷婷激情鹿城五月天| 五月丁香在线视频观看| 久久五月婷婷电影| 亚洲噜色| 91九色国产在线| 99热这里都是精品| 亚洲一二三网| 噜噜干日本| 五月综合777| 五月天婷婷无码视频| 丁香五月av在线| 丁香五月先锋| 国外亚洲成AV人片在线观看| 欧美丰满熟妇BBB久久久| 色色婷婷五月天| 人妻在线观看视频| 色五月激情网| 亚洲天天综合| 思思久久精品| 狠狠 久久| 2015好吊操| 99热这里只有免费精品| 亚洲这里只有精品| 丁香五月天社区| 玖玖激情网| 99久久99热| 99网99热| 婷婷色五月综合| 婷婷综合色| 97韩国久久电影院| 亚洲色网址| 91亚洲免费片| 五月丁香成人| 思思re99视频在线观看| 久久99热这里只频精品6学生| 免费观看欧美成人AA片爱我多深| 九月丁香八月婷婷加勒比| 国产欧美大香蕉一区| 婷婷之玖玖| 婷丁香五月天| 久操操| 婷婷五月天精品| 色五月色综合| 超碰国产在线| 五月丁香香蕉| 色老久久| 色99视| 我要看激情五月天| 丁香五月av| 91精品婷婷国产综合久久| 婷婷另类开心| 99精品自拍| 国产黄色一级片| 日日操日日爽| 91九九九九| 777久久精品| 97操碰| 亚洲AV中文在线| 六月丁香婷婷综合在线| 五月婷婷激情网| 亚洲成人在线免费| 九九99香蕉在线视频播放| 六月丁香五月婷婷| 激情视频网址| 91超级碰| 99热日韩| 九九色婷婷| 色狠狠综合网| 97在线碰| 91精品婷婷国产综合久久| 国产欧美婷婷五月| 久久99综合| 五月婷婷在线视频免费观看| 天天干天天操| 影音先锋男士资源网一区| 都市激情亚洲| 另类激情首页| 看全色黄大色大片| 激情五月丁香六月综合AVXXXX| 久久XX| 日韩九九视频| 99热伊人| 丁香五月宝贝激情网| 综合一区二区三区| 成人婷99最新| 人人爽天天爽| 欧美色色色色色色色色色色影视| 激情综合网五月激情| 91九九| 丁香五月激情欧欧美| 欧美激情综合色综合啪啪五月| 少妇AB又爽又紧无码网站| 丁香密臀AV激情网| 九九99免费视频| 7月婷婷六月丁香| 99在线精品观看99| 开心五月深爱五月婷| 超碰在线99| 琪琪理论片| 桃色成人网| 婷婷色丁香六月| 玖玖婷婷精品| www.夜夜操| 啪啪啪五月天| 成人短视频免费| 91干视频| 九九视频精品这里只有| 夜夜躁爽日日| 欧美视频在线观看噜噜| 亚洲精品久久久无码| 婷色人人狠| 91九九九九| 婷婷久久丁香| 天天操天天爱天天日| 96精品久久久久久久久| 人妻有码乱操| 五月天婷婷免费| 天堂爱爱| 大香婷婷| 天天干一干| 五月开心深深爱激情综合| 蜜乳久AV| 伊人婷婷大香蕉| 综合xx网| 久久综合播放| 少妇被躁爽到高潮无码文| 五月天激情网图片 - 百度| 97色色婷婷| 婷婷五月丁香伊人| 66精品国产成人| 97成人丁香| 婷婷久久亚洲| 这里只有精品96| 亚洲啪啪视频| 日本激情五月天‘| 中文字幕成人| 狠狠色噜噜色狠狠狠综合色| 逼里香不卡| 精品久色| 久久婷婷激情久久| 第四色在线观看| 91丁香五月| 久香草视频在线观看| av五月天婷婷丁香| 99精品免费| 久久美女五月天| 开心五月丁香综合久久| 香蕉久久五月| 成片免费观看视频大全| 五月丁香色狠狠干大屄| 91丨九色丨国产打屁股网站| 九九在线精品| 九色视频这里只有精品| 99啪视频在线观看| 做爰丰满少妇1313| 丁香五月天激情| 五月天婷婷综合免费| 色婷婷大香蕉| 99日视频在线| 国产99久| 99精品偷自拍| 99久久9| 激情图片婷婷丁香五月| wWwCom夜操wwW| 久Se视频在线观看| 97碰碰人人视频| 九九婷婷五月天| 狠狠色婷婷7777久| 色99在线| 色99热| 99综合网| 丁香五月婷婷香| www.ppypp| 五月丁香婷中文| 欧美婷婷五月激情| 激情q青青草在线婷婷| 伊人在线另类| 六月色丁香婷婷| 亚洲A片成人无码久久精品青桔| 这里只有精品在线观看视频| 色色色色色热| AV电影在线播放| 丁香五月网址| 色九月婷婷综合| 日本色99| 人人97碰| 香蕉综合在线| 色5月婷婷| 六月婷婷色综合| 99热r| 色色综合色视频| 丁香五月1页| www久久99com| 免费的日逼视频| 成人久久天天x资源站| 婷婷欧美激情| 黑人无码一区| 999激情视频| 日韩性视频| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 丁香五月网在线观看| 91色色色| 五月伊人综合| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 国产精品成人AV在线| 天堂呦 呦百度搜索-百度搜索| 99这里只有| 天天日天天舔| 午夜不卡久久精品无码免费| 久机视频这只有精品| 九九热精品| 99热精品观看| 99在线小视频| 国产成人精品一区二三区熟女在线| 99色中文| 婷婷色中文字幕| 99视频这里有精品| 久久ri精品视频| 丁香六月婷婷色播| 婷婷丁香花五月天| 丁香婷婷六月婷婷六月婷婷六月婷婷| 亚洲激情高潮| 人人操人av| 五月婷婷综合视频| 亚洲第一第二网站| 成人无码髙潮喷水A片| 青青青在线视频国产| 久久久网站| 极品少妇XXXX精品少妇偷拍| www.超碰| 日韩有码一区| 99九色视频在线观看| 九九精品热播| 九热免费视频| 色婷婷色五月丁香| 久久精品人妻| 五月天婷婷基地| 色婷婷AV在线观看| 国产67194| 婷婷丁香激情五月天色色| www开心激情网| 超碰在线综合| 国产毛片精品一区二区色欲黄A片 国产人妻777人伦精品HD | 99国产小视频| www.五月婷婷| 天天激情站| 丁香婷婷九月| 婷婷色情小说| 69精品人人人人| 天堂久久久久天堂网| 啪啪五月婷婷| WWW,激情五月天,COM| 精品国产va久久久久| 99惹| 涩涩五月天| 日本人妻伦在线中文字幕| 91男人操女人视频| 99激情网| 婷婷五月美女直播| 思思热在线| 婷婷丁香五月激情密臀av| 久9热视频在线观看| 99自拍视频在线观看| site:xmssd.com| 久草热在线视频| 99在线精品免费视频| 国产首页在线| 激情综合综合综合| 亚洲综合在线播放| 亚洲成人网址在线观看| 九九av在线| 色性日本| 激情五月天婷婷| ww久久| 天天澡天天狠天天天做| 97香蕉碰碰人妻国产欧美| 丁香色婷婷| 色六月婷婷| 色丁香五月| 婷婷D区| 色婷丁香五月| 色综合色色| 97干视频在线| 久久偷拍综合五月天| www久久99| 五月丁香偷拍| 亚洲激情97五月天| 天天肏在线| 五月丁香怕怕综合| 成人在线视频网| 五月天丁香久久| 丁香五月在线| 97操女视频| 久热只有这里精品| 色天堂婷婷| 天天爱天天做天天舔| 色色色色网站| 久久99免费视频| 久久这里只| 色婷婷激情视频| 另类综合国产| 成人 在线观看国产| 99热日| 亚洲无码色| 97人妻碰碰碰久久| av人人干| 久久一级片| 99色色视频| 99热九九在线| 久色激情| 色碰干| 天堂A∨在线| 九九热九九| 婷婷五月天精品| 五月丁香网视频| 五月婷婷六月激情| 六月五月丁香五月欧美| 日日夜夜干| 在线你懂的亚洲欧| 亚洲综合99| 99视频色在线观看| 五月天综合网| 久久九九99亚洲国产久精综合| 日本三级大片| 99re热| 色婷婷激情五月天丁香| 99色在线视频观看| 五月婷婷丁香六月| 色五月五月天| 葵花AV在线| 激情人妻综合| 久久99免费视屏| 天天综合精品| 五月天激情.com| 婷婷丁香五月基地| 色婷婷a v| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷色网站| 在线国产精品色| 人妻丰满精品一区二区A片| 99riAv1国产在线观看| AAAA网站| 婷婷综合色图| 最近中文字幕在线中文视频| site:pzdcoin.com| 综合六月久久| 天天操天天插| 狠狠五月激情在线| 色婷婷丁香女女| 九九热精品| www,8050,午夜三级| 99热.com| 淫水导航| 五月丁香婷婷色色色| 97在线刺激| 99爱欧美| 五月婷婷丁香网| 99久久这里只有精品| 丁香无月在线观看| 五月丁香综合色婷婷| 综合五月天婷婷色| 久久伦乱| 香蕉久操| 网色99| 狠狠草综合网| 九色视频91| 亚洲成人网址在线观看| 色婷婷久综合久久一本国产AV| 日韩欧美成人一区二区三区| 国内婷婷丁香社区在线播放| 久久AAAA片一区二区| 精品九九视频| 香焦网五月天| 色色色色丁香| 色欲av伊人久久大香线蕉影院 | 无码激情AAAAA片-区区| 五月丁香综合啪啪対白| 久热99狠| 天天舔天天爽| 99色色视频| 午夜九九电影| 欧美精品999| 激情五月婷婷她| 99热这里有精品| 色99在线视频| 色五月在线观看| 狠狠色性| 久操操| 蜜臀99久久精品久久久久| 97香蕉久久超级碰碰高清版| 色色热99| 久久伦乱| 99ri国产精品| 久久久99精品免费观看| 色导航色婷婷五月天在线观看| 欧美天堂久久| 婷婷丁香五月社区亚洲| 夜色综合网| 99免费视频网| 综合狠狠干| 亚洲久热| 久久久.COM| 人人叉久| 9九九久久精品无码专区| 九九99热| 免费亚洲婷婷| 狠狠色噜噜色狠狠狠综合久久成人波 | 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 狠狠爱成人综合网| 深爱五月天| 色五月人妻| 91精品在线看| 亚洲天堂大香蕉| 草五月| 天天爽日日爽夜夜爽| 五月天婷婷香蕉狠狠超碰综合| 欧美成人精品A片免费一区99| 人妻久久久久久久 | 97超碰9久热婷婷热| 开心深爱激情网| 免费黄色视频网址| 六月婷婷av| 另类精品视频在线观看| 操嫩逼电影| 99爱最新免费视频在线观看| 五月天丁香成人社| 99热线观看9| 欧美性久| 婷婷激情在线| 激情六月婷婷| 色~性~乱~伦~噜| 热久免费视频9| www.婷婷五月天,com| 婷婷五月天在线观看| 久99久精品视频| 熟女激情网| 亚洲综合99| 色色99| 成人电影一区| 大陆极品少妇内射AAAAAA| 九月丁香亭亭| WWW.婷婷| 亚洲色五月| 欧类av怡春院| 丁香五月天91| 五月婷婷综合性爱噜噜| 综合久久丁丁香婷| 久操香蕉| 99热全是精品| 色婷婷中文在线| 丁香五月电影| 99热成人精品| 亚洲激情区| 五月成人天| 日韩色五月| 亚洲久久激情| 久久久久久久久久久久久9| 亚洲激情在线| 日韩AV在线影片| 激情五月瑟瑟| 五月激情婷婷综合| 色五月xxx| 丁香五月天啪啪激情综和网 | 久色网| 国产真人做爰视频免费| 97婷婷色| 亚洲av另类在线观看| 久久久99精品免费观看| 91丨九色丨大屁股| 无码AV久久久久久久久| www.狠狠| 31色区视频免费看| 欧美在线看| 日本狠狠爽| 开心网五月色婷婷| 色噜噜婷婷| 婷婷综合九色伊人| 98色花堂98t.R| 婷婷丁香五| 欧美黄色AA片哗啦啦啦| 久久精品只有这| 五月天婷婷视频| 狼人婷婷久久| 一起草av在线观看| 色综合香蕉视频| 亚洲宗合激情| 六月丁香婷婷色狠狠久久| 欧美性爱丁香五月| 超碰a女人的天堂| 狠狠久久婷五月综合色| 夜夜天天天天天干天天爽| 五月婷婷激情色情网| 九九日本视频| 一区二区免费看| 五月丁香av在线| 五月天综合在线观看视频| 第四色五月天| 婷婷五月天激情网| OUMEIRIHANCHENGREN| 六月激情婷婷综合| 深爱五月天婷综合| 久久婷婷久久| 六月色丁香婷婷| 久久婷婷五月综合97色一本| 激情五月深爱五月| 另类小说激情五月天| 色色五月婷婷久久| 黄色视频网站在线播放| 色情激情五月婷婷| WWW.激情| 男人天堂99| 五月婷婷欧洲| 538在线| 五月丁香婷婷色色色| 色五月激情综合网| 色婷婷综合成人| 天天干天天叉| 色婷婷小说| 爱射综合| 婷婷久月| 婷婷色五月综合| 九九蜜臀精品| 婷婷伊人久久| 久久99精品久久久久久青青AR| 亚洲成人网在线观看| 五月天久久婷婷婷| 色五月婷婷丁香五月| 婷婷99视频在线| tingting五月天亚洲| 99热精品无码| 婷婷五月成人社区| 五月激情丁香五月宗合| 狠狠插狠狠插| 亞洲自怕| 青青草日本亚洲| 疯狂做受XXXX高潮A片| 综合www色| 九九热国产| 97超级碰人人| 婷婷丁香五月欧美人| 国产成人av在线| 超碰国产av| 99爱精品| 91丨九色丨老农村| 午夜五月天| 九九激情| 婷婷婷婷婷开心无码播放| 色综合五月天| 伊人影音无码一区二区三区| 久草热视频在线观看| 午夜大香蕉| 亚洲人人96@| 丁香六月婷婷久久综合| 91九色中文| www.天天干| 91久久综合亚洲噜噜成人在线 | 一起草性爱不卡视频| 激情综合色| www.99热最新视频8| 色婷婷免费观看| 久久色区| 丁香五月性| 激情五月无码|