A:Exam

Solved.

温暖的签。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int maxn = 1e3 + ;
  6.  
  7. int k;
  8. char str1[maxn], str2[maxn];
  9.  
  10. int main()
  11. {
  12. while(~scanf("%d",&k))
  13. {
  14. scanf("%s", str1 + );
  15. scanf("%s", str2 + );
  16. int cnt1 = , cnt2 = ;
  17. int len = strlen(str1 + );
  18. for(int i = ; i <= len; ++i)
  19. {
  20. if(str1[i] == str2[i]) cnt1++;
  21. else cnt2++;
  22. }
  23. int ans = ;
  24. if(cnt1 >= k)
  25. {
  26. ans = k + cnt2;
  27. }
  28. else
  29. {
  30. ans = len - (k - cnt1);
  31. }
  32. printf("%d\n", ans);
  33. }
  34. return ;
  35. }

B:Coprime Integers

Solved.

枚举gcd反演

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6.  
  7. const int maxn = 1e7 + ;
  8.  
  9. bool check[maxn];
  10. int prime[maxn];
  11. ll mu[maxn];
  12.  
  13. void Moblus()
  14. {
  15. memset(check, false, sizeof check);
  16. mu[] = ;
  17. int tot = ;
  18. for(int i = ; i < maxn; ++i)
  19. {
  20. if(!check[i])
  21. {
  22. prime[tot++] = i;
  23. mu[i] = -;
  24. }
  25. for(int j = ; j < tot; ++j)
  26. {
  27. if(i * prime[j] > maxn) break;
  28. check[i * prime[j]] = true;
  29. if(i % prime[j] == )
  30. {
  31. mu[i * prime[j]] = ;
  32. break;
  33. }
  34. else
  35. {
  36. mu[i * prime[j]] = -mu[i];
  37. }
  38. }
  39. }
  40. }
  41.  
  42. ll sum[maxn];
  43.  
  44. ll calc(int n, int m)
  45. {
  46. ll ans = ;
  47. if(n > m) swap(n, m);
  48. for(int i = , la = ; i <= n; i = la + )
  49. {
  50. la = min(n / (n / i), m / (m / i));
  51. ans += (ll)(sum[la] - sum[i - ]) * (n / i) * (m / i);
  52. }
  53. return ans;
  54. }
  55.  
  56. ll a, b, c, d;
  57.  
  58. int main()
  59. {
  60. Moblus();
  61. for(int i = ; i < maxn; ++i) sum[i] = sum[i - ] + mu[i];
  62. while(~scanf("%lld %lld %lld %lld", &a, &b, &c, &d))
  63. {
  64. ll ans = calc(b, d) - calc(a - , d) - calc(b, c - ) + calc(a - , c - );
  65. printf("%lld\n", ans);
  66. }
  67. return ;
  68. }

C:Contest Setting

Solved.

题意:

有n个题目,每个题目的难度值不同,要选出k个组成一套$Contest$

要求每个题目难度不同,求方案数

思路:

$把难度值相同的题目放在一起作为一种 dp[i][j] 表示选到第i种题目,已经选了k种的方案数$

$然后做01背包即可,注意加上的值为cnt[i] 表示该种题目有多少个$

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6.  
  7. const ll MOD = ;
  8. const int maxn = 1e3 + ;
  9.  
  10. int n, k, pos;
  11. ll cnt[maxn];
  12. ll dp[maxn];
  13. map<int, int>mp;
  14.  
  15. int main()
  16. {
  17. while(~scanf("%d %d", &n, &k))
  18. {
  19. mp.clear();
  20. pos = ;
  21. memset(cnt, , sizeof cnt);
  22. for(int i = ; i <= n; ++i)
  23. {
  24. int num;
  25. scanf("%d", &num);
  26. if(mp[num] == ) mp[num] = ++pos;
  27. int id = mp[num];
  28. cnt[id]++;
  29. }
  30. memset(dp, , sizeof dp);
  31. dp[] = ;
  32. for(int i = ; i <= pos; ++i)
  33. {
  34. for(int j = k; j >= ; --j)
  35. {
  36. dp[j] = (dp[j] + dp[j - ] * cnt[i] % MOD) % MOD;
  37. }
  38. }
  39. printf("%lld\n", dp[k]);
  40. }
  41. return ;
  42. }

