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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

發布時間:2024/9/30 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 藍橋杯 Java B組 省賽真題詳解及小結匯總【2013年(第4屆)~2020年(第11屆)】

  • 注意:部分代碼及程序 源自 藍橋杯 官網視頻(歷年真題解析)?鄭未老師。
  • 2013年 第04屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2014年 第05屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2015年 第06屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2016年 第07屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2017年 第08屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2018年 第09屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2019年?第10屆 藍橋杯 Java B組 省賽真題詳解及小結
  • 2020年?第11屆 藍橋杯 第1次模擬賽真題詳解及小結(校內模擬)【Java版】
  • 2020年?第11屆 藍橋杯 第2次模擬賽真題詳解及小結【Java版】
  • 2020年?第11屆 藍橋杯 C/C++ B組 省賽真題詳解及小結【第1場省賽 2020.7.5】【Java版】
  • 2020年?第11屆 藍橋杯 Java B組 省賽真題詳解及小結【第1場省賽 2020.7.5】
  • 2020年?第11屆 藍橋杯 Java C組 省賽真題詳解及小結【第1場省賽 2020.7.5】

    • 第11屆 藍橋杯-第1、2次模擬(軟件類)真題-(2020年3月、4月)-官方講解視頻

    目? ?錄

    一、12.5MB

    二、最多邊數

    三、單詞重排

    解法一:全排列 + Set去重

    解法二:dfs

    四、括號序列

    解法一:手工計算

    解法二:遞歸

    五、反倍數

    六、凱撒加密

    解法一:字符串.toCharArray()

    解法二:add()函數

    七、螺旋

    八、擺動序列

    解法1:dfs

    優化1:修改遞歸式

    優化2:改為遞推

    九、通電

    十、植樹

    解法一

    優化

    小結


    ? ?模擬賽(第二輪)真題解析-官方講解視頻

    一、12.5MB

    【問題描述】

    在計算機存儲中,12.5MB是多少字節?

    【答案提交】

    這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

    【答案】:13107200

    【解析】:1K=1024字節? ?∴ 12.5*1024*1024

    ? ??

    • 1Byte(字節) =?8bit(位)? ?1K =?1024Byte(字節)? ?
    • 字節也叫baiByte,是計算機數據的基本存儲單位,在電腦du里一個中zhi文字占兩個字節。

    二、最多邊數

    【問題描述】

    一個包含有2019個結點的有向圖,最多包含多少條邊?(不允許有重邊)

    【答案提交】

    這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

    【答案】:4074342

    【解析】:任意兩點組成邊,邊有向,一來一回算兩條邊。? ? ? ?所以是n中選2的組合數乘以2級n*(n-1)

    ? ? ? ? ? ?最大邊數 =??* 2 ,∴?最大邊數 = ( 2019 * 2018 / 2 ) * 2 =?4074342

    ? ?? ?計算器?計算 即可!

    三、單詞重排

    【問題描述】

    將LANQIAO中的字母重新排列,可以得到不同的單詞,如LANQIAO、AAILNOQ等,注意這7個字母都要被用上,單詞不一定有具體的英文意義。

    請問,總共能排列出多少個不同的單詞。

    【答案提交】

    這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

    【答案】:2520

    【解析】:全排列?+ 去重 + 計數

    解法一:全排列 + Set去重

    package simulationMatch_11_2020_2;import java.util.HashSet; import java.util.Set;public class _03_單詞重排 {static Set<String> set = new HashSet<String>(); // 不包含重復元素public static void main(String[] args) {char[] str = { 'L', 'A', 'N', 'Q', 'I', 'A', 'O' };f(str, 0);for(String x:set) {System.out.println(x);}System.out.println(set.size());}public static void f(char[] charArray, int k) {if (k == charArray.length) {String s = new String(charArray);set.add(s);}for (int i = k; i < charArray.length; i++) {char temp = charArray[i];charArray[i] = charArray[k];charArray[k] = temp;f(charArray, k + 1);temp = charArray[i];charArray[i] = charArray[k];charArray[k] = temp;}}}

    解法二:dfs

    package simulationMatch_11_2020_2;import java.util.HashSet; import java.util.Set;/*** @Author zhengwei* @Date 2020/5/17 5:32 PM* @Version 1.0*/ public class _03_單詞重排2 {private static char[] a = "LANQIAO".toCharArray();private static Set<String> ans = new HashSet<>();private static char[] tmp = new char[7];private static boolean[] vis = new boolean[7];public static void main(String[] args) {dfs(0);System.out.println(ans.size());}private static void dfs(int k) {if (k == 7) {ans.add(new String(tmp));return;}for (int i = 0; i < 7; i++) {if (!vis[i]) { // 沒有被選入tmp[k] = a[i];vis[i] = true;dfs(k + 1); // 確定下一位vis[i] = false; // 回溯}}} }

    四、括號序列

    【問題描述】

    由1對括號,可以組成一種合法括號序列:()。

    由2對括號,可以組成兩種合法括號序列:()()、(())。

    由4對括號組成的合法括號序列一共有多少種?

    【答案提交】

    這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

    【答案】:14

    解法一:手工計算

    統計“4對括號組成的合法括號序列”,可以分為4種情況:

  • 括號不嵌套:()()()()
  • 1個括號嵌套1個括號:(())()()、()(())()、()()(())、(())(())
  • 1個括號嵌套2個括號:((()))()、()((()))、(()())()、()(()())
  • 1個括號嵌套3個括號:(((())))、(()()())、(()(()))、((())())、((()()))
  • ∴ 1+4+4+5

    解法二:遞歸

    典型的遞歸結構,每個位置有兩種選擇,要么左括號,要么右括號。

    選左括號的條件:可選數>0 且 變化后存在的左括號數量始終大于等于已存在的右括號數量。

    選右括號類似。

    package simulationMatch_11_2020_2;/*** @Author zhengwei* @Date 2020/5/17 5:42 PM* @Version 1.0*/public class _04_括號序列 {public static void main(String[] args) {System.out.println(solve(4, 4, 4));}/**** @param n 對的數量* @param l 剩余左括號數量* @param r 剩余右括號的數量* @return*/private static int solve(int n, int l, int r) {if (l == 0 && r == 0)return 1;int ans = 0;// # 要么選左括號,要么選右括號// # 選左括號的條件:l>0 且 變化后存在的左括號數量始終大于等于已存在的右括號數量if (l > 0 && n - (l - 1) >= n - r)ans += solve(n, l - 1, r);if (r > 0 && n - l >= n - (r - 1))ans += solve(n, l, r - 1);return ans;}}

    五、反倍數

    【問題描述】

    給定三個整數 a, b, c,如果一個整數既不是 a 的整數倍 也不是 b 的整數倍 還不是 c 的整數倍,則這個數稱為反倍數。

    請問在 1 至 n 中有多少個反倍數。

    【輸入格式】

    輸入的第一行包含一個整數 n。

    第二行包含三個整數 a, b, c,相鄰兩個數之間用一個空格分隔。

    【輸出格式】

    輸出一行包含一個整數,表示答案。

    【樣例輸入】

    30

    2 3 6

    【樣例輸出】

    10

    【樣例說明】

    以下這些數滿足要求:1, 5, 7, 11, 13, 17, 19, 23, 25, 29。

    【評測用例規模與約定】

    對于 40% 的評測用例,1 <= n <= 10000。

    對于 80% 的評測用例,1 <= n <= 100000。

    對于所有評測用例,1 <= n <= 1000000,1 <= a <= n,1 <= b <= n,1 <= c <= n。

    【解析】:迭代 + check

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _05_反倍數 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int a = sc.nextInt();int b = sc.nextInt();int c = sc.nextInt();int answer = 0;for (int i = 1; i <= n; i++) { // i < n + 1if (i % a != 0 && i % b != 0 && i % c != 0) {answer++;}}System.out.println(answer);}}

    六、凱撒加密

    【問題描述】

    給定一個單詞,請使用凱撒密碼將這個單詞加密。

    凱撒密碼是一種替換加密的技術,單詞中的所有字母都在字母表上向后偏移3位后被替換成密文。即a變為d,b變為e,...,w變為z,x變為a,y變為b,z變為c。

    例如,lanqiao會變成odqtldr。

    【輸入格式】

    輸入一行,包含一個單詞,單詞中只包含小寫英文字母。

    【輸出格式】

    輸出一行,表示加密后的密文。

    【樣例輸入】

    lanqiao

    【樣例輸出】

    odqtldr

    【評測用例規模與約定】

    對于所有評測用例,單詞中的字母個數不超過100。

    【解析】:?遍歷 + 轉換,再拼成字符串

    解法一:字符串.toCharArray()

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _06_凱撒加密 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next();char[] temp = str.toCharArray();for (int i = 0; i < str.length(); i++) {if (temp[i] == 'x') {temp[i] = 'a';} else if (temp[i] == 'y') {temp[i] = 'b';} else if (temp[i] == 'z') {temp[i] = 'c';} else {temp[i] += 3;}}System.out.println(new String(temp)); // 字符數組轉字符串 // for (char x : temp) { // System.out.print(x + ""); // }}}

    解法二:add()函數

    package simulationMatch_11_2020_2;import java.util.Scanner;/*** @Author zhengwei* @Date 2020/5/17 5:51 PM* @Version 1.0*/ public class _06_凱撒加密2 {private static char add(char letter) {if (letter < 'x')return (char) (letter + 3);else if (letter == 'x')return 'a';else if (letter == 'y')return 'b';elsereturn 'c';}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.next();char[] ans = new char[s.length()];for (int i = 0; i < s.length(); i++) {ans[i] = add(s.charAt(i));}System.out.println(new String(ans));} }

    七、螺旋

    【問題描述】

    對于一個 n 行 m 列的表格,我們可以使用螺旋的方式給表格依次填上正整數,我們稱填好的表格為一個螺旋矩陣。

    例如,一個 4 行 5 列的螺旋矩陣如下:

    1 2 3 4 5

    14 15 16 17 6

    13 20 19 18 7

    12 11 10 9 8

    【輸入格式】

    輸入的第一行包含兩個整數 n, m,分別表示螺旋矩陣的行數和列數。

    第二行包含兩個整數 r, c,表示要求的行號和列號。

    【輸出格式】

    輸出一個整數,表示螺旋矩陣中第 r 行第 c 列的元素的值。

    【樣例輸入】

    4 5

    2 2

    【樣例輸出】

    15

    【評測用例規模與約定】

    對于 30% 的評測用例,2 <= n, m <= 20。

    對于 70% 的評測用例,2 <= n, m <= 100。

    對于所有評測用例,2 <= n, m <= 1000,1 <= r <= n,1 <= c <= m。

    【解析】:按題意生成網格,再取單元格中的數據?

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _07_螺旋 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int r = sc.nextInt();int c = sc.nextInt();int[][] grid = new int[n][m];int num = 1;int up = 0, down = n, left = 0, right = m;while (true) {for (int col = left; col < right; col++) {grid[up][col] = num;num++;}up++;if (up == down)break;for (int row = up; row < down; row++) {grid[row][right - 1] = num;num++;}right--;if (left == right)break;for (int col = right - 1; col >= left; col--) {grid[down - 1][col] = num;num++;}down -= 1;if (up == down)break;for (int row = down - 1; row >= up; row--) {grid[row][left] = num;num++;}left++;if (left == right)break;}System.out.println(grid[r - 1][c - 1]);}} /** int[][] array = new int[n][m]; int x = 1; // 遞增數字 int index = 0; // 循環標志 int count = n / 2 + n % 2; // 循環結束判斷標識 while (count > 0) {for (int i = index; i < m; i++) { // 第1行array[0][i] = x++;}for (int i = 1; i < n; i++) { // 第m列(最后一列)array[i][m - 1] = x++;}for (int i = m; i > 0; i--) { // 第n行(最后一行)array[n - 1][i - 1] = (x++ - 1);}for (int i = n - 1; i > 0; i--) { // 第1列array[i][0] = (x++ - 2);}index++;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {System.out.print(array[i][j] + " ");}System.out.println();}System.out.println("------");count--; } */

    八、擺動序列

    【問題描述】

    如果一個序列的奇數項都比前一項大,偶數項都比前一項小,則稱為一個擺動序列。即 a[2i]<a[2i-1], a[2i+1]<a[2i]。

    小明想知道,長度為 m,每個數都是 1 到 n 之間的正整數的擺動序列一共有多少個。

    【輸入格式】

    輸入一行包含兩個整數 m,n。

    【輸出格式】

    輸出一個整數,表示答案。答案可能很大,請輸出答案除以10000的余數。

    【樣例輸入】

    3 4

    【樣例輸出】

    14

    【樣例說明】

    以下是符合要求的擺動序列:

    2 1 2

    2 1 3

    2 1 4

    3 1 2

    3 1 3

    3 1 4

    3 2 3

    3 2 4

    4 1 2

    4 1 3

    4 1 4

    4 2 3

    4 2 4

    4 3 4

    【評測用例規模與約定】

    對于 20% 的評測用例,1 <= n, m <= 5;

    對于 50% 的評測用例,1 <= n, m <= 10;

    對于 80% 的評測用例,1 <= n, m <= 100;

    對于所有評測用例,1 <= n, m <= 1000。

    解法1:dfs

    多數人都能想到:第1位,可選為[2,n]
    選定第1位(last1),開始選第2位,可選為[1,last1-1],對所有last1結果求和
    選定第2位(last2),開始選第3位,可選為[last2+1,n],對所有last2結果求和
    ……
    選定奇數位(last),開始選下一個偶數位,可選為[1,last-1],對所有last結果求和
    選定偶數位(last),開始選下一個奇數位,可選為[last+1,n],對所有last結果求和
    ……

    遞歸式為:
    dfs(last, k) = Σdfs(i, k + 1) | k為奇數,i from 1 to last-1
    dfs(last, k) = Σdfs(i, k + 1) | k為偶數,i from last+1 to n

    而遞歸起點(選定第一位,可選是2 to n)也是一個循環:

    for i in range(2, n + 1):ans = (ans + dfs(i, 1)) % MOD

    這里面有大量重復子問題,所以可以記憶型遞歸;但只能過80%的數據,因為復雜度是O(N3)

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _08_擺動序列 {private static final int MOD = 10000;private static int[][] mem = new int[1000][1000];private static int n, m;// 第k個數確定為last時,序列總數是多少// param last:確定的最后一個數// param k:last是第k個private static int dfs(int last, int k) {if (k == m)return 1;if (mem[last][k] != 0)return mem[last][k];// k是奇數,k+1是偶數,偶數位比前一個小if ((k & 1) == 1)for (int i = 1; i < last; i++)mem[last][k] = (mem[last][k] + dfs(i, k + 1)) % MOD;elsefor (int i = last + 1; i < n + 1; i++)mem[last][k] = (mem[last][k] + dfs(i, k + 1)) % MOD;return mem[last][k];}public static void main(String[] args) {Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sc.nextInt();int ans = 0;// 第一位可以選2到nfor (int i = 2; i < n + 1; i++)ans = (ans + dfs(i, 1)) % MOD;System.out.println(ans);}} /** int answer = 0; int array[] = new int[m]; for (int i = 0; i < m; i++) {f(array); // 對數組元素進行賦值if(m % 2 == 1) { // m是奇數for (int k = 2; k < m; k += 2) {if (array[k - 1] < array[k] && array[k] < array[k + 1]) {answer++;}}} else { // m是偶數for (int k = 0; k < m; k += 2) {if (array[k - 1] < array[k] && array[k] < array[k + 1]) {answer++;}}} } System.out.println(answer % 10000); */

    優化1:修改遞歸式

    這種在遞歸中加總的遞歸形態,往往可以通過優化遞歸式來改進,將遞歸式變成有匯總 or 集合的意義,就可以減少一層循環,從而把復雜度變為O(N2)

    可以從遞歸起點的那個循環考慮,我們既然要加總第1位選2到n的這若干種情況的結果,為什么不用dfs(2,1)直接表示第一位選[2,n]這所有情況的和呢?這就是集合的概念了。

    更通用地:
    k為奇數時,dfs(x,k)表示第k位選[x,n]這若干種情況的種數和;
    k為偶數時,dfs(x,k)表示第k位選[1,x]這若干種情況的種數和;
    但是怎么拆呢?技巧是拆成一個元素+一個(少了該元素的)小集合,小集合動一個變量(往往代表規模),那拆出來的元素往往可以轉換成另外一個集合。

    就本題來說,k為奇數時,dfs(x,k)可以這樣拆:

    k為偶數時,dfs(x,k)可以這樣拆:

    ?
    那么可得遞歸式:

    dfs(x, k) = dfs(x+1, k) + dfs(x-1,k+1) | k為奇數
    dfs(x, k) = dfs(x-1, k) + dfs(x+1,k+1) | k為偶數

    遞歸起點為:ans = dfs(2, 1)

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _08_擺動序列2_優化1 {private static final int MOD = 10000;private static int[][] mem = new int[1000][1000];private static int n, m;// 第k個數確定為last時,序列總數是多少// param last:確定的最后一個數// param k:last是第k個private static int dfs(int last, int k) {if (last < 1 || last > n)return 0;if (k == m) {// 奇數,return 大于等于last的個數;偶數,小于等于last的個數if ((k & 1) == 1) {mem[last][k] = n - last + 1;} else {mem[last][k] = last;}return mem[last][k];}if (mem[last][k] != 0)return mem[last][k];if ((k & 1) == 1)// 注意看這里的拆解:當前函數的含義是第k位選last~n的序列數總和,切成兩塊// 1:第k位選(last+1)到n的序列數總和,函數含義不變,第一個參數變為last+1==》dfs(last + 1, k)// 2:第k位固定為last,那么第k+1位的選擇是從1到last-1(因k+1是偶數)==》dfs(last - 1, k + 1)mem[last][k] = (dfs(last + 1, k) + dfs(last - 1, k + 1)) % MOD;else // 偶數mem[last][k] = (dfs(last - 1, k) + dfs(last + 1, k + 1)) % MOD;return mem[last][k];}public static void main(String[] args) {Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sc.nextInt();System.out.println(dfs(2, 1));}}

    優化2:改為遞推

    為什么還要優化呢?因為這樣遞歸層次太深,會超出棧空間限制。

    遞推是遞歸的逆過程,因此我們觀察上述遞歸函數的出口,就知道怎么初始化dp數組,再按照與遞歸相逆的順序逐步生成遞推數組。

    遞歸出口:

    if (k == m) {// 奇數,return 大于等于last的個數;偶數,小于等于last的個數if ((k & 1) == 1) {mem[last][k] = n - last + 1;} else {mem[last][k] = last;}return mem[last][k]; }

    轉變為數組初始化:

    //初始化最后一列 for (int x = 1; x < n + 1; x++) {if ((m & 1) == 1)dp[x][m] = n - x + 1;elsedp[x][m] = x; }

    遞歸中,列數k是逐漸增大,直至最后一列,那么遞推中,應該從最后一列反推到第一列。

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _08_擺動序列2_優化2 {private static final int MOD = 10000;private static int[][] dp;private static int n, m;public static void main(String[] args) {Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sc.nextInt();dp = new int[n + 1][m + 1];// 初始化最后一列for (int x = 1; x < n + 1; x++) {if ((m & 1) == 1)dp[x][m] = n - x + 1;elsedp[x][m] = x;}for (int k = m - 1; k > 0; k--) {// # 奇數,x從大到小遍歷if ((k & 1) == 1)for (int x = n; x > 0; x--)dp[x][k] = ((x + 1 <= n ? dp[x + 1][k] : 0) + dp[x - 1][k + 1]) % MOD;// # 偶數,x從小到大遍歷elsefor (int x = 1; x < n + 1; x++)dp[x][k] = (dp[x - 1][k] + (x + 1 <= n ? dp[x + 1][k + 1] : 0)) % MOD;}System.out.println(dp[2][1]);}}

    九、通電

    【問題描述】

    2015年,全中國實現了戶戶通電。作為一名電力建設者,小明正在幫助一帶一路上的國家通電。

    這一次,小明要幫助 n 個村莊通電,其中 1 號村莊正好可以建立一個發電站,所發的電足夠所有村莊使用。

    現在,這 n 個村莊之間都沒有電線相連,小明主要要做的是架設電線連接這些村莊,使得所有村莊都直接或間接的與發電站相通。

    小明測量了所有村莊的位置(坐標)和高度,如果要連接兩個村莊,小明需要花費兩個村莊之間的坐標距離加上高度差的平方,形式化描述為坐標為 (x_1, y_1) 高度為 h_1 的村莊與坐標為 (x_2, y_2) 高度為 h_2 的村莊之間連接的費用為

    sqrt((x_1-x_2)*(x_1-x_2)+(y_1-y_2)*(y_1-y_2))+(h_1-h_2)*(h_1-h_2)。

    在上式中 sqrt 表示取括號內的平方根。請注意括號的位置,高度的計算方式與橫縱坐標的計算方式不同。

    由于經費有限,請幫助小明計算他至少要花費多少費用才能使這 n 個村莊都通電。

    【輸入格式】

    輸入的第一行包含一個整數 n ,表示村莊的數量。

    接下來 n 行,每個三個整數 x, y, h,分別表示一個村莊的橫、縱坐標和高度,其中第一個村莊可以建立發電站。

    【輸出格式】

    輸出一行,包含一個實數,四舍五入保留 2 位小數,表示答案。

    【樣例輸入】

    4

    1 1 3

    9 9 7

    8 8 6

    4 5 4

    【樣例輸出】

    17.41

    【評測用例規模與約定】

    對于 30% 的評測用例,1 <= n <= 10;

    對于 60% 的評測用例,1 <= n <= 100;

    對于所有評測用例,1 <= n <= 1000,0 <= x, y, h <= 10000。

    【解析】:最小生成樹

    可以說是最小生成樹的裸題了——連通==樹,代價最小==最小生成
    用Kruskal算法一氣呵成。
    不過要進行一些處理:
    每個村莊看做是一個頂點,編號存儲
    兩兩組成邊,用費用做邊的權重

    做好數據處理,然后就是排序,從小到大把邊添加到最小生成樹的邊集(也不用真正添加,符合的邊把代價累加就行,不符合的邊忽略)

    符合與不符合,當然要用并查集了。

    并查集 一定要掌握。

    package simulationMatch_11_2020_2;import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Scanner;public class _09_通電 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();// 接下來 n 行,每個三個整數 x, y, hint[][] data = new int[n + 1][3];for (int i = 1; i <= n; i++) {data[i][0] = sc.nextInt();data[i][1] = sc.nextInt();data[i][2] = sc.nextInt();}// # 將原始數據處理成邊集,每兩個點一條邊,計算代價List<Edge> edges = new ArrayList<>(n * n);for (int i = 1; i <= n - 1; i++) {for (int j = i + 1; j <= n; j++) {edges.add(new Edge(i, j, cost(data[i], data[j])));}}// 對邊集排序Collections.sort(edges);// 初始化并查集工具UF uf = new UF(n);int edge_cnt = 0;double ans = 0;for (Edge e : edges) {if (uf.find(e.x) != uf.find(e.y)) {uf.union(e.x, e.y);edge_cnt++;ans += e.cost;if (edge_cnt == n - 1)break;}}System.out.printf("%.2f", ans);}/*** 封裝并查集操作*/private static class UF {int n;int[] parent;public UF(int n) {this.n = n;parent = new int[n + 1];for (int i = 1; i <= n; i++) {parent[i] = i;}}int find(int x) {if (parent[x] == x)return x;HashSet<Integer> path = new HashSet<>();while (parent[x] != x) {path.add(x);x = parent[x];}for (Integer xx : path) {parent[xx] = x;}return x;}void union(int a, int b) {parent[find(b)] = find(a);}}/*** 計算a,b兩個村莊的建設代價* * @param a* @param b* @return*/private static double cost(int[] a, int[] b) {return Math.sqrt((a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1])) + (a[2] - b[2]) * (a[2] - b[2]);}/*** 注意實現Comparable接口*/private static class Edge implements Comparable<Edge> {int x;int y;double cost;public Edge(int x, int y, double cost) {this.x = x;this.y = y;this.cost = cost;}@Overridepublic int compareTo(Edge o) {return this.cost < o.cost ? -1 : (this.cost == o.cost ? 0 : 1);}}}

    十、植樹

    【問題描述】

    小明和朋友們一起去郊外植樹,他們帶了一些在自己實驗室精心研究出的小樹苗。

    小明和朋友們一共有 n 個人,他們經過精心挑選,在一塊空地上每個人挑選了一個適合植樹的位置,總共 n 個。他們準備把自己帶的樹苗都植下去。

    然而,他們遇到了一個困難:有的樹苗比較大,而有的位置挨太近,導致兩棵樹植下去后會撞在一起。

    他們將樹看成一個圓,圓心在他們找的位置上。如果兩棵樹對應的圓相交,這兩棵樹就不適合同時植下(相切不受影響),稱為兩棵樹沖突。

    小明和朋友們決定先合計合計,只將其中的一部分樹植下去,保證沒有互相沖突的樹。他們同時希望這些樹所能覆蓋的面積和(圓面積和)最大。

    【輸入格式】

    輸入的第一行包含一個整數 n ,表示人數,即準備植樹的位置數。

    接下來 n 行,每行三個整數 x, y, r,表示一棵樹在空地上的橫、縱坐標和半徑。

    【輸出格式】

    輸出一行包含一個整數,表示在不沖突下可以植樹的面積和。由于每棵樹的面積都是圓周率的整數倍,請輸出答案除以圓周率后的值(應當是一個整數)。

    【樣例輸入】

    6

    1 1 2

    1 4 2

    1 7 2

    4 1 2

    4 4 2

    4 7 2

    【樣例輸出】

    12

    【評測用例規模與約定】

    對于 30% 的評測用例,1 <= n <= 10;

    對于 60% 的評測用例,1 <= n <= 20;

    對于所有評測用例,1 <= n <= 30,0 <= x, y <= 1000,1 <= r <= 1000。

    解法一

    【解析】:

    每個圓可以選也可以不選,但不知道哪種決策結果最大,只能先考慮暴力搜索每種情況,總可選數為2的n次方的深度優先搜索。

    某一個圓在準備選入的時候,可以判斷是否與之前已入選的圓沖突,如果沖突了,這條分支就可以不繼續了,這可以視為剪枝;但是判斷是否沖突的check函數要遍歷已入選的圓,復雜度依然高;

    【代碼1】在n等于30的時候會吃不消。

    package simulationMatch_11_2020_2;import java.util.Scanner;public class _10_植樹 {static Scanner sc = new Scanner(System.in);static int n;static int ans = 0;static Tree[] trees;static int[][] adjaTable;public static void main(String[] args) {n = sc.nextInt();initTrees();initAdjaTable();dfs(0, 0);System.out.println(ans);}/*** 初始化鄰接矩陣*/private static void initAdjaTable() {adjaTable = new int[n][n];for (int i = 0; i < n - 1; i++) {for (int j = i + 1; j < n; j++) {if (trees[i].intersected(trees[j])) {adjaTable[i][j] = 1;adjaTable[j][i] = 1;}}}}/*** 初始化每棵樹并加入數組*/private static void initTrees() {trees = new Tree[n];for (int i = 0; i < n; i++) {trees[i] = new Tree(sc.nextInt(), sc.nextInt(), sc.nextInt());}}private static void dfs(int sum, int index) {// 邊界if (index == n) {ans = Math.max(ans, sum);return;}// 2.選這棵樹(是有條件的)if (ok(index)) {trees[index].selected = true;int r = trees[index].r;dfs(sum + r * r, index + 1);trees[index].selected = false; // 回溯}// 1.不選當前這棵樹trees[index].selected = false;dfs(sum, index + 1);}private static boolean ok(int index) {for (int i = 0; i < index; i++) {// i被選入,且i與當前準備入選的index相交,則index代表的樹不能入選if (trees[i].selected && adjaTable[i][index] == 1)return false;}return true;}private static class Tree {int x, y, r;boolean selected; // 是否入選public Tree(int x, int y, int r) {this.x = x;this.y = y;this.r = r;}/** 與另一顆樹是否相交 */public boolean intersected(Tree other) {int dis = (this.x - other.x) * (this.x - other.x) + (this.y - other.y) * (this.y - other.y);return dis < (this.r + other.r) * (this.r + other.r);}}}

    優化

    優化的關鍵點在于用類似貪心的辦法(但不是貪心):將圓按半徑從大到小排序,這樣優先考慮半徑大的圓的選與不選問題;另外把“選”這個分支放在“不選”這個分支前面執行,這樣我們相信會盡早地遇到最優解。

    基于這個假設,在遞歸之前我們可以以O(N)的復雜度存儲所有圓的“半徑的平方”的后綴和,計為數組s;在遞歸函數dfs中,參數sum代表index之前的選擇策略所得到的sum,s[index]代表包括index索引及之后續所有圓的半徑的平方和,如果sum+s[index]小于等于已經求得的ans,那就不必進行任何后續的選擇試探了,可立即退出遞歸。

    實測,【代碼2】在n=30時能秒出結果。

    package simulationMatch_11_2020_2;import java.time.Duration; import java.time.Instant; import java.util.Arrays; import java.util.Scanner;public class _10_植樹2 {static Scanner sc = new Scanner(System.in);static int n;static int ans = 0;static Tree[] trees;static int[][] adjaTable;/** 半徑的平方后綴和 */static int[] suffix;public static void main(String[] args) {// Instant now = Instant.now();n = sc.nextInt();initTrees();initSuffix();initAdjaTable();dfs(0, 0);System.out.println(ans);// System.err.println("Duration:" + Duration.between(now,// Instant.now()).toMillis());}private static void initSuffix() {suffix = new int[n];suffix[n - 1] = trees[n - 1].pow_r;for (int i = n - 2; i >= 0; i--) {// 后綴和加當前項的平方suffix[i] = suffix[i + 1] + trees[i].pow_r;}}/*** 初始化鄰接矩陣*/private static void initAdjaTable() {adjaTable = new int[n][n];for (int i = 0; i < n - 1; i++) {for (int j = i + 1; j < n; j++) {if (trees[i].intersected(trees[j])) {adjaTable[i][j] = 1;adjaTable[j][i] = 1;}}}}/*** 初始化每棵樹并加入數組*/private static void initTrees() {trees = new Tree[n];for (int i = 0; i < n; i++) {trees[i] = new Tree(sc.nextInt(), sc.nextInt(), sc.nextInt());}// !!!!排序Arrays.sort(trees);}private static void dfs(int sum, int index) {// 邊界if (index == n) {ans = Math.max(ans, sum);return;}// !!!如果index之前的sum加上自index開始的半徑的平方和小于ans,則沒必要繼續if (sum + suffix[index] <= ans)return;// 2.選這棵樹(是有條件的)if (ok(index)) {trees[index].selected = true;dfs(sum + trees[index].pow_r, index + 1);trees[index].selected = false; // 回溯}// 1.不選當前這棵樹trees[index].selected = false;dfs(sum, index + 1);}private static boolean ok(int index) {for (int i = 0; i < index; i++) {// i被選入,且i與當前準備入選的index相交,則index代表的樹不能入選if (trees[i].selected && adjaTable[i][index] == 1)return false;}return true;}private static class Tree implements Comparable<Tree> {int x, y, r, pow_r;boolean selected; // 是否入選public Tree(int x, int y, int r) {this.x = x;this.y = y;this.r = r;pow_r = r * r;}/** 與另一顆樹是否相交 */public boolean intersected(Tree other) {int dis = (this.x - other.x) * (this.x - other.x) + (this.y - other.y) * (this.y - other.y);return dis < (this.r + other.r) * (this.r + other.r);}@Overridepublic int compareTo(Tree o) {return this.r - o.r;}} }

    小結

    Python組 第9題 練功

    擴展多少步達到目標,一般用bfs求解。

    bfs、dfs:走過的路 不再走。

    BufferedWriter:對輸出進行優化。緩沖式輸出,內存積累到一定量,才向控制臺進行輸出。

    總結

    以上是生活随笔為你收集整理的2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    欧美精品九九 | 玖玖玖在线| 日韩中文字幕在线 | 日韩一区在线免费观看 | 国产中文字幕三区 | 婷婷在线免费观看 | 国产成人久久久久 | 超碰在线人人97 | 欧美成人精品xxx | 久久高视频| 精品国产一区二区三区在线 | 在线观看黄色的网站 | 久草在线一免费新视频 | 国产精品久久久久久久久岛 | 伊人丁香| 日本成址在线观看 | 色在线中文字幕 | 91久久久久久国产精品 | 欧美极品xxxx| 伊人春色电影网 | 亚洲欧洲一区二区在线观看 | 国产成人精品一二三区 | 菠萝菠萝蜜在线播放 | 丝袜av网站 | 玖玖色在线观看 | 欧美性色综合 | 久久久久综合网 | 黄色影院在线免费观看 | 国产午夜一区 | 91自拍成人 | 国产亚洲精品久 | 国产精品乱码久久久 | 婷婷久久精品 | 91免费高清 | 特级毛片在线 | 日本久久精品 | 99热国产精品 | 国产破处视频在线播放 | 久久av影视 | 日韩久久久久久久久久久久 | 成人av电影免费在线播放 | 亚洲性xxxx | 99久久精品国产系列 | 8x成人免费视频 | 欧美日韩视频在线观看一区二区 | 久操视频在线播放 | 九九热免费视频在线观看 | 久久久久久久久久久影院 | 蜜桃视频日韩 | 国产资源免费 | 91精品视频在线免费观看 | 国产亚洲精品中文字幕 | 国产精品久久在线 | 天天操天天摸天天射 | 国产美女免费观看 | 亚洲一区日韩 | 欧美精品999| 97超碰在线资源 | 久久全国免费视频 | av蜜桃在线| 久久久久久毛片精品免费不卡 | 成人黄色小视频 | 亚洲精品大全 | 国产乱老熟视频网88av | 天天天在线综合网 | 色欧美88888久久久久久影院 | 狠狠躁日日躁狂躁夜夜躁 | 色婷婷综合久久久中文字幕 | 亚洲天堂网视频在线观看 | 亚洲色图激情文学 | 久久国产精品系列 | av福利第一导航 | 日韩免费观看高清 | 天天综合人人 | 精品影院| 婷婷成人亚洲综合国产xv88 | 一级黄色片在线播放 | 精品一区二区6 | 日本婷婷色 | 日韩免费一级a毛片在线播放一级 | 久久久www成人免费毛片 | www.狠狠操 | 99在线免费观看视频 | 国产精品18久久久久久久久 | 欧美人体xx| 涩涩网站免费 | 日本高清久久久 | 色婷婷成人 | 欧美精品久久99 | 婷婷新五月 | 日韩视频1 | 中文字幕在线第一页 | 成人在线观看资源 | 中文理论片 | 香蕉视频国产在线观看 | 人人dvd| 91精品国产乱码在线观看 | 免费看成人 | 51久久夜色精品国产麻豆 | 欧美作爱视频 | 黄色影院在线免费观看 | 久久黄色片 | 精品久久久国产 | 国产精品综合在线 | a黄色影院| 日韩毛片在线一区二区毛片 | 国产淫片 | 在线观看久草 | 色综合久久久久综合体桃花网 | 国产极品尤物在线 | 探花视频在线观看免费版 | 97国产精品亚洲精品 | 亚洲 中文 欧美 日韩vr 在线 | 成年人黄色免费视频 | 亚洲国产合集 | 日本爱爱免费视频 | 国产精品午夜久久 | 国产精品成人一区二区三区吃奶 | 97日日碰人人模人人澡分享吧 | 中文字幕在线观看视频免费 | 色综合 久久精品 | 99久久国产免费,99久久国产免费大片 | 一级黄色片在线免费看 | 日本久久精品 | 99久久精| 少妇激情久久 | 91cn国产在线 | 91经典在线 | 91精品国产99久久久久 | 免费看片亚洲 | 成人国产电影在线观看 | 欧美日韩精品久久久 | 激情五月婷婷丁香 | 四虎永久免费网站 | 最近2019年日本中文免费字幕 | 高清一区二区 | 91亚洲精品在线 | 91九色porny在线| 久久久久久久久久伊人 | 在线观看日本韩国电影 | 日韩欧美高清在线观看 | 西西444www大胆高清图片 | 国产999免费视频 | 日日夜夜国产 | 婷婷五月情 | 午夜在线观看一区 | 国产不卡在线视频 | 亚洲精品福利在线 | 精品人人人人 | 日日夜操 | 美女视频黄在线观看 | 色播五月激情五月 | 亚洲精品美女 | 亚洲码国产日韩欧美高潮在线播放 | 欧美日韩xxxxx | 狠狠干在线 | 美女黄网站视频免费 | 精品久久久久久综合日本 | 91福利视频免费观看 | 极品美女被弄高潮视频网站 | 国产精品一区电影 | 国产成人精品亚洲a | 欧美高清视频不卡网 | 超碰人人国产 | 久久久国产影院 | 免费观看完整版无人区 | 伊人视频 | 天天天天天天操 | 五月天天在线 | 日韩理论电影在线观看 | 天天艹天天干天天 | 日韩欧美综合在线视频 | 色综合天天综合 | 亚洲综合干 | 午夜黄色大片 | 亚洲 欧美 变态 国产 另类 | 国产精品久久久久久久7电影 | 视频一区二区视频 | 99色免费| 九九精品视频在线看 | 九九热99视频 | 色大片免费看 | 亚洲一级黄色 | 日韩欧美国产精品 | 最近日本韩国中文字幕 | 正在播放久久 | 成人小视频在线观看免费 | 久久私人影院 | 日韩久久久久久久久 | 美女福利视频一区二区 | 国产精品嫩草影视久久久 | 国产又粗又猛又色 | 国产精品网站一区二区三区 | 久久久久草 | 黄色一级大片在线免费看产 | 密桃av在线| 久久久免费视频播放 | av成人资源 | 久久久久久久久久久久久9999 | 久久国产精品二国产精品中国洋人 | 黄色软件视频大全免费下载 | 久久久午夜精品福利内容 | 久久99久久久久 | 欧美色图30p | 国产免费高清 | 九色porny真实丨国产18 | 国产精品久久久久久久妇 | 亚洲精品美女久久久久 | av资源在线看 | 麻豆视频在线观看免费 | 香蕉久久久久久av成人 | 精品欧美一区二区在线观看 | 99九九99九九九视频精品 | 久久久久成人精品免费播放动漫 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 免费在线观看av片 | 国产精品高潮久久av | 日日天天av | 精品99在线| 日韩性网站 | 久久你懂的 | 国产精品va在线观看入 | 国产一区二区高清不卡 | 国产色婷婷在线 | 欧美a级片免费看 | 久久r精品 | 国产无套视频 | 久久久久久久久久久精 | 国产夫妻av在线 | 亚洲成年人av | 成年人精品 | 欧美一级特黄aaaaaa大片在线观看 | 成人av高清在线 | 91在线麻豆 | 欧美aa一级 | 日本h在线播放 | 五月婷婷在线视频观看 | 99亚洲精品在线 | 久久夜夜爽 | 国产精品一区二区美女视频免费看 | 国产欧美日韩精品一区二区免费 | 麻豆免费精品视频 | 麻豆传媒在线免费看 | 激情网综合 | 亚洲女人天堂成人av在线 | 天天天在线综合网 | 99电影| 成人av电影免费 | 五月婷婷激情网 | 成人av在线影视 | 在线精品亚洲 | 色综合夜色一区 | 久久免费精品视频 | 亚洲理论在线观看 | 岛国av在线| 精品视频一区在线 | 亚洲精品乱码 | 99精品视频在线播放观看 | 欧美va电影 | 在线视频91 | www.97视频| 日韩精品免费在线观看 | 香蕉视频久久 | 久久99国产精品久久99 | 国产一区成人 | 精品美女在线视频 | 97精品国产97久久久久久粉红 | 九九色在线| 国产99久久久精品 | 国产日韩欧美在线观看 | 中文在线最新版天堂 | 日韩欧美高清 | 欧美成年网站 | 国产涩涩在线观看 | 天天操夜夜拍 | 在线欧美日韩 | 中文在线免费视频 | 国产精品色视频 | 免费观看性生交大片3 | 亚洲综合婷婷 | 日韩欧美精品在线视频 | 国产精品一区二区三区视频免费 | 在线亚洲欧美日韩 | 亚洲精品99久久久久久 | 精品999久久久 | av免费在线免费观看 | 久草久草在线 | 77国产精品| 欧美午夜剧场 | 国产高清视频在线免费观看 | 久久成人免费电影 | 婷婷www | 热久久精品在线 | 久久精品国产一区二区电影 | 91麻豆精品国产91久久久更新时间 | 精品成人久久 | 中文字幕免费在线看 | www.色爱 | 国产一级片免费播放 | 精品免费视频123区 午夜久久成人 | 日韩乱码在线 | 欧美ⅹxxxxxx | 人人爽人人澡 | 国产小视频免费在线观看 | 热久久免费视频 | 美女在线国产 | 亚洲欧美va | 国产一区二区三区在线 | 色婷婷狠狠五月综合天色拍 | 欧美一级看片 | 五月天婷婷在线观看视频 | 国产精品女人网站 | 欧美一区日韩一区 | 伊人亚洲综合网 | 91福利在线导航 | 日韩高清精品免费观看 | 日本中文一区二区 | 久久久久欠精品国产毛片国产毛生 | 白丝av在线 | 亚洲 综合 精品 | 中文在线字幕免费观 | 黄色大片入口 | 成人综合婷婷国产精品久久免费 | 干天天| 国产精品久久久久久久久久久久午夜 | 视频国产一区二区三区 | 国产视频 亚洲视频 | 国产又粗又猛又黄又爽 | 麻豆传媒精品 | 99精品视频免费全部在线 | 特级西西444www大精品视频免费看 | 欧美激情在线看 | 天堂av官网| 天天做日日做天天爽视频免费 | 免费在线激情电影 | 欧美日韩国产精品一区二区三区 | 色视频成人在线观看免 | 日本久久综合网 | 婷婷四房综合激情五月 | 久久久久成人免费 | 最近久乱中文字幕 | 国产精品亚州 | 黄色av一级 | 午夜精品一区二区国产 | 亚洲国产欧美一区二区三区丁香婷 | 国产大尺度视频 | 日本精品va在线观看 | 色综合久久久久综合体 | 视频一区二区国产 | 久久99久久99精品免视看婷婷 | 国产日产精品久久久久快鸭 | 国产精品2区 | 17videosex性欧美 | 日韩精品一区二区三区高清免费 | 黄网在线免费观看 | 婷婷久久一区 | 亚洲欧美乱综合图片区小说区 | 制服丝袜在线91 | 狠狠干成人 | 久久免费国产 | 欧美性色网站 | 三级视频日韩 | 丁香婷婷深情五月亚洲 | 99色免费| 中文国产字幕在线观看 | www.操.com| 欧美日产在线观看 | 国产精品入口麻豆www | 欧美性生活大片 | 亚洲天天干 | 日韩av资源在线观看 | 久久精品这里热有精品 | 国产精品自产拍在线观看网站 | 国产做爰视频 | 久久国产精彩视频 | 亚洲精品小区久久久久久 | 亚洲精品综合在线 | 欧美色图视频一区 | 国产成人在线播放 | 日韩在线网 | 狠狠插狠狠干 | 亚洲黄色小说网址 | 在线免费看黄色 | 日韩中文字幕免费视频 | 激情视频综合网 | 久久国产精品免费 | 久草9视频 | 麻豆国产电影 | 国产小视频在线看 | 国产高清不卡在线 | 久久久久久久久久久久影院 | 欧美a级成人淫片免费看 | 久久国产欧美日韩精品 | 99国产在线 | 最新中文字幕在线资源 | 亚洲激情六月 | 久久久久国产精品午夜一区 | 国产一区影院 | 国产一区二区三区免费观看视频 | 五月婷婷视频在线观看 | 五月激情视频 | 视频99爱 | 99视频精品视频高清免费 | 91精品视频免费看 | 97精品视频在线播放 | 国产九九九九九 | 久久久久久高潮国产精品视 | 天天干天天操天天搞 | 精品国产一区二区三区久久久 | 国产做aⅴ在线视频播放 | 丁香九月婷婷综合 | 欧美激情第一区 | 在线 国产 日韩 | 国产午夜三级一二三区 | 日韩免费视频一区二区 | 天天操天天干天天干 | 欧美大香线蕉线伊人久久 | 公与妇乱理三级xxx 在线观看视频在线观看 | 亚洲成人精品影院 | 在线观看av小说 | 五月婷久久 | 成人黄色国产 | 草久久久久久 | 中文字幕精品一区 | 中文字幕在线专区 | 91在线视频免费播放 | 天天干,天天射,天天操,天天摸 | 99这里精品| 国产韩国日本高清视频 | 狠狠干婷婷| 成人av中文字幕在线观看 | 国产精品入口久久 | 在线影院av | 99久久激情 | 免费观看不卡av | 国产成人区 | 97超级碰 | 久久69av | 久久婷婷色 | 久久久久成人免费 | 九九久久精品 | 亚洲伊人色 | 国产一区二区三精品久久久无广告 | 在线电影 你懂得 | 黄色aaa级片 | 韩日电影在线 | 欧美精品久久久久久久久久 | 91精品国产99久久久久久久 | 国产精品一区二区在线看 | 超级碰视频| 黄色毛片在线看 | h视频在线看| 国产不卡毛片 | 国产麻豆精品传媒av国产下载 | 欧美激情精品久久久久久变态 | 九九九热视频 | 一级黄色片毛片 | 色av婷婷| 中文字幕久久亚洲 | 91精品国产综合久久久久久久 | 免费黄a | 国产日韩欧美中文 | 黄色片亚洲 | 久久66热这里只有精品 | 亚洲国产精品99久久久久久久久 | 二区三区中文字幕 | 国产字幕在线看 | 国产自产高清不卡 | 久久只精品99品免费久23小说 | 欧美坐爱视频 | 91高清在线 | 免费观看成人av | 久久国产精品一区二区三区 | 国内精品视频一区二区三区八戒 | 日韩午夜电影网 | 久久久电影 | 中文字幕在线观看免费 | 日韩免费在线观看视频 | 国产免费一区二区三区网站免费 | 九九热中文字幕 | 色婷婷电影网 | 久久手机在线视频 | 69av视频在线| 黄色一集片 | 日本最新高清不卡中文字幕 | 天天干夜夜想 | 伊人首页| 三级av小说 | 97超碰人人模人人人爽人人爱 | 中文字幕在线播放日韩 | 国产精品国产自产拍高清av | 日韩在线观看 | 久久这里只有精品1 | 国产精品国产三级国产专区53 | 久久人人爽视频 | 天天超碰 | 亚洲黄色大片 | 在线天堂中文www视软件 | 中文字幕在线乱 | 日本激情动作片免费看 | 免费观看全黄做爰大片国产 | 黄免费在线观看 | 天天躁天天狠天天透 | 婷婷色中文网 | 外国av网 | 久久永久免费视频 | 在线视频app | 久草电影在线观看 | 中文在线a天堂 | 日韩电影中文 | 免费观看黄色av | 色婷婷a| 在线看一级片 | 网站免费黄 | 黄av免费| 在线观看日本高清mv视频 | 91在线91| 天天干天天干天天操 | 1024手机在线看| 特黄色大片| 麻豆极品 | 三级黄色片子 | 日韩av视屏 | 亚洲第一香蕉视频 | 欧美日韩国产区 | 精品一区二区免费在线观看 | 色综合天天色综合 | 天无日天天操天天干 | 国产大片黄色 | 四川bbb搡bbb爽爽视频 | 久久乐九色婷婷综合色狠狠182 | 精品视频在线视频 | 亚洲一二三在线 | 久久精品一二三区白丝高潮 | 日韩在线视 | 亚洲综合成人在线 | 国产精品九九视频 | 欧美一区二区日韩一区二区 | 欧美五月婷婷 | 久久精品久久久精品美女 | 蜜桃视频成人在线观看 | 亚洲欧洲美洲av | av在线进入| 五月婷婷深开心 | 亚洲一区二区三区毛片 | 日韩高清一区在线 | 久久综合五月天婷婷伊人 | 国内外成人在线视频 | 国产五月天婷婷 | 国产在线毛片 | 在线观看中文字幕 | 有码中文字幕在线观看 | 日韩精品中文字幕在线不卡尤物 | 久久国产精品二国产精品中国洋人 | 国产精品不卡在线观看 | 91在线视频免费播放 | 在线免费色视频 | 在线观看av不卡 | 日韩大片在线 | 日韩高清免费在线观看 | 在线免费观看不卡av | 久久玖| 亚洲高清精品在线 | 久久免费视频3 | 午夜视频在线观看一区二区三区 | 黄色a大片 | 成人免费观看网站 | 色97在线 | wwwav视频| 69亚洲视频 | 日韩videos高潮hd | 国产玖玖在线 | 亚洲视频播放 | 免费日韩高清 | 九色精品免费永久在线 | 人人狠狠综合久久亚洲婷 | 美女视频国产 | 天天操天天舔天天干 | 99精品热视频只有精品10 | 日韩成人欧美 | 在线观看岛国 | 国产自偷自拍 | 免费a级毛片在线看 | 国产一级二级在线观看 | 玖玖玖影院 | 国产精品区免费视频 | 日韩欧美在线不卡 | 亚洲精品国产精品久久99热 | 亚洲成人av在线电影 | 日韩国产精品久久久久久亚洲 | 在线看一级片 | 国产激情电影综合在线看 | 综合久久久久久 | 色综合网在线 | 久久久久久国产精品 | 人人射人人射 | 国产成人久久av免费高清密臂 | 久久国产经典 | 婷婷丁香色 | 在线中文字幕视频 | 人成免费网站 | 久久不色| 国产亚洲激情视频在线 | 午夜精品一区二区三区可下载 | 日韩电影一区二区在线 | 国产精品99久久久久久武松影视 | 亚洲综合小说电影qvod | 91精品国产高清 | av电影一区二区三区 | 91丨九色丨高潮丰满 | 欧美在线视频一区二区三区 | 黄色成人在线 | 中文字幕日韩免费视频 | 在线免费av播放 | 国产日韩精品一区二区在线观看播放 | 国产美腿白丝袜足在线av | 激情综合五月天 | 81精品国产乱码久久久久久 | 日韩黄色中文字幕 | 成人免费观看视频大全 | 欧美疯狂性受xxxxx另类 | 99久高清在线观看视频99精品热在线观看视频 | 91亚洲精品久久久久图片蜜桃 | 婷婷六月天在线 | 国产精品国产自产拍高清av | 美女av免费看 | 美女免费视频观看网站 | 久久新 | 97人人澡人人添人人爽超碰 | 婷婷婷国产在线视频 | 成人在线你懂得 | 国产精品第十页 | 久久9精品 | 又色又爽的网站 | 国产一区二区精 | 日本老少交 | 亚洲精品欧美专区 | 午夜免费福利视频 | 国产综合精品一区二区三区 | 91视频在线免费下载 | 五月天激情在线 | 精品 一区 在线 | 在线观看av大片 | 日韩欧美专区 | 久久久久亚洲国产 | 成人精品视频 | 91久久人澡人人添人人爽欧美 | 黄色大片日本免费大片 | 在线观看视频97 | 欧美一级黄色片 | 青春草视频在线播放 | 久久在线观看视频 | 亚洲黄色成人网 | 成人a视频 | 天天色影院 | 黄色三级免费观看 | 在线影视 一区 二区 三区 | 日本大尺码专区mv | 米奇影视7777 | 狠狠色丁香久久婷婷综合_中 | 在线免费观看黄网站 | 激情久久伊人 | 五月色婷| 国产精品亚洲视频 | 麻花豆传媒mv在线观看 | 天天干,天天射,天天操,天天摸 | 欧美人牲 | 亚洲欧美综合 | 日韩超碰 | 91传媒在线播放 | 91久久精品一区二区二区 | 中文字幕在线视频国产 | 欧美性色xo影院 | 狠狠干成人综合网 | 欧美国产日韩在线视频 | 精品特级毛片 | 中文字幕视频一区 | 手机在线永久免费观看av片 | 亚洲国产美女久久久久 | 久久综合狠狠狠色97 | 亚洲欧美怡红院 | 一级黄色片毛片 | 久草视频在线免费播放 | 在线免费观看国产视频 | 日本激情视频中文字幕 | 亚洲日本国产 | 亚洲一区二区视频在线播放 | 国产在线a免费观看 | 欧美精品在线视频观看 | 欧美激情精品 | 久久久精品国产一区二区三区 | 亚洲区另类春色综合小说 | 国产不卡视频 | 亚洲精品美女免费 | 中文字幕二区在线观看 | 在线观看亚洲国产精品 | 日韩精品久久久久久久电影竹菊 | 午夜视频99 | 日精品 | 亚洲人xxx| 99久久精品无免国产免费 | 精品国产成人在线影院 | 欧美激情另类 | 99视频精品免费观看, | 99婷婷| 中文字幕日韩无 | 日韩成人邪恶影片 | 看av免费| 9999在线| 欧美另类一二三四区 | 日日天天干 | 一区二区三区四区免费视频 | 精品日本视频 | 日韩高清三区 | 国产精品嫩草69影院 | 五月婷婷视频在线 | 国产成人福利在线 | 4438全国亚洲精品在线观看视频 | 91精品国自产在线观看欧美 | 国产精品视频app | 精品国产福利在线 | 91麻豆精品国产午夜天堂 | 成年人免费看片 | 九九99靖品 | 超碰在线日韩 | 99情趣网视频 | 超碰在线网 | 色欧美88888久久久久久影院 | 91亚洲精品久久久蜜桃 | 蜜桃视频精品 | 在线观看的黄色 | 亚洲精品永久免费视频 | 亚洲清纯国产 | 久久久久久毛片精品免费不卡 | 国产一区在线免费 | 日韩av五月天 | 91精品国产92久久久久 | 欧美福利久久 | 伊人黄色网 | 成 人 黄 色 视频播放1 | 天天舔天天射天天操 | 亚洲视屏一区 | 午夜精品一区二区三区可下载 | 色婷婷综合视频在线观看 | 久久精品中文 | www.黄色片网站 | 天天天操操操 | 在线日韩| 免费视频区| 亚洲国产欧洲综合997久久, | 日韩理论电影在线观看 | 欧美网站黄色 | 日韩天堂在线观看 | 一区二区三区免费在线观看视频 | 中文字幕在线观看你懂的 | 久久人人爽人人爽人人片av软件 | 一区二区三区免费 | 黄a在线看| 久久人人97超碰com | wwwwww国产| 久久精品视频在线看 | 黄色a三级 | 在线高清 | japanese黑人亚洲人4k | 国产精品99久久久久人中文网介绍 | 日韩久久久久久 | 日韩免 | 日韩专区av | 欧美日本在线视频 | 亚洲精品成人av在线 | 久久久久久久国产精品视频 | 国产精品久久久久久久99 | 欧美日韩亚洲在线 | 久久免费的精品国产v∧ | 国产又粗又猛又色 | 久久久久久蜜av免费网站 | 97超碰免费在线 | 亚洲高清资源 | 久久免费高清视频 | 91香蕉视频 mp4 | 国产女人40精品一区毛片视频 | 精品欧美一区二区精品久久 | a色视频 | 亚洲午夜久久久影院 | 日本性久久 | 亚洲精品美女久久久久 | 最近2019年日本中文免费字幕 | 在线免费黄色毛片 | 99精品免费久久久久久久久 | 久草精品在线 | 91成年视频 | 中文字幕成人网 | 黄色一级网 | 操操综合 | 西西444www| 91精品久久香蕉国产线看观看 | 欧美韩国日本在线 | 日韩精品久久一区二区 | 欧美日韩中文国产 | 欧美精品一区二区性色 | 亚洲国产中文字幕在线视频综合 | 99欧美精品 | 婷婷色网站 | 国产粉嫩在线观看 | 超碰国产人人 | 国产精品男女啪啪 | 国产精品免费大片视频 | 人人爱人人做人人爽 | 欧美专区国产专区 | www.色com| 波多野结衣动态图 | 色综合久久88色综合天天免费 | av再线观看 | www.久草.com | 麻豆传媒在线免费看 | 久操视频在线 | 国产手机精品视频 | 国产香蕉97碰碰碰视频在线观看 | 99夜色| 中国一级片在线观看 | 国产成人av综合色 | 亚洲欧美国产视频 | 免费看的黄色 | 欧美视频网址 | 日韩精品一区在线播放 | 免费日韩一区二区三区 | 九精品| 91日韩在线专区 | 日韩影视精品 | 亚洲综合日韩在线 | 久久资源在线 | 精品99视频 | 日日操日日 | 丁香婷婷射 | 精品一二 | 91精品久 | 成人av一区二区兰花在线播放 | 成人av电影免费观看 | 亚洲一区二区三区精品在线观看 | 中文字幕999 | 色婷婷免费视频 | 国产资源精品在线观看 | 色狠狠操 | 日日夜夜天天久久 | 免费男女羞羞的视频网站中文字幕 | 午夜视频在线观看网站 | 国产精品系列在线观看 | 日韩美av在线 | 欧美黄色软件 | 久久av免费 | 免费在线观看国产黄 | 久久黄色影视 | 9999亚洲 | 久久国产精品99精国产 | 国产精品久久久999 国产91九色视频 | 人人爽人人爽人人片av | 国产精品久久久久高潮 | 亚洲草视频 | 久久成人午夜视频 | 欧美天堂视频在线 | 亚洲精品美女 | 久久精品视频网 | 免费av试看| 国产视频精品免费播放 | 亚洲精品成人免费 | av三级av| 亚洲成人免费观看 | 91精品在线观看视频 | 日韩超碰在线 | 国产精品色 | 精品免费在线视频 | 国产精品xxxx18a99 | 亚洲丝袜一区二区 | 黄色视屏免费在线观看 | 日韩精品在线视频免费观看 | 亚洲精品动漫久久久久 | 日韩精品在线免费播放 | 亚洲毛片久久 | 狠狠色丁香婷婷综合橹88 | 久久大片 | 亚洲最大成人免费网站 | 久久99亚洲精品久久 | 亚洲在线视频免费 | 国内精品久久久久影院优 | 色噜噜色噜噜 | 亚洲国产免费看 | 婷婷色站| 337p日本欧洲亚洲大胆裸体艺术 | 成人一级电影在线观看 | 国产色婷婷| 黄色在线视频网址 | 一级黄色免费网站 | 开心激情网五月天 | 欧美大香线蕉线伊人久久 | 97视频人人澡人人爽 | 99视频精品全部免费 在线 | 免费观看一区二区三区视频 | 丁香花中文字幕 | 久久久国产视频 | 日本高清xxxx | 色婷婷a | 青草视频免费观看 | 在线观看的av网站 | 欧美韩国在线 | 亚洲精品a区| 日韩精品一区二区三区免费视频观看 | 免费v片 | 最近2019中文免费高清视频观看www99 | 色在线免费视频 | 麻豆视频国产 | 97精品国产 | 在线视频欧美精品 | 久草在线资源免费 | 天天色天天射综合网 | 中文字幕第一页在线 | 国产三级精品三级在线观看 | 五月激情片 | 中文字幕第一页在线视频 | 91精品一区二区三区蜜臀 | 不卡av在线免费观看 | 天天综合操 | 91精品国产福利在线观看 | 国产精品久久久久久久久久久久久 | 天天五月天色 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日韩亚洲欧美中文字幕 | 99久久精品免费看国产四区 | 国产精品久久久久久一二三四五 | 久久成 | 天天摸日日操 | 91在线免费观看国产 | 精品久久久久久亚洲 | 日韩av电影国产 | 欧美一级黄色片 | 成人av在线网址 | 亚洲精品在线免费播放 | 免费成人在线电影 | 精品久久久久国产免费第一页 | av免费电影在线 | 亚洲成av人片在线观看 | 国产综合精品一区二区三区 | 91精品视频一区 | 99国产一区二区三精品乱码 | 麻豆激情电影 | 人人艹人人 | 91香蕉国产在线观看软件 | 日韩在线观看三区 | 亚洲国产69 | 日日夜夜天天干 | 午夜av免费在线观看 | 日韩免费区 | 91成人网在线观看 | 中文字幕乱码日本亚洲一区二区 | 国产中文字幕亚洲 | 久久久久国产一区二区三区四区 | 国产性天天综合网 | 永久av免费在线观看 | 欧美一级久久久久 | 婷婷激情综合 | 久久精品久久99 | 欧美巨乳波霸 | 超碰在线最新地址 | 丁香影院在线 | 激情五月综合 | 国产手机在线播放 | 国产亚洲一区二区在线观看 | 国产999视频在线观看 | 日韩中文在线观看 | 久久午夜精品影院一区 | 91免费高清 | 国产亚洲精品久久久久秋 | 欧美一区二区三区特黄 | 91热视频 | 中文字幕中文字幕在线中文字幕三区 | 91精品视频免费观看 | 免费国产ww | 日韩系列在线观看 | 高清av网 | 91av视频在线观看 | 亚洲欧美日韩国产一区二区三区 | www久久99| 亚洲精品免费在线观看 | 久久99深爱久久99精品 | 国产精品不卡 | 成人在线免费av | 久久久综合九色合综国产精品 | 在线观看亚洲国产 | 天天射天天色天天干 | 国产精品毛片一区二区 | 天天操夜| 久久毛片网站 | 日日干美女| 久久久久这里只有精品 | 在线一区电影 | 天天草网站 | 亚洲免费黄色 | 国产精品18久久久久久久久 | 日韩欧美精品在线 |