A. Game with chocolates

因为差值必须是$P$的幂,故首先可以$O(\log n)$枚举出先手第一步所有取法,判断之后的游戏是否先手必败。

对于判断,首先特判非法的情况,并假设$n<m$,则题意可理解成将$n$或者$m$减小至$n-P^k$,在$P$进制下可以理解为$n$某一位减$1$,且这一位在减之前不能是$0$。

若是将$m$减小为$n-P^k$,则整个游戏都是确定的,回合数为$n$的数位之和,根据奇偶性即可判断胜负。

但若是将$n$减小为$m-P^k$,则要求$n$和$m$位数相同且最高位相等,这意味着进行这步操作后之后不能再进行这一步操作,先手可以利用这一步来使自己必胜。

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. typedef long long ll;
  5. ll P,n,m,k,a[99],b[99];
  6. bool check(ll n,ll m){
  7. if(n>m)swap(n,m);
  8. ll k=m-n;
  9. if(m/k%P==0)return 1;
  10. while(k%P==0)k/=P;
  11. if(k>1)return 1;
  12. if(!n)return 0;
  13. int la=0,lb=0;
  14. while(n)a[++la]=n%P,n/=P;
  15. while(m)b[++lb]=m%P,m/=P;
  16. if(la==lb&&a[la]==b[lb])return 1;
  17. for(int i=2;i<=la;i++)a[1]+=a[i];
  18. return a[1]%2;
  19. }
  20. int main(){
  21. scanf("%lld%lld%lld",&P,&n,&m);
  22. for(k=1;k<=n;k*=P)if(n-k<m)if(!check(n,n-k)){
  23. puts("YES");
  24. printf("%lld %lld",n,n-k);
  25. return 0;
  26. }
  27. for(k=1;k<=m;k*=P)if(m-k<n)if(!check(m-k,m)){
  28. puts("YES");
  29. printf("%lld %lld",m-k,m);
  30. return 0;
  31. }
  32. puts("NO");
  33. }

  

B. Birches

将相同的数合并,然后调和级数$O(n\log n)$枚举即可。

  1. #include<cstdio>
  2. const int N=111111;
  3. int n,m,k,i,j,x,l,r,f[N];long long ans;
  4. int main(){
  5. scanf("%d%d",&n,&k);
  6. while(n--){
  7. scanf("%d",&x);
  8. f[x]++;
  9. }
  10. n=100000;
  11. for(i=1;i<=n;i++)if(f[i]&&k<i)
  12. for(l=k;l<=n;l+=i)ans+=1LL*f[i]*f[l];
  13. printf("%lld",ans);
  14. }

  

C. Ancient CBS

按平方数分解构造。

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<string.h>
  4. #include<string>
  5. #include<ctype.h>
  6. #include<math.h>
  7. #include<set>
  8. #include<map>
  9. #include<vector>
  10. #include<queue>
  11. #include<bitset>
  12. #include<algorithm>
  13. #include<time.h>
  14. using namespace std;
  15. void fre() { }
  16. #define MS(x, y) memset(x, y, sizeof(x))
  17. #define ls o<<1
  18. #define rs o<<1|1
  19. typedef long long LL;
  20. typedef unsigned long long UL;
  21. typedef unsigned int UI;
  22. template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
  23. template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
  24. const int N = 1e5 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
  25. template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
  26. int casenum, casei;
  27. int n;
  28. char s[(int)3e5];
  29. int h, t;
  30. void solve(int w, int st)
  31. {
  32. for(int i = st; w >= i; ++i)
  33. {
  34. s[t++] = '(';
  35. s[t++] = ')';
  36. w -= i;
  37. }
  38. if(w == 0)return;
  39. s[--h] = '(';
  40. s[t++] = ')';
  41. if(--w == 0)return;
  42. solve(w, 2);
  43. }
  44. int main()
  45. {
  46. while(~scanf("%d", &n))
  47. //for(int x = 1, n = 1e9 - x; x <= 1000000; ++x, --n)
  48. {
  49. h = t = 1e5; s[t] = 0;
  50. solve(n, 1); s[t] = 0;
  51. puts(s + h);
  52. /*printf("%d\n", t - h);
  53. if(t - h > 1e5)
  54. {
  55. puts("NO");
  56. while(1);
  57. }*/
  58. }
  59. return 0;
  60. }
  61. /*
  62. 【trick&&吐槽】
  63.  
  64. 【题意】
  65.  
  66. 【分析】
  67.  
  68. 【时间复杂度&&优化】
  69.  
  70. */

  

