solve 4/11

A Erase Numbers II

Code:KK

Thinking :KK

用ans表示当前最优答案,maxx表示遍历到的最大数字,一开始ans肯定等于a[ 1 ]+a[ 2 ],然后每次往后找,都把当前的a [ j ]拼到maxx后面,然后和答案比较,每次也更新maxx,时间复杂度o(n)

注意数据是1e19,会爆long long,用unsigned long long 就可以过。

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<cstring>
  4. #include<iostream>
  5. #define CLR(a,b) memset(a,b,sizeof(a));
  6. const int inf=0x3f3f3f3f;
  7. using namespace std;
  8. typedef unsigned long long ll;
  9. const int maxn= ;
  10. int T;
  11. int n;
  12. ll a[maxn],maxx,ans;
  13. int d[maxn];
  14. void cut(int i,ll val){
  15. d[i]=;
  16. while(val>)
  17. {
  18. val/=;
  19. d[i]++;
  20. }
  21. if(d[i]==)d[i]=;
  22. }
  23. int main(){
  24. cin>>T;
  25. int cat=;
  26. while(T--)
  27. {
  28. cin>>n;
  29. for(int i=;i<=n;i++)
  30. {
  31. //scanf("%lld",&a[i]);
  32. cin>>a[i];
  33. cut(i,a[i]);
  34. }
  35. maxx=max(a[],a[]);
  36. ans=a[];
  37. int time=d[];
  38. while(time--){
  39. ans*=;
  40. }
  41. ans+=a[];
  42. for(int j=;j<=n;j++)
  43. {
  44. ll temp=;
  45. temp =maxx;
  46. time=d[j];
  47. while(time--)
  48. {
  49. temp*=;
  50. }
  51. temp+=a[j];
  52. ans=max(ans,temp);
  53. maxx=max(maxx,a[j]);
  54. }
  55. printf("Case #%d: ",cat++);
  56. cout<<ans;
  57. printf("\n");
  58. }
  59. }

B Erase Numbers I

Code :zz

Thinking:zz

题意:给出一串数(>=3),要求删除两个数,使得剩下的数拼接起来后最大。