D:Count The Bits

Solved.

题意:

在$[0, 2^b - 1] 中所有k的倍数以二进制形式表示有多少个1$

思路:

$dp[i][j] 表示枚举二进制位数,j 模k的余数, 表示的是前i位中模k的余数为j的数中1的个数$

$cnt[i][j] 表示当前二进制位为第i位, 模k的余数为j的数的个数$

直接转移即可。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6.  
  7. const ll MOD = (ll)1e9 + ;
  8. const int maxn = 1e3 + ;
  9.  
  10. int k, b;
  11. ll cnt[maxn][maxn];
  12. ll dp[maxn][maxn];
  13.  
  14. int main()
  15. {
  16. while(~scanf("%d %d", &k, &b))
  17. {
  18. memset(cnt, , sizeof cnt);
  19. memset(dp, , sizeof dp);
  20. cnt[][]++;
  21. cnt[][ % k]++;
  22. dp[][ % k]++;
  23. ll tmp = ;
  24. for(int i = ; i <= b; ++i)
  25. {
  26. tmp = (tmp << ) % k;
  27. for(int j = ; j < k; ++j)
  28. {
  29. //
  30. cnt[i + ][j] = (cnt[i + ][j] + cnt[i][j]) % MOD;
  31. dp[i + ][j] = (dp[i + ][j] + dp[i][j]) % MOD;
  32. //
  33. ll tmp2 = (tmp + j) % k;
  34. cnt[i + ][tmp2] = (cnt[i + ][tmp2] + cnt[i][j]) % MOD;
  35. dp[i + ][tmp2] = ((dp[i + ][tmp2] + cnt[i][j]) % MOD + dp[i][j]) % MOD;
  36. }
  37. }
  38. printf("%lld\n", dp[b][]);
  39. }
  40. return ;
  41. }
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define N 1010
  5. #define ll long long
  6. const ll MOD = (ll)1e9 + ;
  7. ll dp[N][N], cnt[N][N];
  8. int n, k;
  9.  
  10. int main()
  11. {
  12. while (scanf("%d%d", &k, &n) != EOF)
  13. {
  14. memset(dp, , sizeof dp);
  15. memset(cnt, , sizeof cnt);
  16. ++dp[][ % k];
  17. ++cnt[][ % k];
  18. ++cnt[][];
  19. ll tmp = % k;
  20. for (int i = ; i <= n; ++i)
  21. {
  22. tmp = tmp * % k;
  23. for (int j = ; j < k; ++j)
  24. {
  25. dp[i][j] = dp[i - ][j];
  26. cnt[i][j] = cnt[i - ][j];
  27. if (j - tmp >= )
  28. {
  29. dp[i][j] = (dp[i][j] + dp[i - ][j - tmp] + cnt[i - ][j - tmp]) % MOD;
  30. cnt[i][j] = (cnt[i][j] + cnt[i - ][j - tmp]) % MOD;
  31. }
  32. else
  33. {
  34. dp[i][j] = (dp[i][j] + dp[i - ][k + j - tmp] + cnt[i - ][k + j - tmp]) % MOD;
  35. cnt[i][j] = (cnt[i][j] + cnt[i - ][k + j - tmp]) % MOD;
  36. }
  37. }
  38. }
  39. printf("%lld\n", dp[n][]);
  40. }
  41. return ;
  42. }

E:Cops And Robbers

Solved.

题意:

在一个$n * m 的矩阵中,有些地方可以建墙,但是不同的墙开销不同,求最小开销把劫匪围住$

思路:

拆点最小割,但是是点权,拆点即可。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int maxn = 4e3 + ;
  6. const int INF = 0x3f3f3f3f;
  7.  
  8. struct Edge{
  9. int to, flow, nxt;
  10. Edge(){}
  11. Edge(int to, int nxt, int flow):to(to), nxt(nxt), flow(flow){}
  12. }edge[maxn << ];
  13.  
  14. int head[maxn], dep[maxn];
  15. int S,T;
  16. int N, n, m, tot;
  17.  
  18. void Init(int n)
  19. {
  20. N = n;
  21. //memset(head, -1, sizeof head);
  22. for(int i = ; i < N; ++i) head[i] = -;
  23. tot = ;
  24. }
  25.  
  26. void addedge(int u, int v, int w, int rw = )
  27. {
  28. edge[tot] = Edge(v, head[u], w); head[u] = tot++;
  29. edge[tot] = Edge(u, head[v], rw); head[v] = tot++;
  30. }
  31.  
  32. bool BFS()
  33. {
  34. //memset(dep, -1, sizeof dep);
  35. for(int i = ; i < N; ++i) dep[i] = -;
  36. queue<int>q;
  37. q.push(S);
  38. dep[S] = ;
  39. while(!q.empty())
  40. {
  41. int u = q.front();
  42. q.pop();
  43. for(int i = head[u]; ~i; i = edge[i].nxt)
  44. {
  45. if(edge[i].flow && dep[edge[i].to] == -)
  46. {
  47. dep[edge[i].to] = dep[u] + ;
  48. q.push(edge[i].to);
  49. }
  50. }
  51. }
  52. return dep[T] < ? : ;
  53. }
  54.  
  55. int DFS(int u, int f)
  56. {
  57. if(u == T || f == ) return f;
  58. int w, used = ;
  59. for(int i = head[u]; ~i; i = edge[i].nxt)
  60. {
  61. if(edge[i].flow && dep[edge[i].to] == dep[u] + )
  62. {
  63. w = DFS(edge[i].to, min(f - used, edge[i].flow));
  64. edge[i].flow -= w;
  65. edge[i ^ ].flow += w;
  66. used += w;
  67. if(used == f) return f;
  68. }
  69. }
  70. if(!used) dep[u] = -;
  71. return used;
  72. }
  73.  
  74. int Dicnic()
  75. {
  76. int ans = ;
  77. while(BFS())
  78. {
  79. int tmp = DFS(S, INF);
  80. if(tmp == INF) return -;
  81. ans += tmp;
  82. }
  83. return ans;
  84. }
  85.  
  86. int c;
  87. int C[maxn];
  88. char mp[][];
  89.  
  90. int calc(int i, int j)
  91. {
  92. return i * + j;
  93. }
  94.  
  95. int main()
  96. {
  97. while(~scanf("%d %d %d", &m, &n, &c))
  98. {
  99. int base = n * + m + ;
  100. int x, y;
  101. Init();
  102. for(int i = ; i <= n; ++i)
  103. {
  104. for(int j = ; j <= m; ++j)
  105. {
  106. scanf(" %c", &mp[i][j]);
  107. if(mp[i][j] == 'B') { x = i, y = j; }
  108. }
  109. }
  110. for(int i = ; i <= c; ++i) scanf("%d", C + i);
  111. S = , T = calc(x, y);
  112. for(int i = ; i <= n; ++i)
  113. {
  114. addedge(S, calc(i, ), INF);
  115. addedge(S, calc(i, m), INF);
  116. }
  117. for(int i = ; i <= m; ++i)
  118. {
  119. addedge(S, calc(, i), INF);
  120. addedge(S, calc(n, i), INF);
  121. }
  122. for(int i = ; i <= n; ++i)
  123. {
  124. for(int j = ; j <= m; ++j)
  125. {
  126. if(i != n)
  127. {
  128. addedge(calc(i, j) + base, calc(i + , j), INF);
  129. addedge(calc(i + , j) + base, calc(i, j), INF);
  130. }
  131. if(j != m)
  132. {
  133. addedge(calc(i, j)+ base, calc(i, j + ), INF);
  134. addedge(calc(i, j + ) + base, calc(i, j), INF);
  135. }
  136. }
  137. }
  138. for(int i = ; i <= n; ++i)
  139. {
  140. for(int j = ; j <= m; ++j)
  141. {
  142. if(mp[i][j] >= 'a' && mp[i][j] <= 'z')
  143. {
  144. addedge(calc(i, j), calc(i, j) + base, C[mp[i][j] - 'a' + ]);
  145. }
  146. else
  147. {
  148. addedge(calc(i, j), calc(i, j) + base, INF);
  149. }
  150. }
  151. }
  152. int ans = Dicnic();
  153. printf("%d\n", ans);
  154. }
  155. return ;
  156. }