D. Interactive lock

爆搜得出方案即可。

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<string.h>
  4. #include<string>
  5. #include<ctype.h>
  6. #include<math.h>
  7. #include<set>
  8. #include<map>
  9. #include<vector>
  10. #include<queue>
  11. #include<bitset>
  12. #include<algorithm>
  13. #include<time.h>
  14. using namespace std;
  15. void fre() { }
  16. #define MS(x, y) memset(x, y, sizeof(x))
  17. #define ls o<<1
  18. #define rs o<<1|1
  19. typedef long long LL;
  20. typedef unsigned long long UL;
  21. typedef unsigned int UI;
  22. template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
  23. template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
  24. const int N = 1e5 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
  25. template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
  26. int casenum, casei;
  27. int n;
  28. int a[100] = {0,
  29. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 22, 24, 14, 18, 16, 17, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 78, 44, 45, 46, 47, 48, 49, 50, 51, 100, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 98, 92, 97, 99, 96};
  30. int top = 96;
  31.  
  32. /*
  33. bool e[N];
  34. int p[N];
  35. int v[N];
  36. void prime()
  37. {
  38. int g = 0;
  39. int k = 0;
  40. for(int i = 2; i <= 10000; ++i)
  41. {
  42. if(!e[i])
  43. {
  44. p[++g] = i;
  45. for(int j = i + i; j <= 10000; j += i)
  46. {
  47. e[j] = 1;
  48. }
  49. }
  50. else
  51. {
  52. v[++k] = i;
  53. }
  54. }
  55. }
  56. */
  57.  
  58. set<int>can;
  59. bool dfs(int g, vector<int>rst)
  60. {
  61. if(rst.size() == 0)
  62. {
  63. puts("bingo");
  64. printf("%d\n", g - 1);
  65. for(int i = 1; i < g; ++i)printf("%d, ", a[i]); puts("");
  66. return 1;
  67. }
  68. set<int>::iterator it, nit;
  69. for(it = can.begin(); it != can.end(); it = nit)
  70. {
  71. if(*it > rst.front())return 0;
  72. vector<int>nxt;
  73. for(auto x : rst)if(x % *it)
  74. {
  75. nxt.push_back(x - *it);
  76. }
  77. a[g] = *it;
  78. nit = it; ++nit;
  79. can.erase(a[g]);
  80. if(dfs(g + 1, nxt))return 1;
  81. can.insert(a[g]);
  82. }
  83.  
  84. /*for(auto it : can)
  85. {
  86. if(it > rst.front())return 0;
  87. vector<int>nxt;
  88. for(auto x : rst)if(x % it)
  89. {
  90. nxt.push_back(x - it);
  91. }
  92. a[g] = it;
  93. can.erase(a[g]);
  94. if(dfs(g + 1, nxt))return 1;
  95. can.insert(a[g]);
  96. }*/
  97. return 0;
  98. }
  99.  
  100. void solve()
  101. {
  102. for(int i = 2; i <= 100; ++i)can.insert(i);
  103. vector<int>rst;
  104. for(int i = 100; i <= 10000; ++i)rst.push_back(i);
  105. dfs(1, rst);
  106. }
  107.  
  108. bool guess(int x)
  109. {
  110. for(int i = 1; i <= top; ++i)
  111. {
  112. if(a[i] > x)
  113. {
  114. printf("%d\n", x);
  115. return 0;
  116. }
  117. if(x % a[i] == 0)return 1;
  118. x -= a[i];
  119. }
  120. return 0;
  121. }
  122.  
  123. int main()
  124. {
  125. //prime();
  126. //solve();
  127. int T; scanf("%d", &T);
  128. while(T--)
  129. {
  130. for(int i = 1; i <= top; ++i)
  131. {
  132. printf("%d\n", a[i]); fflush(stdout);
  133. char s[10]; scanf("%s", s);
  134. if(s[0] == 'Y')break;
  135. }
  136. }
  137.  
  138. /*
  139. for(int i = 100; i <= 10000; ++i)
  140. {
  141. if(!guess(i))
  142. {
  143. printf("%d\n", i);
  144. }
  145. }
  146. puts("haha");
  147. */
  148.  
  149. return 0;
  150. }
  151. /*
  152. 【trick&&吐槽】
  153.  
  154. 【题意】
  155.  
  156. 【分析】
  157.  
  158. 【时间复杂度&&优化】
  159.  
  160. */

  