删除的两个必然是长度最短的,先找出最短的数的长度,然后从前往后遍历数组,遇到长度最短的数就开始判断,如果发现拿走这个数后,总体的字典序是增加的,就去掉,并break;否则不去掉。如果长度最短的数至少有两个,那再进行一次上一步操作。在上两次操作中,如果有一次的操作进行了但却没有删除数,那就删掉数组最后面的长度最短的数。如果长度最短的数只有一个,那么进行类似第一步操作删除长度次短的数,如果没有删除数,那就删除数组最靠后的长度次短的数。

  1. //#pragma comment(linker, "/STACK:102400000,102400000")
  2. #include<iostream>
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include<string.h>
  6. #include<string>
  7. #include<math.h>
  8. #include<cmath>
  9. #include<time.h>
  10. #include<map>
  11. #include<set>
  12. #include<vector>
  13. #include<queue>
  14. #include<algorithm>
  15. #include<numeric>
  16. #include<stack>
  17. #include<bitset>
  18. const int inf = 0x3f3f3f3f;
  19. using namespace std;
  20. typedef long long ll;
  21. struct s
  22. {
  23. long long num;
  24. int len;
  25. bool flag;
  26. }z[];
  27. int c1[], cc[];
  28. int main(void)
  29. {
  30. //ios::sync_with_stdio(false);
  31. int T, n, i, N = , id, len, sum, id2, len2, cnt1, j, ss, k, cntcc;
  32. long long tmp, tmp1, tmp2, z1, z2;
  33. int zz, ttmp;
  34. scanf("%d", &T);
  35. while (T--)
  36. {
  37. scanf("%d", &n);
  38. id = -;
  39. sum = ;
  40. id2 = -;
  41. cnt1 = ;
  42. for (i = ; i < n; i++)
  43. {
  44. scanf("%lld", &z[i].num);
  45. z[i].len = ;
  46. z[i].flag = true;
  47. tmp = z[i].num;
  48. cntcc = ;
  49. while (tmp)
  50. {
  51. cc[cntcc++] = tmp % ;
  52. tmp /= ;
  53. z[i].len++;
  54. }
  55. for (j = z[i].len - ; j >= ; j--)
  56. {
  57. c1[cnt1++] = cc[j];
  58. }
  59. if (id == -)
  60. {
  61. id = i;
  62. len = z[i].len;
  63. sum = ;
  64. }
  65. else if (len > z[i].len)
  66. {
  67. len = z[i].len;
  68. id = i;
  69. sum = ;
  70. }
  71. else if (len == z[i].len)
  72. {
  73. sum++;
  74. }
  75. }
  76. if (sum == )
  77. {
  78. for (i = ; i < n; i++)
  79. {
  80. if (len != z[i].len)
  81. {
  82. if (id2 == -)
  83. {
  84. id2 = i;
  85. len2 = z[i].len;
  86. }
  87. else if (len2 > z[i].len)
  88. {
  89. id2 = i;
  90. len2 = z[i].len;
  91. }
  92. }
  93. }
  94. }
  95. ss = ;
  96. z1 = ;
  97. for (i = ; i < n - && ss > ; i++)
  98. {
  99. z1 += z[i].len;
  100. if (z[i].len == len)
  101. {
  102. z2 = z1;
  103. for (j = i + ; j < n; j++)
  104. {
  105. z2 += z[j].len;
  106. if (z[j].flag)
  107. {
  108. break;
  109. }
  110. }
  111. zz = ;
  112. for (k = ;; k++)
  113. {
  114. if (z1 - z[i].len + k > cnt1 || z2 - z[j].len + k > cnt1)
  115. {
  116. break;
  117. }
  118. if (c1[z1 - z[i].len + k] > c1[z2 - z[j].len + k])
  119. {
  120. zz = ;
  121. break;
  122. }
  123. if (c1[z1 - z[i].len + k] < c1[z2 - z[j].len + k])
  124. {
  125. zz = ;
  126. break;
  127. }
  128. }
  129. if (zz == )
  130. {
  131. z[i].flag = false;
  132. ss--;
  133. }
  134. }
  135. }
  136. z1 = ;
  137. for (i = ; i < n - && ss; i++)
  138. {
  139. z1 += z[i].len;
  140. if (z[i].len == len && z[i].flag)
  141. {
  142. z2 = z1;
  143. for (j = i + ; j < n; j++)
  144. {
  145. z2 += z[j].len;
  146. if (z[j].flag)
  147. {
  148. break;
  149. }
  150. }
  151. zz = ;
  152. for (k = ;; k++)
  153. {
  154. if (z1 - z[i].len + k > cnt1 || z2 - z[j].len + k > cnt1)
  155. {
  156. break;
  157. }
  158. if (c1[z1 - z[i].len + k] > c1[z2 - z[j].len + k])
  159. {
  160. zz = ;
  161. break;
  162. }
  163. if (c1[z1 - z[i].len + k] < c1[z2 - z[j].len + k])
  164. {
  165. zz = ;
  166. break;
  167. }
  168. }
  169. if (zz == )
  170. {
  171. z[i].flag = false;
  172. ss--;
  173. }
  174. }
  175. }
  176. sum -= ( - ss);
  177. for (i = n - ; i >= && sum > && ss; i--)
  178. {
  179. if (z[i].flag && z[i].len == len)
  180. {
  181. z[i].flag = false;
  182. ss--;
  183. sum--;
  184. }
  185. }
  186. z1 = ;
  187. for (i = ; i < n - && ss; i++)
  188. {
  189. z1 += z[i].len;
  190. if (z[i].len == len2 && z[i].flag)
  191. {
  192. z2 = z1;
  193. for (j = i + ; j < n; j++)
  194. {
  195. z2 += z[j].len;
  196. if (z[j].flag)
  197. {
  198. break;
  199. }
  200. }
  201. zz = ;
  202. for (k = ;; k++)
  203. {
  204. if (z1 - z[i].len + k > cnt1 || z2 - z[j].len + k > cnt1)
  205. {
  206. break;
  207. }
  208. if (c1[z1 - z[i].len + k] > c1[z2 - z[j].len + k])
  209. {
  210. zz = ;
  211. break;
  212. }
  213. if (c1[z1 - z[i].len + k] < c1[z2 - z[j].len + k])
  214. {
  215. zz = ;
  216. break;
  217. }
  218. }
  219. if (zz == )
  220. {
  221. z[i].flag = false;
  222. ss--;
  223. }
  224. }
  225. }
  226. if (ss)
  227. {
  228. for (i = n - ; i >= ; i--)
  229. {
  230. if (z[i].flag && z[i].len == len2)
  231. {
  232. z[i].flag = false;
  233. ss--;
  234. }
  235. if (ss == )
  236. {
  237. break;
  238. }
  239. }
  240. }
  241. printf("Case #%d: ", N++);
  242. for (i = ; i < n; i++)
  243. {
  244. if (z[i].flag)
  245. {
  246. printf("%lld", z[i].num);
  247. }
  248. }
  249. printf("\n");
  250. }
  251. return ;
  252. }