F:Rectangles

Solved.

题意:

二维平面上有一些平行坐标轴的矩形,求有多少区间是被奇数个矩形覆盖。

思路:

扫描线,只是把区间加减换成区间01状态翻转,现场学扫描线可还行..

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. #define N 200010
  6. #define pii pair <int, int>
  7. int n, mx, my, bx[N], by[N];
  8. ll res;
  9. struct Rec
  10. {
  11. int x[], y[];
  12. void scan()
  13. {
  14. for (int i = ; i < ; ++i) scanf("%d%d", x + i, y + i);
  15. if (x[] > x[]) swap(x[], x[]);
  16. if (y[] > y[]) swap(y[], y[]);
  17. bx[++mx] = x[];
  18. bx[++mx] = x[];
  19. by[++my] = y[];
  20. by[++my] = y[];
  21. }
  22. }rec[N];
  23. vector <pii> v[N];
  24.  
  25. void Hash()
  26. {
  27. sort(bx + , bx + + mx);
  28. sort(by + , by + + my);
  29. mx = unique(bx + , bx + + mx) - bx - ;
  30. my = unique(by + , by + + my) - by - ;
  31. for (int i = ; i <= n; ++i)
  32. {
  33. for (int j = ; j < ; ++j)
  34. {
  35. rec[i].x[j] = lower_bound(bx + , bx + + mx, rec[i].x[j]) - bx;
  36. rec[i].y[j] = lower_bound(by + , by + + my, rec[i].y[j]) - by;
  37. }
  38. }
  39. }
  40.  
  41. namespace SEG
  42. {
  43. struct node
  44. {
  45. ll sum, val;
  46. int lazy;
  47. node () {}
  48. node (ll sum, ll val, int lazy) : sum(sum), val(val), lazy(lazy) {}
  49. void init() { sum = val = lazy = ; }
  50. node operator + (const node &other) const { return node(sum + other.sum, val + other.val, ); }
  51. void Xor() { val = sum - val; lazy ^= ; }
  52. }a[N << ];
  53. void build(int id, int l, int r)
  54. {
  55. a[id] = node(, , );
  56. if (l == r)
  57. {
  58. a[id].sum = by[l + ] - by[l];
  59. return;
  60. }
  61. int mid = (l + r) >> ;
  62. build(id << , l, mid);
  63. build(id << | , mid + , r);
  64. a[id] = a[id << ] + a[id << | ];
  65. }
  66. void pushdown(int id)
  67. {
  68. if (!a[id].lazy) return;
  69. a[id << ].Xor();
  70. a[id << | ].Xor();
  71. a[id].lazy = ;
  72. }
  73. void update(int id, int l, int r, int ql, int qr)
  74. {
  75. if (l >= ql && r <= qr)
  76. {
  77. a[id].Xor();
  78. return;
  79. }
  80. int mid = (l + r) >> ;
  81. pushdown(id);
  82. if (ql <= mid) update(id << , l, mid, ql, qr);
  83. if (qr > mid) update(id << | , mid + , r, ql, qr);
  84. a[id] = a[id << ] + a[id << | ];
  85. }
  86. }
  87.  
  88. int main()
  89. {
  90. while (scanf("%d", &n) != EOF)
  91. {
  92. mx = my = ; res = ;
  93. for (int i = ; i <= * n; ++i) v[i].clear();
  94. for (int i = ; i <= n; ++i) rec[i].scan(); Hash();
  95. for (int i = ; i <= n; ++i)
  96. {
  97. v[rec[i].x[]].emplace_back(rec[i].y[], rec[i].y[] - );
  98. v[rec[i].x[]].emplace_back(rec[i].y[], rec[i].y[] - );
  99. }
  100. n <<= ;
  101. SEG::build(, , n);
  102. for (int i = ; i < mx; ++i)
  103. {
  104. for (auto it : v[i]) SEG::update(, , n, it.first, it.second);
  105. res += (bx[i + ] - bx[i]) * SEG::a[].val;
  106. }
  107. printf("%lld\n", res);
  108. }
  109. return ;
  110. }

