99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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久久久99久久91熟女| 九九色综合网| 丁香六月在线综合| 精品久久久人妻| 青青热久精品视频在线观看| 九艹在线| 五月综合激情图片| 操九色| 色婷婷成人| 久久大香蕉丁香| 伊人色综合久久久| 99热这里只有是亚洲国产| 中文字幕在线免费| 国产色视频网站2| 亚洲激情婷婷| 成人综合视频在线| 日日夜夜天天综合| 夜夜噜夜夜奇| 婷婷激情五月天7| 日本3级片一区2区| www.久久色.com| AVDV久久| 欧美在线干| 不卡在线超碰| 亚洲无码99| 丁香六月久久| 五月草影视| 丁香五月激情六月欧亚激情综合导航| 91无码视频| 去色色五月天| www. 五月. com| 欧美叉叉叉BBB网站| 亚洲激情婷婷| 久久狠狠干| 日日操夜夜爽天天天| 婷婷五月天黄色网址| 色欲AVV| 国产67194| 另类专区在线| 97久久人人操| 99久久9| 丁香婷婷色五月激情综合| 色性五月天| 激情综合综合综合| 亚洲色婷婷99一9|| 婷婷五月天激情综合婷婷五月天激情综合| 爱之国产色情综合| 五月天色综合服务平台| 亚洲 无码 中文字幕 中出| 激情另类综合| 婷婷性爱| 另类五月婷婷| 久久99热这里只有精品| 99热免| 蜜乳中文字| 南京搡BBBB搡BBBB| 99精品无码网站| 丁香五月AV综合| 色婷婷XXXXX| 任你搞网站| 亚洲成人超碰| 丁香五月天在线视频| 中文字幕综合网| 亚洲第一成人无码A片| 超热久碰.com| 综合色色网| 亚洲av成人在线| 91碰操| www,奇米影视| 婷婷五月丁香色播| 婷婷久久网| 久久精品4| 丁香婷婷六月天| 九九色影视| 九九视频网| 亚洲精品网站色视频| 欧美大奶熟女噜噜噜噜| 99日韩网站| 五月丁香色婷婷熟女| 99视频在线观看欧| 91视频五月丁香| 日韩成人中文字幕| 99热66| 婷婷在线视频| 激情五月天99色| 国产性爱一级| 天天噜天天爱| 色爽九九| 色五月婷婷7777| 99在线免费视频播放| 五月婷婷色色网址| 丁香婷婷激情五月| 伊久久婷婷| 99在线精品视频| 大战熟女丰满人妻AV| www.91热久久| 久久久久久久综合狠狠综合| 五月天伊人综合| 人人看人人摸人人| 午夜五月天| 亚洲亚洲人成综合网络| 久久久久网站| 停停五月天激情网| 九九激情网| 99干免费视频| 久久这里只精品66| 亚洲色热| 久久受www免费人成| 婷婷丁香色性爱| 色婷婷综合久久久久| www.99热日韩.com| 五月丁香 啪啪| 五月天开心网| 91seav| 婷婷六月天精品| 丁香婷婷性久久| 超碰在线人妻| 久久东京热婷婷五月| a69在线视频| 欧美丁香婷婷五月天| 五月婷精品| 丁香六月婷婷激情| 91人妻视频| 在线色色| 日本 欧美在线| 丁香五月激情六月| 亚洲中文字幕在线观看| 99精品激情| 色五月之第四色| 亚洲色婷婷五月天| se色综合网| 停停色综合伊人| 99热网址| 久久久jd| 久9久9热久热| 国产精品电影| 9色视频在线| www.激情五月天.con| 秋霞学生妹一二级| 色色色综合| 五月婷婷色色网址| 色色色色热| 99五月香婷婷丁香在线视频| 99综合99| 伊大人久久| 亚洲无码成人网| 亚洲最大激情无码| 黄色成人AV在线| 婷久看人爽| 人妻av在线| 亚洲在线成人| 色噜噜狠狠色综合网| 久久丁香网| 久久久er热| 婷婷狠狠操| 中文精品在| 天天操婷婷| 99热免费18| 久色五月婷婷综合| 最近免费中文字幕大全高清大全1| 色情开心五月| 99丁香五月婷| 色性综合| 婷婷影院A成人| 性婷婷| 亚州美女| 狠狠色噜噜狠狠狠888了| 五月婷婷综合激情| 天天爽天天透天天爱| 99热久久这里只有精品| 亚洲一区二区无码蜜乳av| 无码AV免费精品一区二区三区| 五月花综合| 综合色色网| bbwcuckold精品熟妇| 99操| 99精品22| 六月丁香综合| 婷婷五月天伊人| 嫩草AV久久伊人妇女超级A| 91成人视频| 色综合久| 激情五月四色| 91精品久久久久久久久| 精品在线| 五月久久| 日本久久精品| 日韩啊啊啊| 亚洲AV电影av| 九九色精品| 五月天五月色| 伊人久久大香蕉网| 蜜乳久AV| 伊人五月婷婷| 九色色| 婷婷五月在线| 9久久精品| 99精品在| 夜夜资源站| 久久婷婷六月综合| 99热精品综合| 久久99大全| 丁香五月性爱| 婷婷五月天在线一区| 亚洲另类av| 日日干夜夜干| 超碰高清在线| 久热最新视频 | 大香蕉久艹| 九九av| .精品久久久麻豆国产精品| 天天插插天天| 久久久er热| 婷婷九月久久| 风流少妇A片一区二区蜜桃| 久久人妻人人槡| 久99在线视频| 北条麻妃伊人| 五月婷丁香| 色亚洲激情| 丁香婷婷精品视频| 五月丁香啪啪婷婷| 丁香五月婷婷天堂大香蕉| 思思热在线视频精品| 日本欧美国产| 激情合网婷婷| 香蕉综合在线| 九九干视频| 九九视频这里只有精品| 人人摸人人澡人人| 深情五月天| 色10月婷婷视频| 欧美人人超级碰| www.色婷婷| 久久久久久人妻| 操笔无码| 天天日日人| 五月开心久久| 色 噜噜 九月 婷婷| 色婷婷六月| 激情五月丁香六月| 色色免费网战视频| 婷婷综合激情五月综合| 亚洲婷婷丁香五月亚洲| 丁香五月天激情五月天激情五月天激情网| 99综合网| 只有精品视频在线观看| 丁香五月激情啪啪| 色色综合色视频| 五月天婷婷社区久久综合| 色综色网| 婷婷五月综合社区在线| 中文字幕不卡网站| 就爱日五月天| 在线色婷婷| 丰满少妇乱A片无码| 九九久久99| 天天拍天天操| 五月激情网站| 五月婷精品| 91无码高清| 久久久性爱视频| 亚洲情a| 国产熟女日日骚五月丁香爱| 色色 9| 第二色AⅤ| 久久综合婷婷| 久久99热这里只有精品23| 99re在线观看| AV天堂淫乩| 精品一二三区视频立| 爱射综合| 色婷婷综合五月| 色色丁香五月婷婷| 热成人网| 九九青草热| 色婷婷国产精品综合在线观看| 日韩九九| 色婷婷色99国产综合精品| 97久久久久| 成人五月天丁香| 久久伊人婷婷| 国产精品涩涩涩视频网站| www.婷婷五月天| 国产又粗又大又爽又黄| 在线一起草av| 色综合com| 婷婷亚洲综合| 五月天激情无码高清| 开心五月婷婷激情网| 国产熟女日日骚五月丁香爱| 日本人人xxx| 亚亚州久久高潮| 五月婷婷五月天| 手机旧版看人妻1025| 99九九热在线观看| 98国产精品综合一区二区三区| 东北婷婷五月天| 日日狠狠久久偷偷四色综合免费 | 欧洲亚洲激情五月天在线| 在线A色| 久久99激情丁香婷婷小说网| 色色五月婷| 99ER热精品视频| 中文AV网站| 伊人五月综合网| 大香蕉久| 婷婷色正月| 一区二区三区视频| 99在线看视频| 婷婷丁香六月五月天| 91婷婷五月天综合视频| 国产综合婷婷| 激情性爱五月天网页| 啪啪色区| 俺去也婷婷| 亚洲综合色婷婷文学| 热99免费在线| 婷婷色五月丁香六月欧美啪| 欧美激情综合色综合啪啪五月| ..真实国产乱子伦毛片| 天天爽夜夜爽夜夜爽精品| 婷婷之六月丁香| 亚洲六月婷婷| 久9综合| 成人AV在线网站| www.sd-xiangsu.cpm| www.婷婷五月| 激婷网| 淫视馆aV二区一区| 夜夜爱网站| 99久久9| 欧美日韩成人在线免费| 久久久精久人妻| 婷婷久久综合久| 9|人妻人人操| 婷婷丁香五另类网站| 高清无码网址| 月丁香久久久| 国产VA亚洲VA96| 五月丁香婷婷综合| 这里都是精品99| 99热资源在线| 色婷婷色五月综合| 五月天色社区| 五月丁香六月婷婷视频| 99久久国产宗和精品1上映| 久人操| 婷婷丁香综合成人| 性生生活大片又黄又| 97热视频| 色五月综合网| 日韩成人av在线| 操操操Av| 1024欧美日韩精品久久久| 成人网丁香五月| 日本久久99| 久久香蕉网| 婷婷五月天小说| 久久久久久久久久久久久久久久久精典| 这里只有精品日韩精品| 第九色区av天堂| 伊人影音无码一区二区三区| 五月丁香综合网| 九九黄色网| 五月丁香六月婷婷综合网缴情| 夜精品无码A片一区二区蜜桃| 99在线观看| 婷婷色操| 激情五月天婷婷图| 五月丁香啪| 思思99热热热99| 国产亚洲在线| 五月婷婷色综图片| 色五月丁香com| 五月综合婷婷开心网| 五月丁香婷婷综合网| 色热久| 色五月色五天色情网| 中文字幕视频在线播放| 开心五月网| 五月丁香久久网| 99久久久99久久91熟女| 五月婷在线色视频| 丁香五月婷婷亚洲另类| 婷婷激情啪啪| 草榴视频网| 91丨九色丨熟女| 91viP在线看| 五月 成人 婷婷| 五月丁香六月婷| 亚洲色五月| 99在线观看这里都是精品| 婷婷色五月天在线观看| 91精品久久久久久| 中国女人做爰A片| 亚洲另类婷婷五月综合| 五月天婷婷色色首页| 九九热视频在线观看| 91精品国产99久久久久久天美| 婷婷久热| 欧洲高清免费久久| 97精品自拍| 国产精产国品一二三在观看| 成人开心五月天| 九色PORNY自拍成人精彩视频| 六月婷婷综合| 久久免费干| 丁香五月偷拍| 大波美女VA网站| 久草视频大香蕉99| www.婷婷五月天| 婷婷综合在线观看视频| 国产26uuu| 丁香五月大香蕉AV| 激情六月婷婷| 少妇熟女视频一区二区三区| 深夜激情网| …亚洲黄色在线播放日韩、av中文a…| 熟女网站久久| 天天操天爱综合| 铁牛TV人妻| 91 欧美| 五月丁香六月婷婷色情| 色综合久久88色综合天天人守婷| 六月婷婷综合久久| 婷婷六月天国产综合| 夜夜做天天爽| 东京热免费视频| 日韩另类| 播五月开心婷婷欧美综合| 91干在线| 九九99九九精品视频| 91操在线视频| 五月的婷婷六月丁香| 好色婷婷| 韩国97天堂| 色偷偷五月天| 五月婷网| 五月婷婷丁香五月婷婷丁香| 人妻久久久久久久久| 成人电影AV在线观看| CHINESE熟女老女人HD视频| 五月丁香激情综合网| 最新激情五月天| 色五婷婷| 婷婷五月色惰| 黄色短视频在线观看| 99热精品在线| 思思久久99| 91热在线观看视频| 中文字幕 码精品视频网站| 精品人妻伦一二三区久| 天天射影视综合网| 激情开心五月婷婷| 色婷婷精品小视频| 六月丁香基地| 思思99精品视频在线观看| 久久总和99| 免费操超碰| 丁香花综合永久入口| 国产超碰在线| 欧美交换配乱吟粗大25P| 色五月琪琪| 国产精品色婷婷久久久精品| 五夜丁香| 99九九在线视频| 五月草视频| 五月激情丁香| 亚洲另类噜噜| 婷婷激情五月综合| 五月天综合色| 五月丁香六月成人| 久久婷色| 涩五月婷婷| 玖玖精品视频| WWW久久久| 婷色五月天| 99国产这里只有精品| 色五月色五天色情网| 99热国产国产| 思思热在线视频99| 蜜臀嫩草| 天天射影院| 神马欧美精| www.99热在线观看| 亚洲激情久久| 色婷婷色综合久久精品V| 日韩久久成人| 国产亚洲av片| 无码人妻电影| 狠狠艹狠狠艹| wwwC0maV五月花| 丁香五月亚洲| 六月丁香啪啪啪| 大香蕉欧美在线| 91人人操人人| 91热爆在线| 99热都是精品| 久久婷婷五月综合色区| 婷婷丁香五月91| 五月丁香六月婷| 开心四月婷婷在线色播播| 五月色婷婷AV| 久9无码视频| 久久婷婷五月综合| 婷婷丁香九色| 婷婷丁香97| 亚洲国产成人在线| 伊人五月久久| 久久精品99久久久久久| 免费观看的av| 色五月色五天色情网址| 91丨九色丨东北熟女| 婷婷五月天视频小说| 色五月天成人| 色婷婷9| 99热这里只有精品9| 日木WWW视频| 翔田千里 50岁 无码| 凹凸7777操操操| 另类激情五月天| 97操视频| 第四色色六月色综合| 婷婷五月天亚洲综合| 色五月婷婷狠狠撸| 天天射影院| 一起草av| 亚洲婷婷91丁香| 欧美婷| 色小说五月天| 色婷婷基地 | 91九色中文| 少妇激情五月婷婷| 久9久9久9久9久9久9| 日日操夜夜擼| 99综合视频在线| 欧洲激情五月天| 99久精品视频| 亚洲日比视频| 亚洲久热| 五月天成人综合| 久久看九九90| 狠狠色丁婷婷日日,伊人激情综合网| 五月天桃色深爱网| www.一区二区三区| 丁香五月天婷婷久久综合| 欧美性爱中文字幕| 久久久潮喷-久久久九九-成人AV| 五月天无码视屏播放| 天天色天天色天天色天天色天天色| 色丁香婷婷| 人妻丰满精品一区二区A片| 成人欧美日韩| 99激情| 97偷拍在线视频| 久久狠狠欧美| 婷香五月激情视频| 日韩综合网络男女香蕉a片| 人人爱人人摸人人澡| 99色在线视频| 久久在这里有精品| 欧洲一区二区| 日本一级特黄大片AAAAA级| 色色色色色综合| 99久久超级| 丁香五月婷婷成人综合| 五月丁香综合激情| 91婷婷色五月| 亚洲色夜| 天堂色婷婷| 99热日| www激情网站| 很很干天天干| 色噜久| 婷婷社区五月天| 婷婷久久女人| 久久精彩免费视频| 1024婷婷综合久久五月天| 久久美女五月天| 99热在线网站| 婷婷五月天视频免费在线观看| 香蕉久久五月| 高清无码视频网址| 97丁香五月| 九九无码视屏| 9 9 9色色| 丁香五月婷婷啪| 色五月成人| 色色色色色色色综合| 亚洲AV免费在线| 色综合久久88色综合天天人守婷| 久久99国产综合精品免费| 丁香五月激情婷婷| 五月婷婷深深爱| 狠狠久久婷五月综合色| 96丁香婷婷九月蜜桃综合久久| 狠狠五月天婷婷激情网。| WWW、99热| 久久综合伊人综合在线| 亚洲AV成人精品网站在线播放| 婷婷色五月色| 色99在线视频| 成人精品视频99在线观看免费| 五月婷婷六月丁香综合视频在线| 玖玖婷婷免费| 婷婷刺激综合| 五月天婷亚洲天综合网综合| 丁香五月婷中字在线| 九九免费精品| 日韩婷婷| 激情开心五月天| 五月网网站| 五六月婷婷久久| 99免费视频| 六月丁香花婷婷| 麻豆AV一区二区三区| 久久人妻伊人| 激情综合啪啪啪| 久久婷婷五月天丁香| 五月六月婷| 97综合在线| 五月丁久久| 五月狠狠| 五月噜噜| 91精品久久久久久| 国产成人精品一区二三区熟女在线| 丁香五月激情鲁| 97人人搞| 嘿嘿视频免费看9| 久久婷婷视频| 激情五月婷婷六月丁香| 激情爱爱网站| 久久大香蕉丁香| 久久婷狠狠色| 色婷婷色婷婷五月| 这里只有视频精品| 91色吧网| 西西4r午夜剧场| 99亚洲视频| 婷婷丁香激情五月| 级情九色| 操逼三区| 国产精品18久久久| 99热亚洲精品| 五月天婷婷影院| 天天射综合网天天插| 国産精品| 亚洲av成人电影在线观看| 亚洲五月婷婷| AA丁香综合激情| 激情婷婷另类| 夜夜涩涩涩| 久99视频在线观看| 激情宗合 激情宗合| 亚洲春色奇米影视| 五月丁香久久网| 丁香五月六月婷婷怡红院| 人人爱天天摸摸天天爱| 丁香婷婷色五月| 啪啪色区| 热久69| 天堂在线伊久| 国产午夜精品一区二区三区四区 | 国产精品视频免费看| 少妇性按摩无码中文A片| 日韩成人无码人妻| 性爱久久| 99综合网| 激情五月激情综合网| 天堂草在线观| wwwwww.色| 欧美综合丁香网| 色婷婷五月天激情在线播放| 日韩欧美颜射| 色五月婷婷影院| 精品人妻在线免费观看| 国产69久久久欧美黑人A片| 无码99| 激情啪啪五月| 久久总和99| 国产激情在线| 亚洲综合五月天婷婷丁香| 狠狠操狠狠操| 日本一毛片| 五月丁香久| 99色| 国产精品久久..4399| 日本99在线| 97在线综合| 啪啪啪综合网| AV电影在线播放| 九月色婷婷| 精品人妻午夜一区二区三区四区 | 久久久久人妻中文| 99日这里只有精品| 这里只有精品1| 亚洲婷婷丁香五月视频| 六月婷婷狠狠| 久久精品66| 激情5月婷婷| 九九热最新| 午夜激情综合| 婷婷久久五月| 97碰碰免费.视频| 伊人丁香五月婷婷潮吹| 五月天婷婷社区久久综合| 五月丁香啪啪综合| 亚洲国产色婷婷| 国产26uuu视频| 五月婷婷之美女图片| 国产视频婷婷| 9久热在线视频精品| 级情九色| 日韩一级一片内射视频4K| 九一九九黄色| 大香蕉婷婷丁香视频在线| 超碰久热| 天堂草在线观| 99这里有精品视频| 国产成人精品一区二三区熟女在线| 色色五月婷| 亚洲乱码日产精品BD| 在线综合91| 久热九九| 天天做天天爱天天玩夜夜爽| 午夜丁香婷婷| 久久精品人妻| 亚州色综合| 激情六月丁香综合| 99热这里只| 色五月av| 玖玖婷婷视频| 六月伊人婷婷| 激情五月色在线播放| 丁香色五月 97干| 色综合99无码 | 99免费在线视频| 色婷婷激情视频| 人妻久久久久| 婷婷丁香人妻天天爽| www,99热| 乱精品一区字幕二区| 人妻操日日| 欧美va视频不用播放器的va视频网| WWW五月| av大香蕉| 久99久精品视频| 婷婷五月天狠狠搞干| 人妻久久久| www狠狠com| 五月丁香九九九综合| www天天色天天射| 久久99热这里只频精品6学生| 九九热99久久99| 99re这里只有精品免费| 九九色影视| 五月丁香久久色| 九九婷婷五月天影视| 九九99精品视频在线观看| 日本黄色精品| 丁香六月婷婷综合在线| 韩国真做片在线观看| 女婷久久| www.maotanji.com| www.婷婷五月天,com| 国产免费一区二区在线A片视频| 婷婷色正月| 久久久久亚洲AV综合| 26uuu青青| 国产午夜精品一区二区| 成人做爰A片免费看视频| 伊人久久艹| 丁香色成人| 欧美日韩五月婷婷| AAAA网站| 99人妻碰碰久久久禁片| 婷婷色五月亚洲| 日日日日日| 超碰在线99| 亚洲综合色婷婷| 激情爱爱网站| 五月天丁香成人| 成人网丁香五月| 天天久久综合| 91色色五月天| 五月婷丁香亚洲| 亚洲午夜成人av电影网| www,setingting| 伊人深爱综合| 色亭亭丁香五月天| 成人视频婷婷| 久热伊人在91| 六月婷婷综合| 九九re精品视频在线观看| 婷婷五月综激情| 久久婷婷91| 婷婷久久五月丁香| www.99热| 激情婷婷五月天| 久久五月丁香六月婷| 9精品久久999| 久久婷婷丁香六月天| 啪啪日本欧美| 99亚洲欧洲| 婷婷综合在线网| 色XX综合网| 91|九色|动漫| 99久久婷婷| 色六月天天激情综合网| 国产婷婷色综合AV蜜臀AV | 婷婷九月丁香久久| 丁香激情五月天| 五月天婷婷基地综合网| 丁香婷婷五月六月久久| 免费精品99| 久色中文| 久久久精品99| 色色色色色色色色综合网| 日韩砖区| 9色小视频在线观看| 婷婷的色色五月天| 激情五月婷黄版| 精品影院| 丁香五月激情在线| 五月婷婷啪| 久久久人妻| 亚洲视频伍月婷婷| 色婷婷操逼| 九九视频这里只有精品| 亚洲AAA| 777久久久| 大香蕉啪啪网| 思思精品久久艹| 五月丁香综合成人社区| 噜噜在线| 欧美久久婷婷| 99久久网站| 丁香激情综合| 婷婷五月香蕉| 乱轮A片| 亚洲精品视频在线| 中文超碰视在线| 婷婷五月婷婷| 五月婷成人网| 青996青| 亚洲乱码日产精品BD| 五月丁香亭亭天天舔| 亚洲色色五月天| 影音先锋女人AA鲁色资源 | 天天撸天天干天天插| 色婷网| a毛片二逼wwwwwwwwww| 亚洲综合九九| 亚洲激情.com| 思思99精品视频在线观看| www.99久久久久99| 超pen个人视频97| 激情五月www| 天天日夜夜B久久| 人妻操日日| 亚洲日日操| 色综合激情| 五月激情综合五月| 九九综合影音先锋| 五月天久久婷婷| 中文AV网| 婷婷五月欧美综合| 五月激情视频| 9999热在线观看| 亚洲精品无码99热| 久久99久久99精品免视看婷婷| 天天做天天爱天天做| 婷婷激情另类| 91碰碰| 色色色在线| 色五月开心久久网| 99在线视频。| 熟妇人妻中文字幕无码老熟妇 | 青青草日本亚洲| 九九熱最新視頻| 九九色video| 91夫妻视频| 激情丁香五月婷婷| 99热这里是精品| 五月天久久婷婷| www.天天干| 五月丁香免费看| 五月天激情AV| 婷婷五月色網站| 日日操,夜夜爽| 99热这里有精品24| 丁香五月瑟瑟| 婷婷六月色丁香视频在线观看| 久久综合婷婷| 国产成人网站在线观看| 久久五月婷天天干| 99丁香五月| 日韩乱轮AV| 国产免费性爱| 九九九九精品精| 男男野外做爰全过程69| 老司机伊人| 久久综合婷婷| 97 A I色色| www.五月天| 俺去也婷婷| 亚洲性爱99| 久久久99精品免费观看| www.色婷婷.com| 五月丁香影院| 99精品视频在线观看| 中文中文在线| 少妇人妻人伦A片| 丰满少妇猛烈A片免费看观看| 日韩成人综合网| 成人国产欧美大片一区| 久久久天堂国产精品女人| 男人先锋久久| cao视频,现在观看| 亚洲色婷婷五月天| 99丝袜精品视频网站| 射久久丁香五月| 日韩成人无码片| 4399精品一区二区| 麻豆精品| 超碰91av| 国产va在线视频| 五月丁香激情综合啪啪| 久久 婷婷 五月天| sS丁香五月婷婷| 国产韩日亚洲美州欧亚综合在线| av在线超清中文| 麻豆五月丁香婷婷| 亚洲六月婷婷| 操逼巨乳91| 五月天婷婷社区| 五月天另类激情在线| 成人免费120分钟啪啪| 色婷婷亚洲综合天堂| 97欧美在线| 午夜理论片最新午夜理论剧| 婷婷五月天激情影片| 另类激情首页| 欧美激情五月天| 在线中文字幕免费视频| 欧美人久久| 婷婷丁香五月视频| 亚洲热视频在线| 天天干夜夜谢| 中文婷婷狠狠| 色色综合成人网| 欧美草久久五月天91| 亚洲综合五月天婷婷| 操日本99| 丁香五月久久| 五月婷婷激情综合视频| 99热在线观看亚洲区| 操逼六区| 丁香五月天天高清在线| 丁香伊人网| 欧美三级级99久久| 五月天之色情综合网| 婷婷激情视频欧美视频自拍视频欧美剧| 亚洲av网址| 色婷婷影视| 影音先锋女人av鲁色资源网小说免费| 日本eVa一区=区视频| 五月天播播中文字幕| 色很很96| 99热10在线高清播放| 五月天成人免费视频| 人人操人人添人人摸97| 日本在线视频www色| 亚洲精品操一操、噜一噜、摸一摸、爽| 牛牛澡牛牛爽| 五月丁香婷婷深深爱| 在线国产精品色| 91九色最新视频| 婷婷五月天激情网| 综合激情伊人影视在线| 丁香婷婷欧美综合| 狠狠色丁香婷婷久久综合| 五月天婷a在线| 婷婷五月无码| 六月婷婷综合| 婷婷五月六月丁香| 久久丁香五月婷婷激情综合网| 九九中文色色| 日日撸夜夜操| 人人舔人人色人人高潮| 久久ri精品| 狠狠操天天干| 久久久婷婷五月亚洲97号色| 九九视频在线观看视频6| 五月天成人在线播放| 国产精品人妻欲求不满| 五月婷婷丁香91| 五月丁香啪啪啪综合网| 99热精在线九九久久保| 色亭亭丁香五月天| 91凹凸在线| 激情五月天www| wWwCom夜操wwW| 五月丁香色停停啪啪啪| 久久久久9| 99re最新地址| 深夜男女福利刺激影院一区完整| 老司机伊人| 丁香婷婷久久综合在线| 五月丁香| 五月丁香天堂| 六月婷婷色综合| 五月婷婷六月少妇激情| 开心五月丁香综合久久| 91人人操人人爱| 免费看欧美成人A片无码| 国产日韩亚洲欧美在线观看| 国产婷婷综合| 国产免费一区二区三州老师F1……| 五月婷婷色色| 久婷五月| 亚洲色无码| 欧亚洲在线高清视频| 九月丁香八月婷婷久久综合久97| 国产AV一区二区三区最新精品| 中文久久婷婷| 丁香五月综合在线视频| 狠狠狠狠狠狠草| 99热精品在线| 久99热在线观看| 久久五月天精品视频| 日本人妻伦在线中文字幕| 色婷婷综合影院| 婷婷五月天激情小说网站| 五月天婷婷情色| 九九精品碰| 日逼影音先锋男人资源站| 欧美电影在线观看| 思思99热| 五夜婷婷| 天天日,天天插| 人人操人人爱丁香五月| 久久久五月激| 伍月激情天| 影音先锋女人av鲁色资源网小说免费| 激情五月天色色网| 综合99综合久久久久久久| 停停综合色色| 97性高潮久久久| 在线观看免费人成视频无码| 国产噜一噜天天噜| 亚洲色9| 超碰在线观看99| 国产精品视频免费看| 波多野结衣成人作品在线| 亚洲激情四谢| 琪琪布丁香社区激情五月天| 久久香蕉网| 91操碰| 激情婷婷五月天| 色五月AV| 日本色婷婷| 91久久久久久久| 久久婷婷五月天懂色| 日韩性视频| 大香蕉久艹| www久久99| 99热免费精品| 九九 激情 网| 激情都市丁香婷婷| 久久九九国产精品怡红院| 久久这里有精品| 国产这里只有精品| 狠狠99| 91玖玖| 色色com| 婷婷婷久久久| 99热国产精品| 日本丁香五月| 色无码| 99热在线观看| 久久婷婷五月综合| 六月丁香五月婷婷| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 国产特级毛片AAAAAAA高清| 一本大道熟女人妻中文字幕在线| 日日夜夜干| 国产精产国品一二三在观看| 99热在线极品极品| 国产偷人爽久久久久久老妇APP| 亚洲欧美日韩VIP| av一区免费看| 婷婷丁香五月天色色| 超碰97干| 久久机热这里只有精品免费视频| 婷婷五月天视频小说| 天天爽天天摸| 天天干天天爽| 玖玖99免费视频| 天天爽人人综合免费7799| 久久久www| 欧美色五月| 国内精品99| 五月婷婷啪啪啪啪| 五月天婷婷丁香人人操91| 欧美性久| 91热er| 亚洲AAA| 99热精品中文字幕| 激情色色| 日本wwww在线| 婷婷丁香色五月亚洲| 天天色爽| 精品久久艹| 综合色久| 丁香六月婷婷久久亚洲天堂| 色婷婷丁香社综合| 性爱五月丁香| 五月天影院婷婷在线观看| 婷婷五月色惰| 成人综合网站| 日本人人干| 久久98| 大香蕉院线| 婷婷久久五月| 九九九激情网| 亚洲综合婷婷| 婷婷五月色亚洲| 99爱在线精品视频免费观看| 久久久久视剧HD| 99亚洲天堂| 99热在线观看精品| 五月丁香六月激情综合| 波多野结衣成人作品在线| www.av视频xx999.com| 99免费| 婷婷五月天成人| 日本在线wwww| 91免费在线视频6| 日本婷久久| 色婷婷中文| 久久色频| 色呦呦美女| 九色亚洲| 五月丁香婷成人网| 激情综合五月| 免费观看18视频网站| 99碰网站| 久久九九在线视频| 99激情视频| 色色色天堂网| 色婷丨日丨天丨综合久久| 超碰免费在线| 日日夜夜九九| 婷婷五月开心中文字幕色| 五月婷婷啪啪| 丁香五月综合无码趴趴| 日在线V视频在线播放| 99热思思| 亚洲精品九九| 狠狠五月激情在线| 婷婷色综合av| 91黄色五月天视频| 日木狠狠干| 久久精品99久久久久久| 激情 久久 婷婷| 激情综合五月激情17| 91成人电影| 狠狠九九婷婷韩| 色婷亚洲| 丁香六月在线| 色色色综合色| 六月激情综合| 色射7856五月天激情四射| 插插五月天| 麻豆WWWCOM内射软件| 亚洲国产精品五月天| 五月天婷婷綜合院| 色色色天堂网| 99国产这里只有精品| 欧美性生交xXxX久久久| 婷婷黄色五月天在线视频| 九九久久精品| 日本久久人人| 991国产精选视频在线播放下载| ..真实国产乱子伦对白在线_欧| 综合激情网五月激情| 久久久性爱视频| 99热这里只有精品1025| 天天爽天天| 踪合专区啪啪| 天天日 天天草| 69色婷婷| 婷婷无码五月天| 婷婷五月花| 色九月国产| 看久久性爱99视频| 亚洲综合色成丁香五月色| 丁香五月激情六月| 欧美性猛交 XXXX 乱大交| 思思99精品视频在线观看| 久久这里只有精品99| 日本一级一级一级一级| 亚洲五月天婷婷| 天天 青草 制服丝袜 在线| 91超级碰碰| 丁香 婷婷 激情 综合 五月| 啪啪啪大香蕉| 色婷婷五月天亚洲| 五月亭亭开心网| 人人色人人摸人人看| 国产亚洲99久久精品| 97色碰| 久久免片| 五婷婷六月合| 五月丁香婷婷伊人| 五月丁香婷婷福利| AA丁香综合激情| 五月婷婷伊人久久| 久久成人亚洲欧美电影| 日婷婷久久开心| 日本丁香久在线| 五月丁香久久网| 天天日日人| 亚洲网综合在线| 久久婷婷五月综合色丁香| 亚洲av网址| 色色五月天丁香| 丁香五月婷婷狠狠色| 任你艹| 丁香美女主播视频在线观看| 亚洲综合欧美色丁香婷婷888月图片| 精品人妻伦一二三区久久| 91免费看片| 亚洲久久激情| 欧洲高清免费久久| 香蕉大综综综合久久| 日韩无码专区| 丁香五月婷婷六月婷| 狼人伊人干| 五月丁香欧美综合| 这里都是精品99| 欧美日韩成人综合9| 青草五月天| 99久久精| 日日操夜夜擼| 四色五月婷婷| 欧美在线视频99| 骚逼视频一区2区| 婷婷五月天天爽| 久热这里只有精品3| 第九色区AV在线| 婷婷五月综合激情免费| 9久久久久| 全部老头和老太XXXXX| 99久在线精品99re8| 午夜免费试看| 激情九月丁香婷婷| 91免费看片| 激情婷婷五六月天| 久久久久久久久久久月丁| 五月丁香婷婷色| 婷婷五月天啪啪| 色婷婷久久|