H Cosmic Cleaner

Code:KK zz

Thinking:KK

板子题,记住求球交的板子真的只能处理两个球相交的情况,然后小学数学处理一下各种球关系就好了(然而比赛时脑子打结,小学数学卡了了一下)

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<cstring>
  4. #include<iostream>
  5. #define CLR(a,b) memset(a,b,sizeof(a));
  6. const int inf=0x3f3f3f3f;
  7. using namespace std;
  8. const double PI = acos(-1.0);
  9. typedef unsigned long long ll;
  10. const int maxn= ;
  11. typedef struct point {
  12. double x,y,z;
  13. point() {
  14.  
  15. }
  16. point(double a, double b,double c) {
  17. x = a;
  18. y = b;
  19. z = c;
  20. }
  21. point operator -(const point &b)const { //返回减去后的新点
  22. return point(x - b.x, y - b.y,z-b.z);
  23. }
  24. point operator +(const point &b)const { //返回加上后的新点
  25. return point(x + b.x, y + b.y,z+b.z);
  26. }
  27. //数乘计算
  28. point operator *(const double &k)const { //返回相乘后的新点
  29. return point(x * k, y * k,z*k);
  30. }
  31. point operator /(const double &k)const { //返回相除后的新点
  32. return point(x / k, y / k,z/k);
  33. }
  34. double operator *(const point &b)const { //点乘
  35. return x*b.x + y*b.y+z*b.z;
  36. }
  37. }point;
  38.  
  39. double dist(point p1, point p2) { //返回平面上两点距离
  40. return sqrt((p1 - p2)*(p1 - p2));
  41. }
  42. typedef struct sphere {//球
  43. double r;
  44. point centre;
  45. }sphere;
  46. sphere s,a[maxn];
  47. void SphereInterVS(sphere a, sphere b,double &v,double &s) {
  48. double d = dist(a.centre, b.centre);//球心距
  49. double t = (d*d + a.r*a.r - b.r*b.r) / (2.0 * d);//
  50. double h = sqrt((a.r*a.r) - (t*t)) * ;//h1=h2,球冠的高
  51. double angle_a = * acos((a.r*a.r + d*d - b.r*b.r) / (2.0 * a.r*d)); //余弦公式计算r1对应圆心角,弧度
  52. double angle_b = * acos((b.r*b.r + d*d - a.r*a.r) / (2.0 * b.r*d)); //余弦公式计算r2对应圆心角,弧度
  53. double l1 = ((a.r*a.r - b.r*b.r) / d + d) / ;
  54. double l2 = d - l1;
  55. double x1 = a.r - l1, x2 = b.r - l2;//分别为两个球缺的高度
  56. double v1 = PI*x1*x1*(a.r - x1 / );//相交部分r1圆所对应的球缺部分体积
  57. double v2 = PI*x2*x2*(b.r - x2 / );//相交部分r2圆所对应的球缺部分体积
  58. v = v1 + v2;//相交部分体积
  59. double s1 = PI*a.r*x1; //r1对应球冠表面积
  60. double s2 = PI*a.r*x2; //r2对应球冠表面积
  61. s = * PI*(a.r*a.r + b.r*b.r) - s1 - s2;//剩余部分表面积
  62. }
  63. int T,n;
  64. double x,y,z,r;
  65. int cas=;
  66. int main(){
  67. cin>>T;
  68. while(T--)
  69. {
  70. cin>>n;
  71. for(int i=;i<=n;i++)
  72. {
  73. scanf("%lf%lf%lf%lf",&x,&y,&z,&a[i].r);
  74. a[i].centre={x,y,z};
  75. }
  76. scanf("%lf%lf%lf%lf",&x,&y,&z,&r);
  77. s.r=r;
  78. s.centre={x,y,z};
  79. double ans=,v=;
  80. for(int i=;i<=n;i++)
  81. {
  82. double ss,dis=dist(s.centre,a[i].centre);
  83. //double
  84. if(dis>=s.r+a[i].r)continue;
  85. if(dist(s.centre,a[i].centre) + min(s.r,a[i].r) <= max(s.r,a[i].r))
  86. {
  87. ans += 4.0 / 3.0 * PI * min(s.r,a[i].r) * min(s.r,a[i].r) * min(s.r,a[i].r);
  88. continue;
  89. }
  90. SphereInterVS(s, a[i],v,ss);
  91. ans+=v;
  92. }
  93. printf("Case #%d: %.14f\n",cas++,ans);
  94. }
  95. }