G:Goat on a Rope

Solved.

签到。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. double x, y;
  6. double xa, xb, ya, yb;
  7.  
  8. double calc(double xa, double ya, double xb, double yb)
  9. {
  10. return sqrt((xa - xb) * (xa - xb) + (ya - yb) * (ya - yb));
  11. }
  12.  
  13. int main()
  14. {
  15. while(~scanf("%lf %lf %lf %lf %lf %lf", &x, &y, &xa, &ya, &xb, &yb))
  16. {
  17. double ans = 1e9;
  18. if(x >= min(xa, xb) && x <= max(xa, xb)) ans = min(ans, min(fabs(y - ya), fabs(y - yb)));
  19. if(y >= min(ya, yb) && y <= max(ya, yb)) ans = min(ans, min(fabs(x - xa), fabs(x - xb)));
  20. ans = min(ans, calc(x, y, xa, ya));
  21. ans = min(ans, calc(x, y, xa, yb));
  22. ans = min(ans, calc(x, y, xb, ya));
  23. ans = min(ans, calc(x, y, xb, yb));
  24. printf("%.3f\n", ans);
  25. }
  26. return ;
  27. }

H:Repeating Goldbachs

Solved.

签到。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int maxn = 1e6 + ;
  6.  
  7. bool isprime[maxn];
  8. int prime[maxn];
  9.  
  10. void Init()
  11. {
  12. memset(isprime, true, sizeof isprime);
  13. isprime[] = isprime[] = false;
  14. for(int i = ; i < maxn; ++i)
  15. {
  16. if(isprime[i])
  17. {
  18. prime[++prime[]] = i;
  19. for(int j = i * ; j < maxn; j += i)
  20. {
  21. isprime[j] = false;
  22. }
  23. }
  24. }
  25. }
  26.  
  27. int x;
  28.  
  29. int main()
  30. {
  31. Init();
  32. while(~scanf("%d", &x))
  33. {
  34. int ans = ;
  35. while(x >= )
  36. {
  37. for(int i = ; i <= prime[]; ++i)
  38. {
  39. int tmp = prime[i];
  40. if(isprime[x - tmp])
  41. {
  42. ++ans;
  43. x = x - tmp - tmp;
  44. break;
  45. }
  46. }
  47. }
  48. printf("%d\n", ans);
  49. }
  50. return ;
  51. }

I:Inversions

Unsolved.

题意:

给出一些序列,一些位置上的数字可以在$[1, k]的范围内随便填,求如果填使得整个序列的逆序对个数最多$

J:Time Limits

Solved.

签到。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n, s;
  6.  
  7. int main()
  8. {
  9. while(~scanf("%d %d", &n, &s))
  10. {
  11. int Max = -;
  12. for(int i = ; i <= n; ++i)
  13. {
  14. int num;
  15. scanf("%d", &num);
  16. Max = max(Max, num);
  17. }
  18. Max *= s;
  19. int ans = Max / ;
  20. if(Max % ) ans++;
  21. printf("%d\n", ans);
  22. }
  23. return ;
  24. }

K:Knockout

Unsolved.

题意:

给出一个数字,然后两个骰子的点数,每次可以移掉数字当中某几位加起来的和等于两骰子点数之和

那么就可以移掉这几位,知道最后不能移位置,最后剩下的数就是分数

现在给出一中间局面,求移掉哪些,使得最后的分数期望最大以及最小

L:Liars

Solved.

签到。

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int maxn = 1e3 + ;
  6.  
  7. int n;
  8. int cnt[maxn];
  9.  
  10. int main()
  11. {
  12. while(~scanf("%d", &n))
  13. {
  14. memset(cnt, , sizeof cnt);
  15. for(int i = ; i <= n; ++i)
  16. {
  17. int ai, bi;
  18. scanf("%d %d", &ai, &bi);
  19. for(int j = ai; j <= bi; ++j)
  20. {
  21. cnt[j]++;
  22. }
  23. }
  24. int ans = -;
  25. for(int i = ; i <= n; ++i)
  26. {
  27. if(cnt[i] == i) ans = i;
  28. }
  29. printf("%d\n", ans);
  30. }
  31. return ;
  32. }