E. Interval divisibility

对于每个约数计算贡献,分段求和即可。

时间复杂度$O(\sqrt{n})$。

  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. typedef long long ll;
  5. const ll P=1000000007,inv2=(P+1)/2;
  6. ll f(ll n){
  7. n%=P;
  8. return n*(n+1)%P*inv2%P;
  9. }
  10. ll cal(ll n){
  11. ll ret=0;
  12. for(ll i=1;i<=n;){
  13. ll j=n/(n/i);
  14. ret+=f(n/i)*((i+j)%P)%P*((j-i+1)%P)%P*inv2%P;
  15. ret%=P;
  16. i=j+1;
  17. }
  18. return ret;
  19. }
  20. int main(){
  21. ll l,r;
  22. cin>>l>>r;
  23. ll ans=cal(r)-cal(l-1);
  24. ans=ans%P;
  25. ans=ans+P;
  26. ans%=P;
  27. cout<<ans;
  28. }

  

F. A trick

分类讨论。

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<string.h>
  4. #include<string>
  5. #include<ctype.h>
  6. #include<math.h>
  7. #include<set>
  8. #include<map>
  9. #include<vector>
  10. #include<queue>
  11. #include<bitset>
  12. #include<algorithm>
  13. #include<time.h>
  14. using namespace std;
  15. void fre() { }
  16. #define MS(x, y) memset(x, y, sizeof(x))
  17. #define ls o<<1
  18. #define rs o<<1|1
  19. typedef long long LL;
  20. typedef unsigned long long UL;
  21. typedef unsigned int UI;
  22. template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
  23. template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
  24. const int N = 1e5 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
  25. template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
  26. int casenum, casei;
  27. int n;
  28. int main()
  29. {
  30. while(~scanf("%d", &n))
  31. {
  32. if(n == 0)
  33. {
  34. puts("-1");
  35. continue;
  36. }
  37. int x = n;
  38. int sum = 0;
  39. while(x)
  40. {
  41. sum += x % 10;
  42. x /= 10;
  43. }
  44. if(sum == 9 * 9)
  45. {
  46. puts("-1");
  47. }
  48. else
  49. {
  50. int tmp1 = sum;
  51. int v1 = 0;
  52. while(tmp1)
  53. {
  54. int can = min(tmp1, 9);
  55. tmp1 -= can;
  56. v1 = v1 * 10 + can;
  57. }
  58.  
  59. int tmp2 = sum;
  60. int v2 = 0;
  61. bool flag = 1;
  62. while(tmp2)
  63. {
  64. int can = min(tmp2, 9 - flag);
  65. flag = 0;
  66. tmp2 -= can;
  67. v2 = v2 * 10 + can;
  68. }
  69. if(v1 != n)printf("%d\n", v1);
  70. else if(v2 != n)printf("%d\n", v2);
  71. else printf("%d0\n", v1);
  72. }
  73. }
  74. return 0;
  75. }
  76. /*
  77. 【trick&&吐槽】
  78.  
  79. 【题意】
  80.  
  81. 【分析】
  82.  
  83. 【时间复杂度&&优化】
  84.  
  85. */

  

G. Highest ratings year

首先求出所有路径长度之和,并直接除以$2$,那么奇数长度的路径会算错,故再算出奇数长度的路径数即可。

时间复杂度$O(n)$。

  1. #include<cstdio>
  2. typedef long long ll;
  3. const int N=100010;
  4. int n,i,x,y,g[N],v[N<<1],nxt[N<<1],ed;
  5. int cnt[2],d[N],size[N];
  6. ll ans;
  7. inline void add(int x,int y){v[++ed]=y;nxt[ed]=g[x];g[x]=ed;}
  8. void dfs(int x,int y){
  9. d[x]=d[y]^1;
  10. cnt[d[x]]++;
  11. size[x]=1;
  12. for(int i=g[x];i;i=nxt[i])if(v[i]!=y){
  13. dfs(v[i],x);
  14. size[x]+=size[v[i]];
  15. ans+=1LL*size[v[i]]*(n-size[v[i]]);
  16. }
  17. }
  18. int main(){
  19. scanf("%d",&n);
  20. for(i=1;i<n;i++)scanf("%d%d",&x,&y),add(x,y),add(y,x);
  21. dfs(1,0);
  22. ll odd=1LL*cnt[0]*cnt[1];
  23. ans/=2;
  24. ans+=odd-odd/2;
  25. printf("%lld",ans);
  26. }

  