K Sticks

Code:pai爷 zz

Thinking :pai爷

时间复杂度为O(C(12,3)*C(9,3)*C(6,3)/24*T)

先预处理出所有的分割情况总共有369600种,之后去重24种,暴力判断。(用set去重或者hash,map去重待补)

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<cmath>
  5. #include<cstring>
  6. #include<algorithm>
  7. #include<set>
  8. using namespace std;
  9. int p[][],a[],w[],t,n,l,zc=;
  10. int check(int a,int b,int c)
  11. {
  12. if(a+b>c&&a+c>b&&b+c>a) return ;
  13. return ;
  14. }
  15. struct s
  16. {
  17. int c[];
  18. bool operator < (const s &rhs) const
  19. {
  20. for(int i = ;i <= ;i++)
  21. {
  22. if(c[i] != rhs.c[i])
  23. {
  24. return c[i] < rhs.c[i];
  25. }
  26. }
  27. return ;
  28. }
  29. }aa;
  30. set<s>st;
  31. set<s>::iterator it;
  32. void solve()
  33. {
  34. int i,j,k,l;
  35. st.clear();
  36. // printf("zc %d\n",zc);
  37. for(k = ;k <= zc;k++)
  38. {
  39. for(i = ;i > ;i -= )
  40. {
  41. for(j = ;j <= i-;j += )
  42. {
  43. if(p[k][j] > p[k][j + ])
  44. {
  45. int temp[];
  46. for(l = ;l <= ;l++)
  47. {
  48. temp[l] = p[k][j + l - ];
  49. }
  50. for(l = ;l <= ;l++)
  51. {
  52. p[k][j + l - ] = p[k][j + + l - ];
  53. }
  54. for(l = ;l <= ;l++)
  55. {
  56. p[k][j + + l - ] = temp[l];
  57. }
  58. }
  59. }
  60. }
  61. memcpy(aa.c,p[k],sizeof(p[k]));
  62. st.insert(aa);
  63. //printf("****\n");
  64. //zzz++;
  65. // printf(" size = %d\n",st.size());
  66. }
  67. //printf(" %d\n",zzz);
  68. zc = ;
  69. for(it = st.begin();it != st.end();it++)
  70. {
  71. zc++;
  72. //printf("111********************************\n");
  73. //(*it)->second;
  74. memcpy(p[zc],(*it).c,sizeof((*it).c));
  75. }
  76. // printf("zc = %d\n",zc);
  77. }
  78. int main()
  79. {
  80.  
  81. /*for(int zzzz = 1;zzzz <= 12;zzzz++)
  82. {
  83. aa.c[zzzz] = zzzz;
  84. }
  85. st.insert(aa);
  86. //aa.c[1] = 2;
  87. st.insert(aa);
  88. printf("%d\n",st.size());*/
  89.  
  90. scanf("%d",&t);
  91. for(int x1=;x1<=;x1++)
  92. for(int x2=x1+;x2<=;x2++)
  93. for(int x3=x2+;x3<=;x3++)
  94. for(int x4=;x4<=;x4++)
  95. for(int x5=x4+;x5<=;x5++)
  96. for(int x6=x5+;x6<=;x6++)
  97. for(int x7=;x7<=;x7++)
  98. for(int x8=x7+;x8<=;x8++)
  99. for(int x9=x8+;x9<=;x9++)
  100. {
  101. //printf("%d\n",x9);
  102. for(int k=;k<=;k++) a[k]=;
  103. l=;
  104. p[++zc][++l]=x1;p[zc][++l]=x2;p[zc][++l]=x3;
  105. a[x1]=;a[x2]=;a[x3]=;
  106. int sum=;
  107. for(int k=;k<=;k++)
  108. if(a[k]==)
  109. {
  110. sum++;
  111. if(sum==x4) p[zc][++l]=k,a[k]=;
  112. if(sum==x5) p[zc][++l]=k,a[k]=;
  113. if(sum==x6) p[zc][++l]=k,a[k]=;
  114. }
  115. sum=;
  116. for(int k=;k<=;k++)
  117. if(a[k]==)
  118. {
  119. sum++;
  120. if(sum==x7) p[zc][++l]=k,a[k]=;
  121. if(sum==x8) p[zc][++l]=k,a[k]=;
  122. if(sum==x9) p[zc][++l]=k,a[k]=;
  123. }
  124. for(int k=;k<=;k++)
  125. if(a[k]==) p[zc][++l]=k;
  126. // for(int i=1;i<=12;i++) printf("%d ",p[zc][i]);
  127. // printf("\n");
  128. }
  129. solve();
  130. int cas=;
  131. while(t--)
  132. {
  133. int ans=;
  134. for(int i=;i<=;i++) scanf("%d",&a[i]);
  135. for(int i=;i<=zc;i++)
  136. {
  137. int sum=check(a[p[i][]],a[p[i][]],a[p[i][]])
  138. +check(a[p[i][]],a[p[i][]],a[p[i][]])
  139. +check(a[p[i][]],a[p[i][]],a[p[i][]])
  140. +check(a[p[i][]],a[p[i][]],a[p[i][]]);
  141. if(sum>ans)
  142. {
  143. ans=sum;
  144. for(int j=;j<=;j++) w[j]=p[i][j];
  145. if(ans==) break;
  146. }
  147.  
  148. }
  149. printf("Case #%d: %d\n",++cas,ans);
  150. for(int i=;i<=;i++)
  151. {
  152. if(check(a[w[(i-)*+]],a[w[(i-)*+]],a[w[(i-)*+]]))printf("%d %d %d\n",a[w[(i-)*+]],a[w[(i-)*+]],a[w[(i-)*+]]);
  153. }
  154. }
  155. }