M:Mobilization

Unsolved.

题意:

$有m种军队,每种军队有h_i 属性 和 p_i属性,以及购买一支军队需要c_i的钱,每种军队可以购买无限支$

$现在你有C个单位的钱,求如何购买军队,使得\sum h_i \cdot \sum p_i 最大$

2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution的更多相关文章

  1. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A:Alphabet Solved. 签. #include<bits/stdc++.h> using namespace std; ]; ]; int main(){ scanf(); ...

  2. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A - Odd Palindrome 水. #include <bits/stdc++.h> using namespace std; #define N 110 char s[N]; i ...

  3. 2018 ICPC Pacific Northwest Regional Contest I-Inversions 题解

    题目链接: 2018 ICPC Pacific Northwest Regional Contest - I-Inversions 题意 给出一个长度为\(n\)的序列,其中的数字介于0-k之间,为0 ...

  4. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 思路: A Exam 思路:水题 代码: #include<bits ...

  5. Contest Setting 2018 ICPC Pacific Northwest Regional Contest dp

    题目:https://vj.69fa.cn/12703be72f729288b4cced17e2501850?v=1552995458 dp这个题目网上说是dp+离散化这个题目要对这些数字先处理然后进 ...

  6. 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) S Surf

    SurfNow that you've come to Florida and taken up surng, you love it! Of course, you've realized that ...

  7. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 题解

    [题目链接] A - Alphabet 最长公共子序列.保留最长公共子序列,剩余的删除或者补足即可. #include <bits/stdc++.h> using namespace st ...

  8. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) K Tournament Wins

    题目链接:http://codeforces.com/gym/101201 /* * @Author: lyucheng * @Date: 2017-10-22 14:38:52 * @Last Mo ...

  9. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    A. Odd Palindrome 所有回文子串长度都是奇数等价于不存在长度为$2$的偶回文子串,即相邻两个字符都不同. #include<cstdio> #include<cstr ...

随机推荐

  1. MySQL 密码设置

    如何修改 MySQL 密码: [root@localhost ~]$ mysqladmin -uroot password 'newPass' # 在无密码的情况下设置密码 [root@localho ...

  2. 如何设置SOLR的高亮 (highlight)?

    打开SOLR的核心配置文件: solrconfig.xml 找到 standard request handler 写入以下XML配置代码: <requestHandler name=" ...

  3. 如何在HTML中播放flash

    随着html的风靡,改变了之前前端的许多条条框框,而video的出现使flash仿佛都要退出历史的舞台了,但是h5也会出现以下局限性,比如说,在一些不支持h5的浏览器上,此处省略一万只草泥马..... ...

  4. c++11——列表初始化

    1. 使用列表初始化 在c++98/03中,对象的初始化方法有很多种,例如 int ar[3] = {1,2,3}; int arr[] = {1,2,3}; //普通数组 struct A{ int ...

  5. LeetCode——Power of Two

    Description: Given an integer, write a function to determine if it is a power of two. public class S ...

  6. 2800 送外卖[状态压缩dp]

    2800 送外卖  时间限制: 2 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 有一个送外卖的,他手上有n份订单,他 ...

  7. 使用springBoot进行快速开发

    springBoot项目是spring的一个子项目,使用约定由于配置的思想省去了以往在开发过程中许多的配置工作(其实使用springBoot并不是零配置,只是使用了注解完全省去了XML文件的配置),达 ...

  8. DES加密解密 Java中运用

    DES全称Data Encryption Standard,是一种使用密匙加密的块算法.现在认为是一种不安全的加密算法,因为现在已经有用穷举法攻破DES密码的报道了.尽管如此,该加密算法还是运用非常普 ...

  9. 三维凸包求内部一点到表面的最近距离(HDU4266)

    http://acm.hdu.edu.cn/showproblem.php?pid=4266 The Worm in the Apple Time Limit: 50000/20000 MS (Jav ...

  10. vue-cli 项目打包异常汇总

    1.打包路径错误 npm run build 之后,会发现项目目录下多了 通过 localhost 运行 index.html 会发现空白,仔细一看,是因为引用的资源位置问题 明显这个地方应该是 ./ ...