H. Spells

设$f[i][j]$表示考虑$S$前$i$个位置,被一路交换过来的字符是$j$能匹配成功的字符串个数,当且仅当$j$和当前字符不相同时才进行转移。

那么转移可以写成矩阵的形式,快速幂计算。

对于矩阵的构造,注意到每次单个字符的转移矩阵与$E$相比只有常数个位置不同,故可以利用这点在$O(26)$时间内计算矩阵乘法。

时间复杂度$O(26\sum|S|+n26^3\log k)$。

  1. #include<cstdio>
  2. #include<cstring>
  3. #define rep(i) for(int i=0;i<N;i++)
  4. const int N=28,P=1000000007;
  5. int n,m,K,f[N],g[N][N];char s[10010];
  6. inline void mul(){
  7. static int h[N][N];
  8. rep(i)rep(j)h[i][j]=0;
  9. rep(i)rep(j)if(g[i][j])rep(k)if(g[j][k])h[i][k]=(1LL*g[i][j]*g[j][k]+h[i][k])%P;
  10. rep(i)rep(j)g[i][j]=h[i][j];
  11. }
  12. inline void apply(){
  13. static int h[N];
  14. rep(i){
  15. h[i]=0;
  16. rep(j)h[i]=(1LL*g[i][j]*f[j]+h[i])%P;
  17. }
  18. rep(i)f[i]=h[i];
  19. }
  20. inline void gao(int x){//2..27
  21. //w[x][0]=1
  22. //w[x][x]=P-1
  23. //w[0][1]=1
  24. //w[0][x]=P-1
  25. //w[1][x]=P-1
  26. //w[1][0]=1
  27. static int h[N][N];
  28. rep(i){
  29. h[0][i]=g[0][i];
  30. h[1][i]=g[1][i];
  31. h[x][i]=g[x][i];
  32. }
  33. rep(i){
  34. g[x][i]=(h[0][i]+g[x][i])%P;
  35. g[x][i]=(1LL*(P-1)*h[x][i]+g[x][i])%P;
  36. g[0][i]=(h[1][i]+g[0][i])%P;
  37. g[0][i]=(1LL*(P-1)*h[x][i]+g[0][i])%P;
  38. g[1][i]=(1LL*(P-1)*h[x][i]+g[1][i])%P;
  39. g[1][i]=(h[0][i]+g[1][i])%P;
  40. }
  41. }
  42. int main(){
  43. scanf("%d",&n);
  44. f[0]=1;
  45. //1:sum = 2+...+27
  46. while(n--){
  47. scanf("%s%d",s,&K);
  48. m=strlen(s);
  49. rep(i)rep(j)g[i][j]=i==j;
  50. for(int i=0;i<m;i++)gao(s[i]-'a'+2);
  51. for(;K;K>>=1,mul())if(K&1)apply();
  52. }
  53. printf("%d",f[0]);
  54. }
  55. /*
  56. 7
  57. a 1
  58. n 1
  59. g 1
  60. n 1
  61. g 1
  62. a 1
  63. n 1
  64.  
  65. 6
  66. a 1
  67. n 1
  68. g 1
  69. n 1
  70. g 1
  71. an 1
  72. */

  

I. Silver table

$n$的方案为将$n-1$的方案复制后放在上下左右四个地方,并将右上块和左下块全体加$2^k-1$,再将左下块反对角线全体加$2^k-1$得到。

  1. #include<cstdio>
  2. const int N=3222;
  3. int i,j,k,n,f[N][N];
  4. int main(){
  5. f[1][1]=1;
  6. for(i=2;i<=11;i++){
  7. int len=1<<(i-1);
  8. int hal=len/2;
  9. for(j=1;j<=hal;j++)for(k=1;k<=hal;k++){
  10. f[j+hal][k+hal]=f[j][k];
  11. f[j+hal][k]=f[j][k+hal]=f[j][k]+len-1;
  12. }
  13. for(j=1;j<=hal;j++)f[j+hal][j]+=len-1;
  14. }
  15. scanf("%d",&n);
  16. n=1<<n;
  17. for(i=1;i<=n;i++){
  18. for(j=1;j<=n;j++)printf("%d ",f[i][j]);
  19. puts("");
  20. }
  21. }

  