赛后总结:

KK:比赛开局oj有点爆炸,oj好了之后读a题,基本是读完就想到了解法,但是没和队友说清楚,纠结了一段时间,然后数据范围被坑了一下,快速ac。队友此时接管电脑写B,我就在旁边看计算几何,等队友wa了我也差不多想好了计算几何怎么写,然后再判断球相交的地方脑残了一些,卡了一会,ac。后面先和zz交流B,提供了几种不能ac的想法,zzAC,又和pai爷交流K题关于如何去重的东西,一直没理解pai爷的需求是啥,所以没想到用set,后来帮zz看了一些set的一些bug,还有改正了冒泡排序的写法?今天打的主要还是有一点点交流问题吧,总体还行,其他题目都处于题目都看不懂的状态了。div2Rank3,吹一波队友,希望大家一起加油!for dream!

pai爷:今天的比赛状态还行吧,莽了一下,TLE了,之后想到了去重的方法,在队友的帮助下解决了这个问题,要多学STL知识。

zz:今天做的B题可以说是很自闭了,在想出思路后,觉得自己的想法没什么问题就开始写了,写完后测了几组数据,没什么问题就交了一发,果不其然,wa了,然后很快找出了一个bug,有交了一发,果不其然,有wa了。然后看了好久代码,想了好久,都觉得没什么问题,直到碰巧造出了一组样例,我的代码没跑过,然后就意识到了问题的严重性,有个地方出了问题,后来花了点时间,写了一半,kk叫我去写H题里的一个东西,写完以后H题A了,我有继续写B题,有些了大概十几分钟,B题A了。然后金老师让我写一个去重的东西,我大概过程想好了就开始写了,写完以后测了下数据,哦豁完蛋,写崩了,调了下后发现是重载的问题,后来发现冒泡写的有问题,弄了好久才过了这题。然后就一起和金老师数三角形,这题比南京的那个数三角形难了好多,时间也不够,就没写出来。这个故事告诉我们,写代码以前要想清楚,不能拍拍脑袋就开始写了,也要加强和队友的交流。

