日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

INT102 算法笔记

發布時間:2024/3/24 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 INT102 算法笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PDF版本下載

文章目錄

  • week1 偽代碼與時間復雜度
    • 偽代碼(Pseudo Code)
    • 時間復雜度(Time complexity)
  • week2 評估基礎查找與排序算法
    • 線性查找(Linear Search)
    • 二分法查找(Binary Search)
    • 尋找連續子串出現位置 (Search for a pattern)
    • 選擇排序 (Selection Sort)
    • 冒泡排序(Bubble Sort)
    • 插入排序 (Insertion Sort Algorithm)選讀
  • week3 分治思想和基礎圖論
    • 分而治之(Divide and Conquer)
      • 歸并排序(Merge Sort)(O(nlogn))
    • 基礎圖論
      • 圖(Graphs)
      • 樹(Tree)
        • 樹的遍歷
      • 歐拉回路(Euler circuit)
      • 哈密頓圖(Hamiltonian circuit / path)
  • week4 深度優先與廣度優先
    • 深度優先(Deep First Search)
    • 廣度優先(Breadth First Search)
  • week5 貪心算法及最小生成樹
    • 貪心算法(Greedy Algorithms)
    • 貪心背包問題(Knapsack Problem)
    • 最小生成樹(Minimum Spanning Tree)
      • Prim's algorithm( O(|E|*log|V|) )
      • Kruskal's algorithm ( O(|E|*log|V|) )
      • Dijkstra’s algorithm ( O(|E|*log|V|) )
  • week6 動態規劃
    • 斐波拉契(Fibonacci numbers)(O(n) )
    • 流水線調度(Assembly line scheduling)(O(nm^2^) )
  • week8 時空轉換相關算法和圖的最短路徑
    • 時空轉換 (Space-for-time tradeoffs)
    • 計數排序(Counting Sort)(O(n+k))
    • 確認連續子串出現位置Horspool's Algorithm
    • 圖的最短路徑
      • 單起點最短路徑(Single-source shortest paths)
        • Bellman-Ford Algorithm
      • 多源最短路徑
        • Floyd Algorithom(All-pairs shortest paths)(O(n^3^))
      • 構建傳遞閉包
        • Warshall’s Algorithm(O(n^3^))
  • week9 查找最長相同子序列
    • 最長相同子序列問題(LCS Intuitive Solution)
      • 爆算
      • dp
    • 雙序列比對問題(Pairwise Sequence Alignment Problem)
      • 全局比對dp
      • 局部比對(Local alignment)
      • 回溯dp的table
  • week 10 NP問題
      • Circuit-SAT問題
        • 范式(Normal form (NF))
          • 合取范式 (Conjunctive Normal Form)
          • 析取范式 (Disjunctive Normal Form)
    • 判斷問題和最優化問題
      • 判斷問題(Decision problems)
      • 最優化問題(Optimisation problems)
      • 解決(solving)問題和判別(verifying)待定解
    • P和NP復雜類
      • P復雜類(Complexity Classes P )
      • NP復雜類(Complexity Classes NP )
    • 多項式規約(Polynomial-time reduction)
      • NP-hard
      • NP-complete
    • NP=P?
  • week11 回溯剪枝DFS算法設計
    • 精確解策略(Exact Solution Strategies)
    • 算法設計(Algorithm Design Techniques)
      • [n皇后問題(n-Queens Problem)](https://leetcode-cn.com/problems/n-queens/)
      • 哈密頓電路(Hamiltonian Circuit )
      • [N數之和問題(Subset-Sum Problem)](https://leetcode-cn.com/problems/4sum/)
      • 指派問題(Assignment Problem)
      • 旅行商問題(Traveling Salesman Problem)
  • week12 更多動態規劃dp
    • 一維動態規劃問題 1-dimensional DP
      • 目標和的加法式數量
      • 貼磚 Troll Tiling
    • 二維動態規劃問題 2-dimensional DP
      • LCS Problem
      • 間隔DP Interval DP
      • Tree DP
    • dp背包問題 Knapsack 0-1 Example
  • week13 近似求解
    • 爆算 Brute-force algorithms
    • 啟發法 Heuristics
    • 近似算法 Approximation algorithms
      • 準確率Accuracy Ratio
      • c-approximation algorithm
    • 近似解頂點覆蓋問題VERTEX-COVER
    • 近似解TSP問題
      • Nearest-neighbor
      • Euclidean instances
      • Multifragment-heuristic
      • Twice-Around-the-Tree Algorithm

week1 偽代碼與時間復雜度

偽代碼(Pseudo Code)

這部分略過

時間復雜度(Time complexity)

要注意的是f(n)和大O(g(n)), f(n)=O(g(n))

  • 算法頻度f(n):該算法基本操作需要執行的次數
  • 輔助函數g(n): n取無窮時可近似f(n) (n趨近無窮時,lim f(n)/g(n) 等于一個常數)
  • 時間漸進復雜度O(g(n)): 時間復雜度,通常用O(n)表示運行算法的規模,在代碼分析中主要取決于循環語句執行次數。
    下圖展示了時間復雜度之間的大小比較關系

    部分題型:
    給定一式子,要求求解時間復雜度—》證明各項在某個n值時恒小于某一項
  • week2 評估基礎查找與排序算法

    線性查找(Linear Search)

    從頭到尾查,O(n)

    二分法查找(Binary Search)

    原數組已排序時可用該算法,確定數組的左界和右界,每次查找查兩界中間的數,如果想找的數比中間的數大,把中間+1更新為左界;反之,如果想找的數比中間的數小,把中間-1更新為右界,O(log n)

    尋找連續子串出現位置 (Search for a pattern)

    從子串第一個字符位置依次向后比較,出現不相同的字符就把整體子串往后移一位繼續從子串第一個字符開始向后比,O(nm)

    選擇排序 (Selection Sort)

    每次從原始數組中選擇最小數,append到新數組中,O(n^2)

    冒泡排序(Bubble Sort)

    從前到后,將原數組的相鄰兩數進行比較換位,直到數組末尾,此時末尾的數字已確定,下次(第2次)循環只需比較0到n-1個數字,以此類推,在第i次循環只需比較至n-i+1個數,直到i等于n結束循環,O(n^2)

    插入排序 (Insertion Sort Algorithm)選讀

    順序遍歷原始數組中的數,插入新數組中,將其放置于新數組里小于該數的數字與大于該數的數字之間,O(n^2)

    week3 分治思想和基礎圖論

    分而治之(Divide and Conquer)

    將大問題轉化為小問題去解決,有時需要舍棄部分子問題。一般來說小問題與大問題之間是類似而不是完全相同,求解一個大問題下的小問題不代表這個解一定對于其他包含該小問題的大問題有用。

    一個例子是二分法查找,將在全數組中查找轉化為在半個數組中查找,舍棄另半個數組,往下依次類推…四分之一個數組…八分之一個數組…直到最終只有一個數字。

    關于遞歸的時間復雜度
    大問題的計算次數=子問題的計算次數+計算子問題結果之間的過程所需次數

    三種T(n)對應的大O:

    歸并排序(Merge Sort)(O(nlogn))

    將數組二分至幾個數字單元,然后有序合并單元化后的數組。
    重點在于合并時的操作,新數組依次append(兩個單元數組間最小的第一個數.pop())
    總時間復雜度O(nlogn),(上圖,T(n)= 2T(n/2)+ n , 2T(n/2)代表兩個子問題的運行次數,加的那個n是歸并兩子問題所需的遍歷數組的次數)

    基礎圖論

    圖(Graphs)

    • 無向圖(undirected graph) 沒箭頭
      節點的度(degree of a vertex v):等于這個節點相連的邊的量
    • 有向圖(directed graph) 有箭頭
      出度與入度(out-degree and in-degree):出去的邊和進來的邊的數量
    • 鄰接矩陣(Adjacency matrix):表示節點間連結與否或距離的矩陣
    • 關聯矩陣(Incidence matrix):表示節點與邊的關聯與否或距離的矩陣
    • 關聯列表Incidence list,表示最左邊的一列與哪些點相連,如a與b,c相連

    左圖鄰接矩陣,右圖關聯矩陣

    關聯列表Incidence list,如a與b,c相連,b與a,c,f相連

    樹(Tree)

    無向圖無環且連續可構造樹
    相關術語:

    根節點孩子節點父母節點度葉子節點內部節點左子樹
    rootchildrenparentdegreeleafinternal verticesleft subtree

    樹的遍歷


    L代表遍歷左子樹,R代表遍歷右子樹,v代表當前節點值

  • 前序遍歷 v,L,R----[0,1,3,7,8,4,9,10,2,5,11,12,6,13,14]
  • 中序遍歷 L,v,R----[7,3,8,1,9,4,10,0,11,5,12,2,13,6,14]
  • 后序遍歷 L,R,v----[7,8,3,9,10,4,1,11,12,5,13,14,6,2,0]
  • 歐拉回路(Euler circuit)

    既一筆畫問題
    能一筆畫的條件:

  • G為連通圖,并且G僅有兩個奇度結點(度數為奇數的頂點)或者無奇度結點。
  • 或D為有向圖,D的基圖連通,并且所有頂點的出度與入度都相等;
    或者除兩個頂點外,D的其余頂點的出度與入度都相等,而這兩個頂點中一個頂點的出度與入度之差為1,另一個頂點的出度與入度之差為-1。
  • 哈密頓圖(Hamiltonian circuit / path)

    給定一個圖,存在有一種一筆畫能夠走完這個圖的所有節點(走過的邊不可再走,不必經過所有邊),也就是這個圖的節點可以一筆畫走完,則稱這個圖為哈密頓圖。

    **部分題型:

  • 給定一個遞推公式,證明其O(n)為某值—》以某值為基礎假設T(n)恒等式,證明T(n)有上界為O(n)乘一常數

  • 給定一棵樹,按照前序中序后序對其遍歷

  • week4 深度優先與廣度優先

    深度優先(Deep First Search)

    深度優先專注于先找到一個葉子節點,找到一個葉子再依次返回上級繼續往下找與之相近的葉子節點

    廣度優先(Breadth First Search)

    廣度優先專注于先找里層節點,找完一層再依次往外找外層節點

    部分例題:
    給定一無向圖,按DFS或BFS按照字母順序對其進行遍歷

    week5 貪心算法及最小生成樹

    貪心算法(Greedy Algorithms)

    每步都選擇最優情況,貪就完事了

    在按步進行貪心時,往往會錯過全局最優解,
    但是通過合理的貪心策略也可以求得全局最優解或近似解。

    貪心背包問題(Knapsack Problem)

    給定各個物品的重量和價值,要求在一個限重的背包里面塞入盡可能多值錢的東西。
    這時用貪心基本上會錯過最優解。貪值錢/貪輕量/貪價質比這三種策略都有可能錯過最優解。

    最小生成樹(Minimum Spanning Tree)

    給定一圖,選擇使該圖所有點連通且總權值最小的邊的集合
    E邊,V點

    最小生成樹有兩種算法:
    prim和kruskal

    Prim’s algorithm( O(|E|*log|V|) )

    這個算法需要維護點的初始集合S和點的最終集合T
    初始時T為空,S為所有節點,將任意一節點從S移入T

  • 計算初始集合S上的所有節點到最終集合T上的所有節點的邊的距離
  • 在所有上述邊中選擇距離最小的,將這條邊的節點從初始集合S移到最終集合T,
  • 重復上述步驟直到結果圖中包含了所有節點

    以下是例題,一行一行來看,每行選取前一行距離最終集合最小的點,然后更新兩集合間線的距離
  • Kruskal’s algorithm ( O(|E|*log|V|) )

    這個算法維護一個已確定的邊的集合T,
    起始時圖上所有邊初始化為未確定狀態,集合T為空

  • 選擇未選擇狀態中最短的邊w
  • 如果邊w加入集合T,集合T中不會形成回路,則將邊w加入集合T
  • 否則,在圖中刪除邊w
  • 重復上述步驟直到集合T中包含所有節點
  • Dijkstra’s algorithm ( O(|E|*log|V|) )

    針對于邊權值非負的圖,尋求從起點開始到其他各個節點的最短距離。
    PPT里有詳細過程

    這個算法中每個點都有距離值,初始化為無窮,代表從起點到該點的最短距離。
    算法需要維護已確定的點的集合True和一個已探明的集合Light,其余點均未探明。集合T中的點已經確定最小距離值,集合L中的點已被探知但未確定最小距離值。(可以想象為這是一個礦工在探索漆黑礦洞的過程,有些礦洞已走進去過,有些礦洞沒進去過但是在路牌上見過,有些礦洞見都還沒見著)

    起始時只有起點在確定集合T中,與起點直接相連的點在探知集合L中,這些點的距離值為它們到起點的邊長。

  • 在集合L中挑選距離值最少的點m,移入集合T
  • 在圖中檢查所有從點m出發相連的點p,
  • 點p的距離值=m的距離值加上m和p它倆間的距離
    如果點p在已探明集合L中,再檢查p的新距離值是否小于原來記錄的距離值,如果小于就更新距離值,同時記錄下是從點m這兒發現更短的路的。
    如果點p未探明,恭喜,你在黑暗中解鎖了一個新礦洞,將p和其距離值加入集合L,同時記錄下是從點m這兒探知到的。
    如果點p在已確定集合T中,則其新距離值一定大于已記錄的距離值。因為這個算法會將當前L中距離值最小的點加入T,又因為邊權值非負,意味著加入T的時間越靠前,其距離值必定越小。
  • 重復上述步驟直到集合T包含所有節點
  • 以下是例題,按行來看,每行選取前一行的最小值,然后重新計算更新各個點的距離值。

    week6 動態規劃

    動規屬于分治的一種,但是分出來的小問題和原先大問題互相是等價的,求解小問題相當于求解大問題,因此動規多了種自下而上求解的方式,減少了時間復雜度。

    不妨與分治的例子----二分法查找作比較:
    求解大問題【1,2,3,4,5,6】中是否有6,二分法會繼續找【4,5,6】中是否有6。二分法必須要先知道大問題,將他拆解成小問題,無法忽略大問題直接對小問題求解——它不先解決大問題它甚至不知道小問題是啥(是【1,2,3】還是【4,5,6】?還是【7,8,9】?)

    一個動規的例子是數字的冪次方,要求算2的8次方,可以通過小問題2乘自己,2的2次方乘自己,2的4次方乘自己這樣自下而上的求解。可以看出,動規可以在求解小問題后,逐步遞推至解決大問題。

    斐波拉契(Fibonacci numbers)(O(n) )

    自左到右,維護當前F(n)

    F(0)–>F(1)–>F(2)–>F(3)–>F(4)–>F(5)–>F(6)
    11235813

    流水線調度(Assembly line scheduling)(O(nm2) )

    給定點和邊的權值
    自左到右,維護 到當前步為止,從上到下m個站點最短路徑的距離
    一共走n步,每前進一步,更新該步的m個站點最短路徑。更新方程:
    該步第i個站點的最短路徑=min(上一步第1個站點的距離值+上一步第1個站點走到這個站點i的距離,上一步第2個站點的距離值+上一步第2個站點走到這個站點i的距離…上一步第m個站點的距離值+上一步第m個站點走到這個站點i的距離)。

    右下角的表: j 代表當前步,fm[j]代表第 j 步的從上到下第m個站點

    week8 時空轉換相關算法和圖的最短路徑

    時空轉換 (Space-for-time tradeoffs)

    空間換時間,時間換空間
    空間換時間的例子:

  • 輸入強化(Input-enhancement)
    預處理輸入存儲一些信息,以待后續使用
  • 預構造(Pre-structuring)
    使用一個數據結構處理輸入,以便更簡單地處理問題
  • 計數排序(Counting Sort)(O(n+k))

    比較排序依靠值比較進行排序,其算法時間復雜度下限O(nlog(n))
    而計數排序依靠已排序的桶進行計數排序,不需要進行值比較
    其算法時間復雜度O(n+k) ,其中k為原始數列中數的范圍,也就是桶的數量。

    該算法維護一個計數數組(就是許多桶)

  • 首先,根據數列的范圍設置多個桶,數列元素的范圍為多少就設置幾個桶。例如,待排序數列中只包含個位數,那么就設置從0~9十個桶。初始時桶內計數都為0。

  • 遍歷原始數列,將遍歷到的數對應的桶內計數自增1。

  • 遍歷桶,更新每個桶的計數=這個桶的計數+前一個桶的計數。遍歷結束后各個桶內計數既代表該桶對應元素在排序后數組中最后處于的位置。

  • 從后向前遍歷原始數列,將遍歷的元素按照對應桶內的計數作為地址依次放在新數組中,然后該桶計數減1。遍歷結束新數組就是排序后的數組

  • 確認連續子串出現位置Horspool’s Algorithm

    尋找一字符串的某一連續子串出現位置
    算法需要連續子串的shift table來確認按位匹配出錯時,子串需要往右移動多少位,基本思想是“需要將子串往右移多少,才能使當前子串末尾對應的字符串元素再次與子串中最靠右的同名元素匹配”。

    創建shift table,初始化shift table中元素為字符串中元素范圍的所有元素。

    遍歷shift table:

  • 如果遍歷的元素不在子串前n-1個中,將shift table中該元素的偏移值記為子串長度
  • 如果遍歷的元素在子串前n-1個中,將shift table中該元素的偏移值記為子串前n-1個中最右方的相同元素到子串結尾的距離。
  • 使用shift table找子串位置:

  • 將從后向前對比子串與對應字符串的元素,如果某個位置上的元素不相等就將子串往后挪動。
  • 具體挪多少得看子串最后一位對應的字符串元素,按照該元素在shift table中的偏移值挪動子串。
  • 重復以上操作直到所有子串元素都能對應字符串
  • 例題:給一子串求shift table,BAOBAB, 去掉最后一位→BAOBA_,下面以這個去掉最后一位的殘缺串討論
    范圍為26個字母,所以table長為26
    殘缺串的_往左數1位到A,A對應1
    殘缺串的_往左數兩位到B,B對應2
    殘缺串的_左邊沒有C,C對應子串長度6

    圖的最短路徑

    單起點最短路徑(Single-source shortest paths)

    從一個起點到別的點的最短路徑
    邊權值非負: Dijkstra’s Algorithm
    邊權值可負:Bellman-Ford Algorithm

    Bellman-Ford Algorithm

    該算法允許出現負權有向邊,但是不允許出現負權回路
    算法維護一個記錄點的走法和距離值的集合T:

    算法定義一個操作 松弛(a,b):

  • 對于邊(a,b),遍歷所有點集,檢查是否有點f可使 a的距離值+(a,f)+(f,b)<a的距離值+(a,b),如果存在則更新b的距離值= a的距離值+(a,f)+(f,b),記錄是從f這走到b更短
  • 算法:

  • 對所有在邊集里的邊(j,k),進行一次松弛(j,k),如果出現更小的k的距離值,更新k的距離值,否則代表沒有從j之外的地方到k可以使k距離值變少。
  • 由于松弛過后出現了新的距離值,需要重復以上操作直到某次對邊集的松弛沒有使點的距離值減少。如果上述操作進行了超過V-1次,怎么循環都能更新距離值,則圖中存在負權回路。
  • 例題,按行看,紅線隔開的行代表從之前行中選擇了節點
    紅線區域之內的兩行代表將該點作為松弛時的b點,其他所有點作為a點進行松弛

    多源最短路徑

    Floyd Algorithom(All-pairs shortest paths)(O(n3))

    各個點到各個點的最短路徑,不能有負權回路
    維護記錄了點到點距離值的鄰接矩陣。
    假設一共有n個城市,對于鄰接矩陣e,依次假設將第k個城市作為中轉,看是否有兩城市 i,j 通過這個中轉城市走路更近些

    for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][j]>e[i][k]+e[k][j]):e[i][j]=e[i][k]+e[k][j];

    例題
    看每個矩陣,十字型排列既是討論十字里面的有向邊作為兩條中轉邊去更新其他邊距離值(不包括交叉處的0)


    如:
    第一幅矩陣D(0)中的十字作為坐標軸,計算軸間值之和,發現可以更新出來個5和9,比目前的無窮小,于是把無窮變成5和9

    類推即可

    構建傳遞閉包

    傳遞閉包內點a若能中轉到達點b,則有(a連b)這條線。

    Warshall’s Algorithm(O(n3))

    算法維護一個狀態矩陣,1表示a點可達b點,0表示不能達到。

  • 對矩陣所有點,檢查上個矩陣中該點狀態是否為1,或者是否存在中轉點,使兩點間可連通,存在則更新為1。其他情況該點狀態為0。
  • 重復上述操作直到沒有進行更新任何點的狀態
  • for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) transitiveClosureMatrix[i,j] = transitiveClosureMatrix[i,j] or transitiveClosureMatrix[i,k] and transitiveClosureMatrix[k,j]

    例題:

    依舊是紅十字,
    比如R0中,把十字看成坐標軸,坐標軸間進行并計算,發現二行三列出來個1,于是R1中二行三列更新為1

    week9 查找最長相同子序列

    最長相同子序列問題(LCS Intuitive Solution)

    Leetcode:最長公共子序列
    給定兩字符串,可以在保留他們順序的前提下提取部分元素組成子序列,也就是子序列可以不連續取,要求求解最長且相同的子序列,下面是兩種解決方法:

    爆算

    字符串構造2n個子序列,看是否也是另一個字符串的子序列,直到找到最大且符合條件的子序列,O(2n)

    dp

    維護一個當前的最長子序列數值c[i,j],依次從1迭代到總長度(或者用遞歸從總長度遞歸到1)。
    迭代方程,
    第一行表示有一序列為空,
    第二行表示當前兩序列最后一位相同,直接引用上一個dp的結構,
    第三行表示當前兩序列最后一位不同,試圖gap其中一個從以往dp中找最大值:

    例題,尋找ABCBDAB與BDCABA的最長子序列
    算出dp后,右下角的值就是最長子序列長度
    從右下角向左上回溯可以得出子序列,深色斜著的箭頭代表取當前x軸和y軸元素
    也就是BCBA和BCBA

    雙序列比對問題(Pairwise Sequence Alignment Problem)

    給定兩個序列,遍歷并比對序列元素,根據元素比對結果按照打分表上對應的score值累加score。求解比對到末尾為止,最大的總的score(兩串序列的相似度)

    全局比對dp

    維護一個當前最大score的二維矩陣,依次從1,1迭代到各自的總長度(或者從各自的總長度遞歸至1,1)。
    舉個例子,現在比對字符串abc和abh,求現在最大的score,在以下三種中選最大

  • 取ab和ab的socre加上c,h的打分表值
  • 取ab和abh的score加上一個gap的值(因為ab短于abh),暫時忽略c
  • 取abc和ab的score加上一個gap的值(因為ab短于abc),暫時忽略h
  • 迭代方程:

    局部比對(Local alignment)

    可以得到有較高相似度的子序列,部分比對的dp與全局比對的dp差不多,但是每次迭代時當前score最小為0,意味著迭代時max函數中多了一個常數0

    回溯dp的table

    · 通過從全局比對的最終值(最右下角)回溯可以得出使兩序列相似度最大的排列方式
    · 通過從部分比對得出來的最大值位置回溯就能得出較高相似度的子序列的排列方式

    其中垂直于當前序列方向的箭頭表示那個軸當前位置的一個gap(空格),斜著的箭頭沒影響
    如:
    global:
    對于橫軸而言,豎著的箭頭代表一個_
    對于縱軸而言,橫著的箭頭代表一個_


    local:
    與global相似,不過是從最大值開始取

    week 10 NP問題

    P指Polynomial Time,多項式時間(指數不含n),P問題表示可以在多項式時間內求出解的問題(哈密頓圖Hamiltonian Circuit(一筆畫問題),背包問題Knapsack Problem,Circuit-SAT問題

    Circuit-SAT問題

    給定一布爾電路表達式,檢查是否存在一種輸入,使得其結果可滿足為1(satisfiability)。

    范式(Normal form (NF))

    這邊引用同站的帖子解釋鏈接
    ————————————————
    析取 (Disjunctive) 就是或操作 (∨)。那些僅由或運算符連接而成的布爾表達式稱之為 析取子句 (Disjunctive clause)。如 ( a ∨ b ∨ ? c ) 。
    合取 (Conjunctive) 就是與操作 (∧)。那些僅由與運算符連接而成的布爾表達式稱之為 合取子句 (Conjunctive clause)。如 ( a ∧ b ∧ ? c ) 。

    合取范式 (Conjunctive Normal Form)

    是命題公式的一個標準型,它由一系列 析取子句 用 合取操作 連接而來。如 ( a ) ∧ ( a ∨ ? c ) ∧ ( b ∨ c )。

    析取范式 (Disjunctive Normal Form)

    是命題公式的另一個標準型,它由一系列 合取子句 用 析取操作 連接而來。如 ( a ) ∨ ( a ∧ ? c ) ∨ ( b ∧ c )。
    ————————————————

    判斷問題和最優化問題

    判斷問題(Decision problems)

    輸出為1或0的問題–Circuit-SAT問題。存在不能被算法解決的判斷問題。
    Halting Problem (AlanTuring 1936):
    “Given a computer program and an input to it, determine whether the program will halt on that input or continue working indefinitely on it.”

    最優化問題(Optimisation problems)

    試圖找出使結果最大或最小的組合的問題–背包問題

    最優化問題可以變為判斷問題,例如,背包問題中給一待定解,詢問算法是否存在能使背包更值錢,更輕的解法。
    如果判斷問題是復雜(hard)的,那么最優化問題也是hard的。

    解決(solving)問題和判別(verifying)待定解

    解決一個問題往往比較復雜,但驗證一個待定解candidate是否正確certificate則比較簡單。
    例如:Circuit-SAT問題中,給定一個輸入,咱們能夠驗證這個輸入的結果是否為1,進而為判斷問題提供正確解。

    P和NP復雜類

    P復雜類(Complexity Classes P )

    能夠在多項式時間內解決的問題集合(MST,Single-source-shortest-path)

    NP復雜類(Complexity Classes NP )

    算法求解過程是不確定的Nondeterministic,但是能夠在多項式Polynomia時間內驗證一個待定解是否正確的問題集合(Hamiltonian circuit,Knapsack problem,Circuit-SAT)
    P類是NP類的子類

    多項式規約(Polynomial-time reduction)

    對于判斷問題A,B,如果存在一轉換關系,可以將待定解a轉化為待定解b,當且僅當問題B有解的時候問題A有解,則稱A規約B(A is reducible to B), 符號為A≤pB,意味著B至少和A一樣難,或者說A是B的一個子類問題。進一步說,如果B存在一個高效算法,則A也存在一個高效算法。

    NP-hard

    如果NP問題都多項式制約于一個問題M,則稱該問題M為NP-hard問題。

    NP-complete

    如果M既是NP問題,又是NP-hard,則M為NP-complete問題。
    或者另一種表述
    即是NP問題,又被其他NP問題多項式制約的問題M,M為NP-complete問題。
    (Hamiltonian Circuit Problem,Knapsack Problem,Circuit-SAT)

    NP=P?

    如果P問題和NP-comlete問題存在非空交集,那么NP=P—》代表NP問題可以規約成一個NP-complete問題,象征著這些交集內的NP-complete問題下屬NP問題都可以在多項式時間內求解,也就是存在NP問題多項式可解。

    部分例題:

  • 把最優化問題轉述為判斷形式
    Given a weighted graph G and a source vertex a, find the shortest paths from a to every other vertex
    ----》
    Given a weighted graph G, a source vertex a and a value k, are there shortest paths from a to every other vertex such that each path is of weight at most k ?
  • week11 回溯剪枝DFS算法設計

    解決NP-hard問題有兩種主要解決方案

  • 求解精確解,但不一定能在多項式時間內得解(“提交結果:超出時間限制”)
  • 在多項式時間內,求近似解
  • 精確解策略(Exact Solution Strategies)

  • 暴解(Brute Force)
  • 回溯(Backtracking)
  • 剪枝(Branch-and-bound)
  • 動規(Dynamic Programming)
  • 算法設計(Algorithm Design Techniques)

  • 貪婪(Greedy
  • 分治(Divide and Conquer)
  • 動規(Dynamic Programming)
  • 回溯(Backtracking)
    創建狀態空間樹(state space tree),二叉樹的節點記錄的是值,狀態空間樹的節點記錄的是當前待定解,一般來說精確解就在葉子節點中,算法整體就是對這顆樹的DFS。
    回溯就是找到一個葉子節點后繼續DFS,尋找其他葉子,直到找到一個精確解或者全部葉子都找完。
    剪枝(Prune)就是發現當前節點的子樹不可能到達最優解,直接舍棄當前樹枝,返回當前節點上一個節點繼續DFS。
  • n皇后問題(n-Queens Problem)

    國際象棋中,將n個皇后放到一個n x n方格中,使每行每列每對角線上只有一個皇后。
    通過剪枝(不滿足條件)回溯可以DFS所有排列方式,找到符合條件的。

    哈密頓電路(Hamiltonian Circuit )

    給定圖要求一筆畫
    通過剪枝(重復走過某一節點)回溯可以DFS所有筆畫方式,直到符合一筆畫條件。

    N數之和問題(Subset-Sum Problem)

    給定一非負數組和數字t,從數組中選擇若干個數字,使其總和為該特定數字t
    剪枝(當前選擇的數字之和大于t)回溯DFS所有選擇,直到總和等于該特定數字。

    指派問題(Assignment Problem)

    將4個人分配到4個崗位,16種組合都有各自的工資,求解使總工資最少的分配方式(?ppt說的cost指的是工資嗎)。
    該算法有個剪枝策略,需要記錄各個節點的下限,如果有節點下限高于現存最優解,則舍棄那個節點。
    各個節點的下限計算方式為:

  • 忽略已被分配的job那列,忽略已被分配的人那行
  • 在剩下的工資表中,把每個人最低工資累加到下限值中
  • 下限值再加上已被分配確定的那幾個人的工資。
    算法:
    DPS狀態空間樹,剪枝:刪除下限值高于現存最優解的節點及其子節點
    找到葉子節點后,如果葉子節點的下限值低于現存最優解,則更新最優解。
  • 例題:

    • 簡便計算
  • 可以看出來尋找第一個葉子節點的過程中,優先走下限值低的枝干,這樣可以減去盡可能多的枝
  • 在下面的旅行商問題中,旅行商走過的路徑看上去是個圓環,也就是說順時針走和逆時針走的距離一樣,只是方向不同。通過規定某兩個點間的先后順序可以減少一半的討論
  • 旅行商問題(Traveling Salesman Problem)

    給定一無向圖,要求算出旅行商從一點出發盡可能短地走過所有節點然后回到起點的走法。
    依舊是剪枝,下限計算:

  • 把已走過的邊標記為必選的。
  • 在鄰接表中,每行選取兩個值的平均數累加到下限值中,如果有被標記為必選的,則必選那個值,再選出盡可能小的數。
  • 下限值再加上已走過的邊的值。
    每次在狀態空間樹中選擇下限值最低的節點或多個下限值最低相等的節點,進入它的子樹進行DFS選擇如何走剩下幾座城市,剪掉其他下限值較高的節點。
  • 例題:

    week12 更多動態規劃dp

  • 求小問題
  • dp公式
  • 基本情況(需要提前初始化)
  • 一維動態規劃問題 1-dimensional DP

    目標和的加法式數量

    例題:求出所有由1,3,4組成的和為5加法算式(如:1+1+3=5)的數量

    大問題:在數組[a1,a2…am]中尋找和為n的加法算式有多少
    如:1+1+1+1+1,1+1+3,1+3+1,3+1+1,1 +4,4 +1

    子問題:假設ai必在大問題的加法算式內,在數組[a1,a2…am]中尋找和為n-ai的加法算式有多少
    如:假設1在父問題的加法算式內,子問題既是求解1,3,4組成的和為5-1=4的加法算式的數量
    假設3在父問題的加法算式內,子問題既是求解1,3,4組成的和為5-3=2的加法算式的數量
    假設4在父問題的加法算式內,子問題既是求解1,3,4組成的和為5-4=1的加法算式的數量

    dp自底部向上求解,算法維護一個數組,記錄不同和的情況下加法式子的數量,和的值將從0逐漸迭代到大問題中的n(i會逐漸增加到n),D[n]即為問題答案
    (基本情況base case:前 數組長度+1 個dp值需要先自己算):

    貼磚 Troll Tiling

    問題:用2x1的小磚塊鋪滿3xn的區域

    問題以二維表述,但仍然是個一維dp問題。要點主要在于大問題和小問題之間的銜接過程。

    算法維護兩個一維數組,分別記錄兩種情況下的小瓷磚排列情況。
    大問題是正好擺放n列,小問題是正好擺放n-1列

    首先討論子問題的兩種情況,當我們盡可能照樣子按照每列排放 j 列小瓷磚時,可能:

  • 最右邊一列(這里是n-2列)中能夠鋪滿三個小格子(下圖白色),此時白色的鋪法為F(n-2)
  • 最右邊一列(這里是n-1列)中鋪滿了兩個小格子,空出一個(可能空下方的,可能空上方的)下圖白色.
    此時白色的鋪法稱為G(n-1),當然因為空法不同,所以這個方法包含兩個G(n-1)
  • 對于以上兩種情況:

  • 觀察其邊界,發現鋪下一個情況1且不違反其定義的鋪法各自有一種和兩種(彩色)。
    (為什么第一種情況三個彩色的小瓷磚只能全橫著鋪:
    ···· 豎著鋪的途中會變成第二種情況,禁止情況間交叉)

  • 觀察其邊界,發現鋪下一個情況2且不違反定義的鋪法各自有一種和一種(彩色)

  • 最后分析大問題與子問題的關系:
    (基本情況base case:只有0,1,2 列時的G(),F()的值)

    二維動態規劃問題 2-dimensional DP

    LCS Problem

    week9講過了,可以看出dp是以二維table的形式體現。

    間隔DP Interval DP

    給定一字符串,添加最少的字符,使字符串變成對稱的回文字符串 (palindrome)
    Example:
    – x: “Ab3bd”
    – Can get “dAb3bAd” or “Adb3bdA” by inserting 2 characters (one ‘d’, one ‘A’)

    將字符串看成滑塊,左邊界i和右邊界j可以滑動。
    大問題:字符串需要添加至少多少字符使之回文
    子問題:左右邊界同時向內移1的字符串需要添加至少多少字符使之回文

    dp維護一個table,記錄不同滑塊范圍時使之回文的添加的字符數
    問題間關系:
    如果內移掉的字符與另一側內移掉的字符不同,則需要 一側不移動的子問題的dp值 加上一個另一側的內移掉的額外字符 使之回文,在兩側之間找最小。

    如果內移掉的字符與另一側內移掉的字符相同,代表該次dp不要添加字符,大問題與子問題dp值相同。
    基本情況base case:dpi,i,dpi,i-1=0 for all i

    Tree DP

    問題:

    直接貼dp式子了,
    v:根節點
    Bv:根節點為黑色,其子樹的最大黑色數量
    Wv:根節點為白色,其子樹的最大黑色數量

    dp從葉子推到樹根

    dp背包問題 Knapsack 0-1 Example

    大問題:物品有重量和價值,給定一限重為5的背包,怎樣挑選物品使背包內價值最大

    dp思想大問題:物品有重量和價值,dp可供挑選的物品范圍和限重從0到w的背包,求每次dp怎么在當前可選的物品范圍挑選物品使物品價值最大

    wi:當前dp背包限重
    vt:當前dp預拿取物品的價值
    dpi,w:當前dp背包最大價值
    wt:當前dp預拿取物品的重量

    子問題:背包限重縮小1,或者物品范圍縮小1,或者物品范圍縮小1同時背包限重縮小1

    自底向上:
    大問題與子問題的關系,隨著背包的容量逐步上漲和物品范圍的擴大,會出現兩種情況:

  • 新的物品可以單獨進背包,此時考慮拿還是不拿,二者選最大
    (例如,dp限重為10的時候物品范圍新增了一個重量為10的物品,這時就要判斷是維持限重為9時的配置還是單獨拿重量為10的那一個物品)
  • 拿的話為了使當前dp最優,應當按照拿取當前物品后剩下來的重量所在的dp值算當前dp,當前價值dpi,w應該等于dpi,w-wt+vt
    也就是與上次比物品范圍變大,容量上漲,價值變動
  • 不拿的話當前dpi,w=dpi-1,w
    也就是與上次比物品范圍變大但是不拿,容量上漲,價值與上次一樣
  • 新的物品壓根塞不進背包,wt>wi,單個物品重量大于限重,此時dpi,w=dpi-1,w
    也就是物品范圍沒法變大,容量上漲一格,價值與上次一樣

  • 以下既是推至背包限重為5,物品范圍為4的情況

    根據這個dp table可以從取值方向逐漸逆推至最佳拿取組合
    從右下角7開始:(4,5,7)-沒拿-(3,5,7)-沒拿-(2,5,7)-拿2-(1,2,3)-拿1-(0,0,0)
    拿取的物品有2和1

    算法復雜度O(n*W)

    week13 近似求解

    NP-completeness 問題是沒辦法在多項式時間求最優解的,
    但是可以用較好的方法在多項式內求得足夠優秀的解
    三種思路:

    爆算 Brute-force algorithms

    枚舉所有解;能找到最優,沒法保證運行時間

    啟發法 Heuristics

    開發直觀算法intuitive algorithms;不確定找的是最優,可以保證多項式時間

    基于先驗規則(或者說經驗)的方法,例如:TSP問題中下一個選最近的城市走,背包問題選價質比最高的物品。

    近似算法 Approximation algorithms

    可以保證找到最優解的近似值(誤差很小);可以保證多項式時間

    準確率Accuracy Ratio

    在最優化極小值問題中r(sa) = f(sa)/f(s*) =近似算法結果/最優解結果
    在最優化極大值問題中r(sa) = f(s*)/f(sa) =最優解結果/近似算法結果

    c-approximation algorithm

    常數c≥1,能使得對于任意參數的一種問題(all instance of a problem)的準確率都能≤c的算法叫做c近似算法

    在這之中最小的c被稱為performance ratio,RA

    不幸的是c幾乎沒有上限。

    if P≠NP, no c-approximation algorithm for TSP exists.

    近似解頂點覆蓋問題VERTEX-COVER

    問題:給定一無向圖,找到一個最小的點的集合,使無向圖中的線至少有一個端點在該集合中。

    VC - Approximation Algorithm:把問題近似解
    隨機選一個邊及其兩端點,然后在圖中去掉與這個邊的兩點相連的所有邊,重復直到未選邊為空

    近似解的一個結果:

    評估VC問題的近似算法:
    顯然不是OPT(最優)的,按理來說最優解中的點之間應該盡可能不相連以分散所有點而減少點的數量,但是近似解法要求每對被選取的連線同時取其兩端點。

    近似解TSP問題

    Nearest-neighbor

    旅行者下一步走向離自己最近且未走過的城市
    但是這個近似解準確度與最后一條邊關聯性大,因為最后一條邊無論多長都得走

    Euclidean instances

    既要求城市滿足2d地圖的自然幾何學(natural geometry):
    也就是兩城市之間直接相連的距離要短于經過中轉城市的距離

    Multifragment-heuristic

    把邊按照距離從小到大排列,每次選擇一個邊加入集合,要求:

  • 新的邊不會使集合內的任意一點出現三個度
  • 新的邊不會使n-1之內的點形成環
  • 比nearest-neighbor復雜,正確率相同

    Twice-Around-the-Tree Algorithm

  • 創建圖的最小生成樹
  • 從生成樹的一個點開始,按照最外圍依次走過所有點并返回至起始點,所有點都被走了兩次
  • 嘗試添加新的邊(捷徑)進入生成樹,使需要重復走兩次的點的數量減少至1(起始點)
  • 往往比nearest-neighbor算法的正確率高

    總結

    以上是生活随笔為你收集整理的INT102 算法笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国模视频一区二区三区 | 欧美日韩不卡一区二区 | 激情偷乱人伦小说视频在线观看 | 福利电影一区二区 | 国产一区网| 色婷婷综合五月 | 欧美日韩国产精品一区二区 | 成人久久网 | 免费精品在线观看 | 免费av在线网站 | 国产精品久久久久久久久久久免费 | 日韩黄色一区 | 人人爱天天操 | 日韩欧美综合 | 92精品国产成人观看免费 | 亚洲三级在线播放 | 丁香婷婷在线 | 97国产精品一区二区 | 日韩在线观看免费 | 国产精品欧美一区二区 | 久久精品免费 | 五月色婷 | 国产在线不卡一区 | 激情婷婷亚洲 | 久久久久久久久久久成人 | 国产二区电影 | 免费视频色| 久久歪歪| 不卡国产在线 | 久久精品网站视频 | 人人看人人艹 | 亚洲不卡在线 | 999国内精品永久免费视频 | 黄网站app在线观看免费视频 | 四虎成人精品永久免费av | 亚洲三区在线 | 国产精品精品久久久久久 | 黄色日批网站 | 亚洲污视频| 国产中文视 | 中国一级片在线播放 | 在线一区观看 | 免费网站在线观看成人 | 亚洲成a人片综合在线 | 成人影片在线播放 | 97在线视频观看 | 免费 在线 中文 日本 | 福利视频一区二区 | 欧洲亚洲女同hd | 韩日在线一区 | av资源在线观看 | 亚洲激情一区二区三区 | 亚洲香蕉在线观看 | 日韩成片 | 日韩欧美精选 | 日狠狠| 人人澡视频| 亚洲欧美日韩精品久久久 | 国产精品久久久视频 | 正在播放国产精品 | 国产精品国产三级国产专区53 | 久久免费视频观看 | 日韩亚洲欧美中文字幕 | 五月天伊人网 | 久久久www成人免费精品张筱雨 | 亚洲成人午夜在线 | 三日本三级少妇三级99 | 国产精品久久久久久五月尺 | 日韩欧美xxxx | 日本免费久久高清视频 | 国产精品99久久久精品 | 九九热中文字幕 | 中文字幕 91 | 欧洲黄色片 | 亚洲欧美怡红院 | 毛片无卡免费无播放器 | 国产一区二区在线免费视频 | 免费a一级| 一区二区精品视频 | 成人中文字幕+乱码+中文字幕 | 久久婷婷综合激情 | 99在线观看精品 | 亚洲性xxxx | 在线视频一区二区 | 在线播放日韩av | 97精品在线视频 | 日韩一区二区三 | 夜夜操天天摸 | 午夜精品久久久久久久爽 | 911精品视频 | 国产一级在线视频 | 日韩黄色在线 | 久久激情五月激情 | 青青草国产精品 | 人人澡人人模 | av在线一级| 日韩欧美高清一区二区 | 日日弄天天弄美女bbbb | 日韩欧美国产激情在线播放 | 在线观看国产www | 中文字幕黄色av | 日日躁你夜夜躁你av蜜 | 尤物97国产精品久久精品国产 | 精品福利网站 | 最近中文字幕免费大全 | 国产成人三级在线 | 九九久久在线看 | 在线中文字幕一区二区 | 国产精品嫩草影院123 | 亚州成人av在线 | 人人爽人人爽人人爽学生一级 | 久久国产精品久久国产精品 | 99热 精品在线 | 久久精品视频在线免费观看 | 1024在线看片 | 午夜影院一级 | 香蕉97视频观看在线观看 | 男女激情网址 | 成人影视片 | 午夜三级毛片 | 天天操天天爱天天爽 | 久久av网址 | 91精品国产乱码在线观看 | 国产在线观看你懂的 | 精品久久国产 | 日韩毛片久久久 | 久久精品79国产精品 | 国产专区视频在线观看 | 亚洲专区 国产精品 | 欧美一区二区三区免费观看 | 国产精品欧美一区二区三区不卡 | 国产涩涩网站 | 九色视频网址 | 97成人在线观看视频 | 久久久久夜色 | 麻花豆传媒一二三产区 | 欧美另类色图 | 91经典在线| 国产91免费在线 | 欧美一区二区三区在线观看 | www.久艹 | 日韩videos| 久久超| 99热在| 天天插天天爱 | 免费日韩av电影 | 亚洲高清激情 | 丁香五月缴情综合网 | 午夜视频黄| 色片网站在线观看 | 亚洲专区免费观看 | 国产 在线 高清 精品 | 色综合久久悠悠 | 成人免费视频网址 | 日韩免费高清在线 | 制服丝袜在线91 | 久久国产精品99久久久久 | 五月天综合色 | 日韩无在线 | 久久视频在线观看免费 | 人人操日日干 | 国产精品免费成人 | 国产超碰在线观看 | 人人澡澡人人 | 手机成人av | 波多野结衣视频一区二区三区 | 久久五月婷婷丁香社区 | 免费看黄色毛片 | 国产精品ssss在线亚洲 | 啪啪免费试看 | 久久久久黄色 | 国产91免费看 | 国产视频精品视频 | 久久av在线播放 | 天天透天天插 | 丁香婷婷综合网 | 日韩特黄av | 亚洲永久精品在线观看 | 深爱激情久久 | a黄色一级| 久久久久免费观看 | 中文字幕a∨在线乱码免费看 | 2019精品手机国产品在线 | 久久99精品热在线观看 | 999国产在线 | 麻豆精品国产传媒 | 国产精品毛片一区二区 | 亚洲黄色免费 | 亚洲国产精久久久久久久 | 亚洲国产97在线精品一区 | 亚洲91在线 | 不卡的一区二区三区 | 中文字幕一区二区三区四区在线视频 | 99r国产精品 | 超碰公开在线 | 成人观看 | 久久免费视频99 | 97**国产露脸精品国产 | 国产成人l区 | 美女在线观看av | 国产免费叼嘿网站免费 | 国产一区二区精品久久 | 亚洲婷婷在线视频 | 日韩一区二区三区观看 | 六月激情久久 | 国产精品综合久久久久 | 天天激情在线 | 婷婷六月在线 | 国产96视频 | 黄色成年片| 欧美午夜精品久久久久 | 亚洲午夜小视频 | 国产一级免费观看 | av电影 一区二区 | 国产专区欧美专区 | 日韩在线 一区二区 | 在线之家免费在线观看电影 | 亚洲 中文 欧美 日韩vr 在线 | 国产手机视频精品 | 国产精品九九热 | 丁香六月在线观看 | 久久夜色精品国产欧美一区麻豆 | 亚洲少妇天堂 | 成人免费网视频 | 在线观看播放av | av国产网站 | 91九色在线播放 | 视频在线99 | 国产精品久久久久一区二区三区 | 中文字幕免费成人 | 最近中文字幕高清字幕免费mv | 精品国产乱码久久久久久1区2匹 | 久草在线在线精品观看 | 国产一级片播放 | 97精品电影院 | 日韩影视大全 | 日日操夜 | 欧美亚洲成人xxx | 日韩动态视频 | 一级欧美一级日韩 | 精品99免费视频 | 久久久91精品国产一区二区精品 | 免费观看国产精品视频 | 欧美一二在线 | 成年人黄色在线观看 | 免费看久久 | 欧美性生交大片免网 | 亚洲电影图片小说 | 91黄色小网站 | 激情喷水 | 欧美日韩视频免费看 | 久久国产精品99国产精 | av一级黄| 久久久噜噜噜久久久 | 欧美激情综合五月色丁香小说 | 99久久精品免费看国产一区二区三区 | 欧美精品色| 亚洲精品久久久蜜桃直播 | 国产经典av | 少妇性aaaaaaaaa视频 | 欧美日韩高清一区二区三区 | 91av在线播放| 日韩欧美高清不卡 | 天天艹天天 | 色吧av色av | a黄色 | 亚洲精品久久久久久久不卡四虎 | 国产香蕉97碰碰碰视频在线观看 | 久久国产精品久久w女人spa | 精品久久久999 | 国产1区2区 | 天天艹天天干天天 | 波多野结衣日韩 | 爱射综合| 久草在线免费看视频 | 国产视频日韩视频欧美视频 | 婷婷av网站| 久久久久色 | 国产免费久久精品 | 久久不卡日韩美女 | 国产字幕在线观看 | www.天天操 | 在线观看麻豆av | 天天激情在线 | 色99久久| 91热视频 | 一区二区网 | 天天操网站 | 玖玖玖在线 | 久久情爱 | 91日韩在线播放 | 美女视频网站久久 | 日韩黄色大片在线观看 | 一区二区不卡 | 久草视频国产 | 福利一区视频 | 久久男人视频 | 久久无码av一区二区三区电影网 | 亚洲永久国产精品 | 日韩欧美高清一区二区三区 | 国产免费亚洲高清 | 欧洲激情综合 | 国产日本亚洲高清 | 国产麻豆电影在线观看 | 成人av在线亚洲 | 六月丁香在线观看 | 不卡中文字幕av | 亚洲精品午夜一区人人爽 | 亚洲有 在线 | 日韩av男人的天堂 | 91精品国产亚洲 | 97精品国产一二三产区 | 国产在线播放一区二区三区 | av丝袜在线 | 欧美aa级 | 成人高清在线 | 在线观看成人网 | 一区二区三区免费在线播放 | 激情欧美一区二区三区免费看 | www国产一区| 国产精品久久久久久妇 | 久久9999久久免费精品国产 | 国产精品一区二区在线 | www.色婷婷| 天天色天天射综合网 | 成人9ⅰ免费影视网站 | 日本aa在线| 亚洲成人精品在线观看 | 美女网站视频色 | 久久久久久久久久久成人 | 久久免费视频在线观看 | 久久精品牌麻豆国产大山 | 日韩在线观看三区 | 欧洲精品视频一区二区 | 亚洲精品综合在线 | 九九热99视频| 99精品国产一区二区三区麻豆 | 国产资源av | 97福利 | 99草在线视频 | 亚在线播放中文视频 | 久草观看视频 | 色资源中文字幕 | 在线观看av不卡 | 亚洲精品九九 | 日本中文乱码卡一卡二新区 | 中文字幕在线免费看线人 | 欧美一二在线 | 久久人人97超碰com | 99精品在线看 | 欧美一区在线看 | 日韩a在线 | 男女啪啪视屏 | 丁香婷婷色月天 | 午夜精品一区二区三区视频免费看 | 99精品视频免费在线观看 | 中文字幕最新精品 | 国产一区二区三区免费观看视频 | 国产欧美精品一区二区三区四区 | 欧美日韩网址 | 免费视频你懂的 | 超碰人人做 | 天天草天天操 | 亚洲午夜av久久乱码 | 日韩在线不卡 | 超碰.com| 欧美韩国日本在线 | www黄在线 | 五月开心婷婷 | 四虎成人在线 | 久久免费视频5 | 国产精品网址在线观看 | 欧美性大胆 | 五月天综合激情 | 婷婷久久婷婷 | 色妞久久福利网 | 美女视频黄的免费的 | 中文字幕一区二区三区乱码在线 | 国产 欧美 日本 | 日韩动态视频 | 日韩免费电影一区二区三区 | 国产亚洲欧洲 | 一级电影免费在线观看 | 国产福利91精品一区二区三区 | 久久69精品久久久久久久电影好 | 成人免费一级片 | 国产裸体无遮挡 | 久久国产影视 | 在线观看网站黄 | 成年人在线免费看视频 | 国产一性一爱一乱一交 | 国产视频资源在线观看 | 天天操欧美 | 中文字幕在 | 国产精品免费在线视频 | av中文字幕网 | 国产最新网站 | 中国一级片在线播放 | 丁五月婷婷 | 久久午夜网 | 久久久久久国产精品久久 | 成人黄色电影在线 | 国产剧情一区二区在线观看 | 涩涩网站在线看 | 日韩av资源在线观看 | 日韩在线资源 | 成人av片在线观看 | 免费看的黄色录像 | 久久网站免费 | 伊人五月综合 | 狠狠色伊人亚洲综合网站野外 | 97色在线视频 | 综合久久一本 | 欧美一区二区三区免费看 | 色噜噜在线观看视频 | 波多野结衣综合网 | 狠狠操在线 | 五月综合色| 国产丝袜美腿在线 | 国产精品电影一区 | 午夜视频在线观看欧美 | 中文字幕乱码一区二区 | 精品国产99国产精品 | www.天天色.com | 久久少妇| japanese黑人亚洲人4k | 国产美女精品在线 | 黄色三级视频片 | 色综合www | 亚洲一区视频免费观看 | 在线色网站 | 五月综合久久 | 久久国产麻豆 | 欧美9999| 日韩精品久久中文字幕 | www夜夜| 中文在线www | 精品在线你懂的 | 三级在线视频播放 | 欧洲精品久久久久毛片完整版 | 超碰精品在线 | 久久久久久久久久久久亚洲 | 久草视频免费在线观看 | 欧美动漫一区二区三区 | 国产69久久久欧美一级 | 丁香花在线观看免费完整版视频 | 国产黄色片一级三级 | 日b黄色片| 亚洲五月婷婷 | 天天操夜夜拍 | 亚洲国产99| 久久综合中文字幕 | 国产成人免费观看久久久 | 中文字幕av影院 | 操久久免费视频 | 日韩无在线 | 中文字幕在线观看视频网站 | 91精品一区二区在线观看 | 国产免费又爽又刺激在线观看 | 91爱爱网址 | 日韩国产精品久久 | 久久手机视频 | 成年人网站免费在线观看 | 欧美激情精品久久久久 | 免费中文字幕 | 在线观看国产www | 不卡的av电影在线观看 | 99精品国产亚洲 | 成人a级黄色片 | 欧美性生活一级片 | 日韩免费视频一区二区 | 国产精品久久免费看 | 国产精品久久久久三级 | 欧美极度另类性三渗透 | 久久理论片 | 最新av中文字幕 | 国产精品成人一区二区三区吃奶 | 美女网站免费福利视频 | av超碰在线观看 | 五月天最新网址 | 久久精品欧美日韩精品 | 久久99视频免费观看 | 日狠狠| 中文免费在线观看 | 在线看片成人 | 天天天色综合 | 欧美一二三区在线播放 | 六月丁香激情综合 | 在线观看一区二区视频 | 亚洲 欧美 国产 va在线影院 | 亚洲欧美精品一区 | 黄色在线观看污 | 成人av影视 | 国产一级黄色电影 | 成人av片免费看 | 日韩大片在线免费观看 | 99成人在线视频 | 亚洲国产精品第一区二区 | 久久不卡国产精品一区二区 | 黄色三级在线观看 | 九色91视频 | 欧美在线不卡一区 | 超碰国产97 | 国产精品久久久久久久久大全 | 国产中文字幕三区 | 欧美一级在线观看视频 | 人人模人人爽 | 韩国av免费 | 国产精品永久在线观看 | 五月天六月婷 | 99在线观看精品 | 精品女同一区二区三区在线观看 | 久草视频精品 | 一区二区三区韩国免费中文网站 | 欧美日韩一区二区三区在线免费观看 | 成人av影院在线观看 | 99精品久久久久久久久久综合 | 在线观看av的网站 | 国产一区免费在线观看 | 国产成人av片 | 久久精品电影网 | 精品专区 | 一区二区三区免费播放 | 97人人视频 | 欧美一区二区视频97 | 999国内精品永久免费视频 | 狠狠操天天操 | 国内视频 | 色综合久久中文字幕综合网 | 婷婷丁香社区 | 国产黄色片在线 | 国产成人黄色 | 成片免费观看视频999 | 超碰在线97国产 | 日本在线成人 | 欧美成年人在线视频 | 97超碰中文字幕 | 久久婷亚洲五月一区天天躁 | 激情综合色综合久久综合 | 成人福利在线 | 久久99久久99精品免观看软件 | 就要干b | 日韩 在线 | 97日日 | 欧美久久久久久久 | 国产精品久久久久久久久费观看 | 国产精品毛片一区二区在线 | 国产经典三级 | 草久视频在线观看 | 久久av中文字幕片 | 97超碰中文| 美女露久久 | 丁香国产视频 | 欧美中文字幕第一页 | 日本久久久影视 | 天天综合网天天综合色 | 免费黄色av片 | 亚洲天堂精品视频在线观看 | 久久久私人影院 | 日韩久久激情 | 综合精品在线 | 久久综合九色综合欧美狠狠 | 日韩中文字幕a | 婷婷丁香社区 | 国产美女在线精品免费观看 | 91在线播放综合 | 草久久久 | 国产精品成人av久久 | 国产91在| 激情文学丁香 | 性色av一区二区三区在线观看 | 日韩精品黄| 激情大尺度视频 | 99热官网 | 就要干b | 久草在线最新免费 | 亚洲四虎影院 | 狠狠色丁香婷婷综合视频 | 中文字幕视频三区 | 深夜视频久久 | 国产91电影在线观看 | 啪啪小视频网站 | av在线官网 | 中文字幕日本特黄aa毛片 | 亚洲视频久久 | 久久综合五月天婷婷伊人 | 国产精品资源在线 | 国产中文字幕在线免费观看 | 国产精品久久久久久久久久免费 | 亚洲va欧美va国产va黑人 | 麻豆视频入口 | 免费看一级黄色 | 九九在线免费视频 | av一级免费 | 国产午夜精品一区二区三区 | 亚洲欧洲成人精品av97 | 中文字幕免费播放 | 国产视频精选 | 欧美另类美少妇69xxxx | 中文字幕在线观看视频一区 | 996久久国产精品线观看 | 99精品视频观看 | 91av视频在线免费观看 | 91av手机在线观看 | 91精品国产一区二区三区 | 久久久久免费精品国产小说色大师 | 精品久久免费 | 人人干网站 | 丁香5月婷婷 | 国产亚洲一级高清 | 日韩高清av | 久久亚洲美女 | 97在线观看免费观看高清 | 免费观看一区二区三区视频 | 免费看一级特黄a大片 | 在线欧美日韩 | 国产精品久久久久久久久久久久冷 | 天堂网中文在线 | 国语久久 | av网在线观看 | 91精品综合在线观看 | 国产精品网站一区二区三区 | 欧美午夜激情网 | 99热精品视| 黄污视频大全 | www.日本色| 日韩精品一区二区三区免费观看视频 | 久久久久99精品国产片 | 国产精品成人免费精品自在线观看 | 超碰在线人人爱 | 日韩三级av| 国产高清久久 | 91在线操 | 日日夜夜天天操 | 伊甸园av在线 | 日韩素人在线观看 | 一级性av| 国产精品视屏 | 久久久五月天 | 中文字幕亚洲欧美 | www狠狠| 亚洲国产欧洲综合997久久, | 色婷婷五 | 69国产成人综合久久精品欧美 | 99 精品 在线| 中文字幕影片免费在线观看 | 玖玖精品视频 | 国产精品久久久久久久久久久久午夜 | 天天爽天天碰狠狠添 | 欧美粗又大| 五月婷婷影视 | 久久精品福利 | 国产一级视频在线观看 | 亚洲最新在线 | 国产精品精品国产 | 精品1区2区3区 | 99久久er热在这里只有精品66 | 亚洲成年人在线播放 | 久久精品韩国 | 欧美日本在线观看视频 | 国产高h视频 | 亚洲精品女人久久久 | 麻豆久久精品 | 人人爱人人射 | 在线亚洲小视频 | 在线99热| 九九热国产视频 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 大片网站久久 | 激情欧美xxxx | 亚洲精品美女免费 | 四虎影视成人永久免费观看视频 | 九色免费视频 | 91福利社区在线观看 | 激情丁香月 | 色午夜 | 久久夜夜操 | 久久久久久久久影院 | 国产二区电影 | 国产精品 中文在线 | 在线黄频 | 日韩欧美视频免费观看 | 9在线观看免费高清完整 | 欧美日韩国产精品久久 | 欧美 国产 视频 | 射久久| 国产成人精品免高潮在线观看 | 色婷婷精品 | 精品xxx| 婷婷精品国产一区二区三区日韩 | 九九三级毛片 | 色a资源在线 | 一级成人在线 | 日韩午夜电影网 | 婷婷精品国产欧美精品亚洲人人爽 | 亚洲一级片免费观看 | 国产小视频在线播放 | 91九色网站 | 91麻豆精品国产91久久久无限制版 | 久久综合偷偷噜噜噜色 | 国产免费二区 | 欧美一级黄色视屏 | 六月丁香婷婷网 | 日韩精品一区二区三区免费观看视频 | 午夜视频免费播放 | 很黄很污的视频网站 | 性色大片在线观看 | 91大神电影 | 一本一本久久a久久精品牛牛影视 | 91桃色视频| 成人精品一区二区三区电影免费 | 日韩视频一区二区三区在线播放免费观看 | 精品一区中文字幕 | 久久 亚洲视频 | 欧美性久久久 | 久久国产精品99久久久久久老狼 | 最近中文字幕视频完整版 | 青春草视频在线播放 | 久久精品99视频 | 国产 在线 高清 精品 | 一级黄网 | 韩国av一区二区三区在线观看 | 在线导航av | 狠狠色婷婷丁香六月 | 国产亚洲精品久久久久久 | 婷婷色在线 | 毛片精品免费在线观看 | 国产精久久| 久久婷婷一区二区三区 | 激情综合五月婷婷 | 婷婷网五月天 | 国产成人一区二区在线观看 | 狂野欧美激情性xxxx欧美 | 在线观看视频精品 | 精品在线看 | www.天天色 | 91最新网址 | 国产亚洲视频在线观看 | 亚洲婷婷综合色高清在线 | 成人亚洲免费 | 色婷婷综合久久久中文字幕 | 美女网站色免费 | 色久五月| 黄色激情网址 | 欧美激情精品久久久久久免费印度 | 国产高清在线观看 | 久久国产精品精品国产色婷婷 | 日日夜夜噜| 国产精品久久久久久高潮 | 97人人模人人爽人人少妇 | 波多野结衣视频一区 | 在线看片a | 久久这里有精品 | 开心丁香婷婷深爱五月 | 国产日韩在线视频 | 国产精品v欧美精品 | 亚洲观看黄色网 | 欧美日韩中文字幕综合视频 | 97碰碰精品嫩模在线播放 | 国产精品3 | av一级片在线观看 | 91 在线视频播放 | 99视频在线免费 | 国产亚洲精品美女久久 | a特级毛片 | 91精品国产自产在线观看 | 日日爽天天爽 | 97av影院| 国产精品久久婷婷六月丁香 | 婷婷中文字幕 | 成人a v视频 | 欧美精品v国产精品v日韩精品 | 97精品国产一二三产区 | 在线观看亚洲成人 | 黄av免费在线观看 | 国外av在线 | 亚洲精品在线一区二区三区 | 婷婷丁香色 | 91中文字幕永久在线 | 爱色婷婷| 人人插人人爱 | 久久理伦片 | 人人澡人人模 | 亚洲精品乱码久久久久久蜜桃91 | 精品久久久久_ | 亚洲专区中文字幕 | 韩国视频一区二区三区 | 日韩精品在线视频免费观看 | 欧美看片 | 在线天堂亚洲 | 亚洲国产精品第一区二区 | 成人中文字幕+乱码+中文字幕 | 免费在线国产精品 | 国内免费久久久久久久久久久 | 毛片激情永久免费 | 91超碰在线播放 | 中日韩免费视频 | av在线播放一区二区三区 | 亚洲免费观看在线视频 | 午夜一级免费电影 | 999精品视频 | 精品一区精品二区 | 国产无遮挡又黄又爽在线观看 | 国产黑丝一区二区 | 99久久日韩精品视频免费在线观看 | 亚洲乱码一区 | 亚洲在线国产 | 99精品欧美一区二区蜜桃免费 | 日韩理论 | 欧美日韩国产一区二区三区 | 日韩一区二区三区不卡 | 男女啪啪视屏 | 美女黄频在线观看 | 婷婷丁香在线视频 | 91丨九色丨91啦蝌蚪老版 | 在线视频日韩欧美 | av福利在线看 | 777视频在线观看 | 欧美日韩国产精品一区二区 | 性色av香蕉一区二区 | 色婷婷激情电影 | 99 色| 亚洲精品国偷拍自产在线观看 | 中文字幕在线播放日韩 | 日本三级久久久 | 最新日韩视频 | 999久久| www九九热| 又黄又刺激的视频 | 美腿丝袜av | 久久人人添人人爽添人人88v | 国产精品日韩欧美一区二区 | 在线免费观看视频a | 99在线观看免费视频精品观看 | 有码一区二区三区 | www.亚洲精品视频 | 午夜免费福利视频 | 国产你懂的在线 | 精品一二区 | 九九久久久久久久久激情 | 久久久久福利视频 | 手机在线看永久av片免费 | 97av色| 国产精品美女久久久久久网站 | 在线观看中文 | 免费在线播放视频 | 天天操天天色综合 | 青青河边草免费观看完整版高清 | 成人h视频在线播放 | 久草精品在线播放 | 女人高潮特级毛片 | 日韩精品一区二区三区在线播放 | 欧美日韩性视频 | 欧美做受69 | 狠狠狠色丁香婷婷综合久久五月 | 在线视频 亚洲 | 丁香五月网久久综合 | 久久久久久网站 | 不卡视频在线看 | 国产18精品乱码免费看 | 国产亚洲精品久久19p | 日韩av黄| 韩国精品福利一区二区三区 | 丁香六月国产 | 成人永久在线 | 色综合人人 | 天天鲁一鲁摸一摸爽一爽 | 免费看成人a | 日韩黄色网络 | 黄色一级免费 | 国产老太婆免费交性大片 | а中文在线天堂 | 91精品天码美女少妇 | av在线a| 国产一区二区播放 | 天天干亚洲 | 亚洲九九影院 | 国产成人精品女人久久久 | 国产剧情一区在线 | 久草| 成人av中文字幕 | 91精品视频导航 | 国产精品美女999 | 一区久久久 | 日韩色综合网 | 男女精品久久 | 丰满少妇在线观看网站 | 国产精品亚洲视频 | 国产成人免费在线观看 | 麻豆 91 在线| 91精品成人久久 | 亚洲视频www | 久草视频在线观 | 成人黄色电影在线 | 玖玖玖精品 | 国产精品亚洲片在线播放 | 狠狠色丁香久久综合网 | 日韩黄色一区 | 日韩精品免费在线 | 久久精品国产一区 | 99电影456麻豆 | 99热这里有精品 | 97看片网 | 天天射色综合 | 国产偷国产偷亚洲清高 | 色婷婷www| 国产一区二区在线观看免费 | 人人草在线观看 | 亚洲国产中文在线 | 国产自产在线视频 | 亚洲精品五月天 | 超碰日韩在线 | 色综合www| 天天爱天天操天天爽 | av丁香花 | 91视频成人免费 | 久久成人在线 | 亚洲欧美视频一区二区三区 | 亚洲精品免费在线视频 | 日韩高清无线码2023 | 亚洲精品视频免费在线观看 | 免费污片 | 欧美日韩精品区 | 激情综合色综合久久综合 | 久草a在线| 日韩精品在线免费观看 | 日韩色综合网 | 亚洲国产精品成人女人久久 | 亚洲国产资源 | 欧美日韩精品在线免费观看 | 成人黄色电影免费观看 | 精品国产伦一区二区三区观看说明 | 国产亚洲在线视频 | 成人免费观看视频网站 | 人人网av| 亚洲免费一级 | 久久精品视频观看 | 中文字幕在线免费观看视频 | 亚洲天堂网在线播放 | 久草久草在线 | 国产98色在线 | 日韩 | 在线观看视频一区二区 | 777视频在线观看 | 天天色天天 | 日韩精品一区在线观看 | 99久久精品久久久久久清纯 | 999超碰 | 日韩精品不卡在线 | 国产精品大片免费观看 | 99久久www免费 | 免费看的视频 | 久久久综合电影 | 黄色小说在线观看视频 | 色a资源在线 | 免费黄色网址大全 | 天天激情天天干 | 久久精品中文视频 | 免费毛片aaaaaa | 国产精品 国产精品 | 亚洲一区二区91 | 99这里有精品 | 国产丝袜制服在线 | 亚洲免费成人av电影 | av在线播放一区二区三区 | 特级黄色视频毛片 | 久久99精品国产91久久来源 | 国产成人精品免费在线观看 | 日韩视频免费播放 | 999成人国产 | 日韩综合色 | 国产精品成人久久久久 | 91成人天堂久久成人 | 国产精品女同一区二区三区久久夜 | 久久久久蜜桃 | 精品国产一区二区三区免费 | 日韩久久精品一区二区三区下载 | 日韩欧美在线不卡 | 一区二区精品在线观看 | 精品国产乱码久久久久久三级人 | 在线观看国产高清视频 | 日本精品午夜 | 国内精品久久久久久久 | 99热这里只有精品免费 | 免费能看的av| 91超碰在线播放 | 久草www| 99久久久国产精品 | 国产精品男女视频 | 成人免费视频网站 | 四虎成人精品永久免费av | 午夜精品导航 | 国产打女人屁股调教97 | 精品久久久久一区二区国产 | 美女av在线免费 | 日日草夜夜操 | 久久久久久在线观看 | 国产在线精品一区二区不卡了 | 国产精品久久久久久久久久久免费看 |