J. Soldier’s life

问题等价于找两条间距最小的平行线夹住所有点,故求出凸包后枚举每条边求出最远点即可。

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<set>
  4. #include<cmath>
  5. using namespace std;
  6. typedef double DB;
  7. const int N=10000;
  8. const DB eps = 1e-9, pi = acos(-1.0);
  9. DB ans=1e100;
  10. int n,m,i;
  11. struct PT{
  12. DB x, y;
  13. PT(DB x = 0, DB y = 0):x(x), y(y){}
  14. void input(){scanf("%lf%lf", &x, &y);}
  15. PT operator-(const PT&p)const{return PT(x-p.x,y-p.y);}
  16. PT operator+(const PT&p)const{return PT(x+p.x,y+p.y);}
  17. PT operator*(double p)const{return PT(x*p,y*p);}
  18. PT operator/(double p)const{return PT(x/p,y/p);}
  19. bool operator < (const PT &p) const{
  20. if(fabs(x - p.x) > eps) return x < p.x; return y < p.y;}
  21. void output(){printf("%.15f %.15f\n", x, y);}
  22. DB len()const{return hypot(x,y);}
  23. PT rot90()const{return PT(-y,x);}
  24. PT trunc(double l)const{return (*this)*l/len();}
  25. }a[N],b[N],c[N],fina,finb,f[N],fin[N];
  26. DB lim=1e100;
  27. DB cross(const PT&a,const PT&b){return a.x*b.y-a.y*b.x;}
  28. DB vect(PT p, PT p1, PT p2){
  29. return (p1.x - p.x) * (p2.y - p.y) - (p1.y - p.y) * (p2.x - p.x);
  30. }
  31. int convex_hull(PT *p, int n, PT *q){
  32. int i, k, m; sort(p, p + n); m = 0;
  33. for(i = 0; i < n; q[m++] = p[i++])
  34. while(m > 1 && vect(q[m - 2], q[m - 1], p[i]) < eps) m --;
  35. k = m;
  36. for(i = n - 2; i >= 0; q[m ++] = p[i --])
  37. while(m > k && vect(q[m - 2], q[m - 1], p[i]) < eps) m --;
  38. return --m;
  39. }
  40. void solve(PT A,PT B){
  41. DB mx=0;
  42. for(int i=0;i<n;i++)mx=max(mx,fabs(cross(a[i]-A,B-A)));
  43. mx/=(B-A).len();
  44. mx/=2;
  45. if(mx<ans){
  46. ans=mx;
  47. fina=A;
  48. finb=B;
  49. }
  50. }
  51. PT line_intersection(PT a,PT b,PT p,PT q){
  52. double U=cross(p-a,q-p),D=cross(b-a,q-p);
  53. return a+(b-a)*(U/D);
  54. }
  55. void gao(PT A,PT B){
  56. PT fa=A-B;
  57. fa=fa.rot90();
  58. DB ret=0;
  59. for(int i=0;i<n;i++){
  60. PT C=a[i],D=C+fa;
  61. PT now=line_intersection(A,B,C,D);
  62. DB dis=(now-C).len();
  63. ret=max(ret,dis);
  64. f[i]=now;
  65. }
  66. if(ret<lim){
  67. lim=ret;
  68. for(int i=0;i<n;i++)fin[i]=f[i];
  69. }
  70. }
  71. int main(){
  72. scanf("%d",&n);
  73. for(i=0;i<n;i++)a[i].input(),b[i]=a[i];
  74. m=convex_hull(b,n,c);
  75. for(i=0;i<m;i++)solve(c[i],c[(i+1)%m]);
  76. PT tmp=finb-fina;
  77. tmp=tmp.rot90();
  78. tmp=tmp.trunc(ans);
  79. gao(fina+tmp,finb+tmp);
  80. gao(fina-tmp,finb-tmp);
  81. printf("%.10f\n",lim);
  82. for(i=0;i<n;i++)fin[i].output();
  83. }

  