2019 CCPC-Wannafly Winter Camp Day2(Div2, onsite)的更多相关文章

  1. CCPC-Wannafly Winter Camp Day2 (Div2, onsite)

    Class $A_i = a \cdot i \% n$ 有 $A_i = k \cdot gcd(a, n)$ 证明: $A_0 = 0, A_x = x \cdot a - y \cdot n$ ...

  2. 2020 CCPC Wannafly Winter Camp Day1 C. 染色图

    2020 CCPC Wannafly Winter Camp Day1 C. 染色图 定义一张无向图 G=⟨V,E⟩ 是 k 可染色的当且仅当存在函数 f:V↦{1,2,⋯,k} 满足对于 G 中的任 ...

  3. 2019 CCPC-Wannafly Winter Camp Day1 (Div2, onsite)

    solve:4/11 补题:6/11 A 机器人 补题:zz 这是一道分类讨论的题目,有一个规律就是如果必须要从第一个区到第二个区,那么最多转区两次(1到2一次,2到1一次),然后分类讨论即可,只要细 ...

  4. 2019 CCPC-Wannafly Winter Camp Day7(Div2, onsite)

    solve 6/11 补题: A.迷宫 Code:zz Thinking:zz kk 把每个节点的深度都处理出来,同一深度的点的冲突度为 (x-1),x为同层次点数减一. 然后冲突度不断下传(冲突度为 ...

  5. 2019 CCPC-Wannafly Winter Camp Day3(Div2, onsite)

    solve 4/11 补题:5/11 A 二十四点* Code:pai爷  zz Thinking :pai爷 打表找规律,1张牌 10个不可能的 2张牌有 43 种不可能的 3张牌 有74 种不可能 ...

  6. 2019 CCPC-Wannafly Winter Camp Day4(Div2, onsite)

    slove 6/11 A.夺宝奇兵 Code:zz Thinking:zz 贪心即可.这条路线里,点n1和点n2肯定是相连的,接下来,点(n-1)1和点(n-1)2分别是和n1和点n2相连的,一共有两 ...

  7. 2019 CCPC-Wannafly Winter Camp Day5(Div2, onsite)

    solve 5/11 补题:7/11 A Cactus Draw Code:zz Thinking :zz 题意:要在n*n的网格内画上一棵节点数为n树,使得没有边相交. 很好想的构造题,因为网格有n ...

  8. CCPC Wannafly Winter Camp Div2 部分题解

    Day 1, Div 2, Prob. B - 吃豆豆 题目大意 wls有一个\(n\)行\(m\)列的棋盘,对于第\(i\)行第\(j\)列的格子,每过\(T[i][j]\)秒会在上面出现一个糖果, ...

  9. CCPC-Wannafly Winter Camp Day5 (Div2, onsite) Sorting(线段树)

    题目链接 题意 对序列进行三种操作: 1.区间求和. 2.将区间小于等于$x$的数不改变相对顺序的前提下放到$x$左边,用同样规则将比$x$大的放到右边. 3.将区间大于$x$的数不改变相对顺序的前提 ...

随机推荐

  1. json操作工具-LitJson

    LitJSON是json生成与读取的操作工具,使用很方便并且网上还能找到源码.下面是使用LitJSON的例子: 一.生成json:实例化一个JsonData,然后按照List数组的方式向里面填. Js ...

  2. mysql 数学操作函数

    -- 绝对值,圆周率 SELECT ABS(-1),3*PI() -- 平方根,求余 SELECT SQRT(9),MOD(9,5) -- 获取整数的函数 SELECT CEIL(12.145),CE ...

  3. Qt5.3.1,的linux平台体验之旅

    1. samba安装:http://blog.csdn.net/voice_shen/article/details/7692605 2. 安装run,  sudo chmod 777 filenam ...

  4. HDU 6005 Pandaland (Dijkstra)

    题意:给定一个图,找出一个最小环. 析:暴力枚举每一条,然后把边设置为最大值,以后就不用改回来了,然后跑一遍最短路,跑 n 次就好. 代码如下: #pragma comment(linker, &qu ...

  5. 编写高质量代码改善C#程序的157个建议——建议70:避免在调用栈较低的位置记录异常

    建议70:避免在调用栈较低的位置记录异常 并不是所有的异常都要被记录到日志,一类情况是异常发生的场景需要被记录,还有一类就是未被捕获的异常.未被捕获的异常通常被视为一个Bug,所以,对于它的记录,应该 ...

  6. 洛谷P4149 [IOI2011]Race(点分治)

    题目描述 给一棵树,每条边有权.求一条简单路径,权值和等于 KK ,且边的数量最小. 输入输出格式 输入格式:   第一行:两个整数 n,kn,k . 第二至 nn 行:每行三个整数,表示一条无向边的 ...

  7. U盘安装Centos6.2

    原文地址:http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0819/8452.html. 第一步:制作系统U盘(略). 第二步:设置BI ...

  8. Replication--分区+复制

    1>配置订阅表使用分区,在发布的项目属性中设置"复制分区方案"和"复制索引分区方案"为true,然后初始化订阅 2>在发布数据库上修改发布属性 -- ...

  9. .net core 使用redis 基于 StackExchange.Redis

    一.添加引用包 StackExchange.Redis Microsoft.Extensions.Configuration   二.修改配置文件 appsettings.json   { " ...

  10. django cookie、session

    Cookie.Session简介: Cookie.Session是一种会话跟踪技术,因为http请求都是无协议的,无法记录上一次请求的状态,所以需要cookie来完成会话跟踪,Seesion的底层是由 ...