K. Casino

DP,$f[n][m]$表示还剩$n$张红卡,$m$张黑卡的最大期望收益。

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. const int N=111;
  5. int n,m;double f[N][N];bool v[N][N];
  6. double dfs(int n,int m){
  7. if(!n&&!m)return 0;
  8. if(v[n][m])return f[n][m];
  9. v[n][m]=1;
  10. double ret=0;
  11. if(n)ret+=(dfs(n-1,m)+1)*n;
  12. if(m)ret+=(dfs(n,m-1)-1)*m;
  13. return f[n][m]=max(ret/(n+m),0.0);
  14. }
  15. int main(){
  16. scanf("%d%d",&n,&m);
  17. printf("%.15f",dfs(n,m));
  18. }

  

BSUIR Open Finals的更多相关文章

  1. HDU-AcmKeHaoWanLe训练实录

    菜鸡队训练实录. 现场赛记录:[名称:奖项/排名] 2017: ICPC Shenyang:Gold/3 CCPC Hangzhou:Gold/3 ICPC Beijing:Gold/13 CCPC ...

  2. Lesnoe Ozero 2016. BSUIR Open 2016 Finals

    A. Street magic 数位DP,设$f[i][j][k]$表示从低到高考虑$x$的后$i$位,$x$和$m$大小关系为$j$,和$n$大小关系为$k$的方案数. #include<cs ...

  3. ACM - ICPC World Finals 2013 F Low Power

    原题下载:http://icpc.baylor.edu/download/worldfinals/problems/icpc2013.pdf 题目翻译: 问题描述 有n个机器,每个机器有2个芯片,每个 ...

  4. Codeforces Round #342 (Div. 2) D. Finals in arithmetic 贪心

    D. Finals in arithmetic 题目连接: http://www.codeforces.com/contest/625/problem/D Description Vitya is s ...

  5. ACM - ICPC World Finals 2013 C Surely You Congest

    原题下载:http://icpc.baylor.edu/download/worldfinals/problems/icpc2013.pdf 题目翻译: 试题来源 ACM/ICPC World Fin ...

  6. ACM - ICPC World Finals 2013 A Self-Assembly

    原题下载 : http://icpc.baylor.edu/download/worldfinals/problems/icpc2013.pdf 这道题其实是2013年我AC的第一道题,非常的开心,这 ...

  7. [ahu 1248] NBA Finals

    NBA Finals Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MBTotal Submission: 251 ...

  8. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  9. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)

    Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) 说一点东西: 昨天晚上$9:05$开始太不好了,我在学校学校$9:40$放 ...

随机推荐

  1. python14 1.带参装饰器 | wrapper 了了解 # 2.迭代器 ***** # 可迭代对象 # 迭代器对象 # for迭代器 # 枚举对象

    ## 复习 '''函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...

  2. busybox(四)完善

    目录 busybox(四)完善 proc挂载 手动挂载 proc解析 使用脚本自动挂载 使用mount-a挂载 udev/mdev 挂载 使用jffs2 文件系统格式 安装zlib 安装jffs2 生 ...

  3. django - 总结 - 中间件

    中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影响到性能. MID ...

  4. A fine property of the non-empty countable dense-in-self set in the real line

    A fine property of the non-empty countable dense-in-self set in the real line   Zujin Zhang School o ...

  5. Maven安装及配置

    第1部分 准备 1.1 安装JDK和Eclipse: 1.2 下载Maven(https://maven.apache.org/download.cgi) 第2部分 2.1 安装Maven 2.1.1 ...

  6. UE4渲染笔记

    Lightmass 实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用. 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果. 文档上是 li ...

  7. C#任务同步

    using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; using ...

  8. springMVC源码笔记

    springMVC 设计总览 下图来源:https://www.cnblogs.com/fangjian0423/p/springMVC-directory-summary.html 下图来源:htt ...

  9. Beta冲刺(1/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(1/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 团队完成测试答辩 整理博客 复习接口 接下来的 ...

  10. zabbix3.2监控rabbitmq集群

    监控模板和脚本github地址:https://github.com/jasonmcintosh/rabbitmq-zabbix/tree/master/scripts/rabbitmq .将rabb ...