1. NOIP 模拟赛
  2. 张若天

  3. 题⽬名称 监听 实验室 ⽂明
  4. 可执⾏⽂件名 monitor lab civilization
  5. 输⼊⽂件名 monitor.in lab.in civilization.in
  6. 输出⽂件名 monitor.out lab.out civilization.out
  7. 每个测试点时限
  8. 内存限制 256MB 256MB 256MB
  9. 测试点数⽬
  10. 每个测试点分值
  11. 是否有 Special Judge
  12. 题⽬类型 传统型 传统型 传统型
  13. 是否有附加⽂件
  14. C++ 语⾔⽂件名后缀 cpp cpp cpp
  15. C 语⾔⽂件名后缀 c c c
  16. Pascal 语⾔⽂件名后缀 pas pas pas
  17. 编译开关
  18. 对于 C++ 语⾔ -lm
  19. 对于 C 语⾔ -lm
  20. 全部题⽬使⽤⽂件输⼊输出,评测环境 Cena
  21. 考试时间 .5h
  22. 忘了什么时候开始
  23. 到清晨才能⼊睡
  24. 也忘了什么叫做结尾
  25. 又有谁在乎呢
  26. 凌晨三点的窗前
  27. 播放着那段时光
  28. 有⼀个骄傲的少年
  29. 隐藏他的青春
  30. 张希/曹⽅《认真地老去》
  31.  
  32. 监听
  33. monitor.in/.out/.cpp
  34. 弱小和⽆知不是⽣存的障碍,拖延症才是。
  35. 【背景】
  36. 不阅读本题的【背景】并不影响通过本题。
  37. 三体信息中没有包含对三体⼈⽣物形态的任何描述,⼈类要在四百多年
  38. 以后才能真正看到三体⼈。在阅读信息时,叶⽂洁只能把三体⼈想象成⼈类
  39. 的形象。
  40. 号监听站已经存在了上千年,像这样的监听站,在三体世界中有
  41. ⼏千个,它们全神贯注地聆听着宇宙间可能存在的智慧⽂明的信息。
  42. 最初监听站中有上百名监听员,但随着技术的进步,现在只有⼀个⼈值
  43. 守了。监听员是⼀个卑微的职业,他们虽然⾝处恒温且能保证⽣活供给的监
  44. 听室中,在乱世纪不必脱⽔,但他们的⽣命也就在这⼩⼩的空间中流逝,能
  45. 够享受到的恒纪元快乐⽐其他⼈要少得多。
  46. 号监听员投过⼩⼩的床⼦看着外⾯的三体世界,这是乱纪元的⿊
  47. 夜,巨⽉还没有升起来,⼤多数⼈都处于脱⽔的冬眠中,甚⾄植物也本能地
  48. 脱⽔了,成了附着于地表没有⽣命的⼀束⼲纤维。星光下,⼤地看上去像⼀
  49. ⼤块冰冷的⾦属。
  50. 这是最孤寂的时刻,在静静的午夜,宇宙向它的聆听者展⽰着⼴漠的荒
  51. 凉。 号监听员最不愿意看的,就是显⽰器上缓缓移动的那条曲线,那是
  52. 监听系统接收到的宇宙电波的波形,⽆意义的噪声。他感到这条⽆限长的线
  53. 就是宇宙的抽象,⼀头连着⽆限的过去,另⼀头连着⽆限的未来,中间只有
  54. 为⽆规律⽆⽣命的随机起伏。⼀个个⾼低错落的波峰就像⼀粒粒⼤⼩不等的
  55. 沙⼦,整条线就像是所有沙粒排成⾏形成的⼀维沙漠,荒凉寂寥,长得令⼈
  56. ⽆法忍受。你可以沿着它向前向后⾛⽆限远,但永远找不到归宿。
  57. 【问题描述】
  58. 监听的宇宙电波可以抽象成⼀个长度为 L 的⼩写字母组成的字符串。
  59.  
  60. 同时在三体⼈总结出来了 n 段敏感电波的样⼦,每段敏感电波的长度
  61. 都是 m
  62. 现在请你实现⼀个程序,求出在这长度为 L 的⼩写字母组成的字符串
  63. 中某个敏感电波第⼀次出现的位置(位置从 开始计数)
  64. 如果从头到尾,没有任何敏感电波出现,输出”no”(不带双引号)
  65. 【输入格式】
  66. 第⼀⾏三个整数 L, n, m
  67. 接下来 n ⾏,每⾏⼀个长度为 m 的字符串,表⽰敏感电波。
  68. 接下来⼀⾏,⼀个长度为 L 的字符串,表⽰监听到的电波。
  69. 【输出格式】
  70. 输出⼀个整数或者⼀个字符串”no”(不带双引号)
  71. 【样例输入
  72.  
  73. aba
  74. cba
  75. abc
  76. aaabbabcaba
  77. 【样例输出
  78.  
  79. 【样例输入
  80.  
  81. aba
  82. cba
  83. abc
  84.  
  85. aaabbabzabz
  86. 【样例输出
  87. no
  88. 【数据规模及约定】
  89. 对于前 % 的数据, L , n , m
  90. 对于前 % 的数据, L , n , m
  91. 对于另外 % 的数据,n =
  92. 对于前 % 的数据, L , n , m
  93.  
  94. 实验室
  95. lab.in/.out/.cpp
  96. 光锥之内都是新闻。
  97. 【背景】
  98. 不阅读本题的【背景】并不影响通过本题。
  99. 《时间之外的往事》(节选) 弯曲空间的动⼒
  100. 这个宇宙的空间并不是平坦的,⽽是存在着曲率,如果把宇宙的整体想
  101. 象为⼀张⼤膜,这张膜的表⾯是弧形的,整张膜甚⾄可能是⼀个封闭的肥皂
  102. 泡。虽然膜的局部看似平⾯,但空间曲率还是⽆处不在。
  103. 早在公元世纪,曾出现过许多极富野⼼的宇宙航⾏设想,其中之⼀就是
  104. 空间折叠。设想把⼤范围空间的曲率⽆限增⼤,像⼀张纸⼀样对折,把“纸
  105. ⾯”上相距千万光年的遥远的两点贴在⼀起。这个⽅案严格说来不应称为宇
  106. 宙航⾏,⽽应该叫做。 “宇宙拖曳” ,因为它实质上并不是航⾏到⽬的地,⽽是
  107. 通过改变空间曲率把⽬的地花过来。
  108. 这种⽓吞宇宙的事只有上帝才做得⼭来. 如果加上基本理论的限制.
  109. 可能上帝也不⾏。
  110. 对于利⽤空间曲率航⾏,后来又出现了⼀个更温和更局部的设想,⼀艘
  111. 处于太空中的飞船,如果能够⽤某种⽅式把它后⽽的⼀部分空间熨平,减⼩
  112. 其曲率、那么飞船就会被前⽅曲率史⼤的空间拉过去,这就是曲率驱动。
  113. 曲率驱动不可能像空间折叠那样瞬间到达⽬的地,但却有可能使飞船以
  114. ⽆限接近光速的速度航⾏。
  115. 但直到云天明情报被正确解读前,曲率驱动仍是⼀个幻想,同上百个光
  116. 速飞⾏的幻想⽅案⼀样, ⽆论从理论上还是技术上, 没有⼈知道它是否可⾏。
  117. 【问题描述】
  118. 沿着着曲率驱动的思路,R 君开发出了时间旅⾏传送门。
  119. R 君将 n- 个时间旅⾏传送门部署到了 n 个星球。如果只⾛这 n-
  120. 时间旅⾏传送门,R 君发现这 n 个星球是两两可达的(也就是⼀棵树)
  121.  
  122. 但是时间旅⾏传送门除了传送的功能外还额外有着时间旅⾏的功能,⽐
  123. 如说 (X i , Y i , T i ) 这个传送门,通过这个传送门从 X i Y i 时间就会增加
  124. T i (T i 可正可负),通过这个传送门从 Y i X i 时间就会减少 T i (T i 可正可
  125. 负)。
  126. 现在 R 君关⼼的问题是从 x 星球能不能通往 y 星球,同时时间恰好增
  127. zz 可正可负)
  128. 由于现在是⼀个树形的结构,所以实际上两点之间的路径唯⼀,所以 R
  129. 君很快写了个程序计算出了这个结果。
  130. 但是随着 R 君继续部署传送门,这个问题变得复杂了起来,所以请你
  131. 来帮帮忙。
  132. 【输入格式】
  133. 第⼀⾏两个整数 nqq 表⽰之后处理的事件的数量。
  134. 接下来 n- ⾏,每⾏三个整数 x i ,y i ,T i
  135. 接下来 q ⾏,每⾏四个正整数 k, x, y, t
  136. k=,表⽰部署⼀个新的传送门 (x,y,t)。
  137. k=,表⽰询问是否可以从 x y,使得时间恰好增加 t
  138. 【输出格式】
  139. 对于每个 k= 的询问,输出⼀⾏⼀个答案 yes/no (⼩写)
  140. 【样例输入】
  141.  
  142. -
  143.  
  144. 【样例输出】
  145. yes
  146. no
  147. no
  148. yes
  149. 【样例解释】
  150. 添加 (,,-) 后可以从 ->->->->->->->, 时间变化是 ++-
  151. (-)+++=。
  152. 【数据规模及约定】
  153. 对于前 % 的数据, n , q , |T i |
  154. 对于另外 % 的数据,不存在 k= 的输⼊。
  155. 对于另外 % 的数据,只存在⼀条 k= 的输⼊。
  156. 对于前 % 的数据, n , q × , |T i |
  157.  
  158. 文明
  159. civilization.in/.out/.cpp
  160. 给岁月以⽂明,⽽不是给⽂明以岁月。
  161. 【背景】
  162. 不阅读本题的【背景】并不影响通过本题。
  163. 罗辑那边的⽕星升了起来并来回移动,显然是他站起⾝来踱步,在地球
  164. 上是可以的,但在宇宙中不⾏,下⾯我们引⼊⼀个重要概念:猜疑链。挺怪
  165. 的词⼉。我开始仅得到这么⼀个词,她没有解释,但我后来终于从字⾯上推
  166. 测出了它的含义。他?他是谁?后⾯再说吧,我们继续:如果你认为我是善
  167. 意的,这并不是你感到安全的理由,因为按照第⼀条公理,善意⽂明并不能
  168. 预先把别的⽂明也想成善意的,所以,你现在还不知道我是怎么认为你的,
  169. 你不知道我认为你是善意还是恶意;进⼀步,即使你知道我把你也想象成善
  170. 意的,我也知道你把我想象成善意的,但是我不知道你是怎么想我怎么想你
  171. 怎么想我的,挺绕的是不是?这才是第三层,这个逻辑可以⼀直向前延伸,
  172. 没完没了。我懂你的意思。这就是猜疑链。这种东西在地球上是见不到的。
  173. ⼈类共同的物种、相近的⽂化、同处⼀个相互依存的⽣态圈、近在咫尺的距
  174. 离,在这样的环境下,猜疑链只能延伸⼀⾄两层就会被交流所消解。但在太
  175. 空中,猜疑链则可能延伸得很长,在被交流所消解之前,⿊暗战役那样的事
  176. 已经发⽣了。
  177. 【问题描述】
  178. R 君在继续着宇宙社会学的研究,R 君发现是否为善意的⽂明与他们的
  179. 距离到本⽂明的距离的奇偶有很⼤的关系。
  180. 所以 R 君提出了如下简化的问题,考虑⼀个 n 个节点带边权的树,两
  181. 点间距离是两点间树上路径的边权和。
  182. R 君想知道对于⼀个点来说,到这个点是距离奇数的节点的距离和,与
  183. 到这个点距离是偶数的节点的距离和。
  184.  
  185. 【输入格式】
  186. 第⼀⾏包含两个整数 n, qq 表⽰询问数量。
  187. 接下来 n- ⾏,每⾏三个数字 (x,y,z) 表⽰ x y 之间的距离是 z
  188. 接下来 q ⾏,每⾏⼀个整数 x,表⽰询问的节点为 x
  189. 【输出格式】
  190. 输出包含 q ⾏,每⾏两个整数,分别表⽰距离为奇数的节点的距离和与
  191. 距离为偶数的节点的距离和。
  192. 【样例输入】
  193.  
  194. 【样例输出】
  195.  
  196. 【样例解释】
  197. 每个点到 号点的距离:,,,
  198. 每个点到 号点的距离:,,,
  199. 每个点到 号点的距离:,,,
  200.  
  201. 每个点到 号点的距离:,,,
  202. 【数据规模和约定】
  203. 对于前 % 的数据, n
  204. 对于前 % 的数据, n
  205. 对于前 % 的数据, n ×
  206. 对于前 % 的数据, n , q n, z
  207.  
  208. (完)

题面

  1. /*
  2. string + map 水过
  3. */
  4. #include<iostream>
  5. #include<cstdio>
  6. #include<cstring>
  7. #include<string>
  8. #include<map>
  9.  
  10. #define N 100007
  11.  
  12. using namespace std;
  13. int n,m,l,ans,cnt;
  14. string s[];
  15. map<string,bool>vis;
  16. string ss;
  17.  
  18. int main()
  19. {
  20. freopen("monitor.in","r",stdin);
  21. freopen("monitor.out","w",stdout);
  22. scanf("%d%d%d",&l,&n,&m);
  23. for(int i=;i<=n;i++)
  24. cin>>s[i],vis[s[i]]=;
  25. cin>>s[];
  26. for(int i=;i<=l-m;i++)
  27. {
  28. ss=s[].substr(i,m);
  29. if(vis[ss]){ans=i+;break;}
  30. }
  31. if(!ans) printf("no\n");
  32. else printf("%d\n",ans);
  33. fclose(stdin);fclose(stdout);
  34. return ;
  35. }

  1. /*
  2. 各种情况分析,由于路径权值的相反性
  3. 只要有环,要么不走,要么等效完整走整数遍。
  4. 假设有k个环,每个环的边权和为xi,那么问题转化为
  5. 不定方程a*x1+b*x2+c*x3+....+m*xk=T是否存在整数解。
  6. 根据不定方程整数解的条件可知,gcd(x1~xm) | T 时有,否则无。
  7. */
  8. #include<bits/stdc++.h>
  9.  
  10. #define N 411111
  11. #define ll long long
  12.  
  13. using namespace std;
  14. int n,q;
  15. ll sum[N];
  16. int toedge[N],cnt;
  17. struct Edge
  18. {
  19. int to,val,next;
  20. };
  21. Edge edge[N<<];
  22.  
  23. int read()
  24. {
  25. int ret=,neg=;
  26. char c=getchar();
  27. while (c<'' || c>''){if (c=='-') neg=-;c=getchar();}
  28. while (c>='' && c<=''){ret=ret*+c-'';c=getchar();}
  29. return ret*neg;
  30. }
  31.  
  32. ll SUM(int x,int y){return sum[y]-sum[x];}
  33. ll Abs(ll x){return x> ? x : -x;}
  34. ll gcd(ll x,ll y){return (y==) ? x : gcd(y,x%y);}
  35.  
  36. void add(int from,int to,int val)
  37. {
  38. edge[++cnt]=(Edge)
  39. {
  40. to,val,toedge[from]
  41. };
  42. toedge[from]=cnt;
  43. }
  44.  
  45. void dfs(int x,int fa)
  46. {
  47. for (int i=toedge[x]; i; i=edge[i].next)
  48. {
  49. int to=edge[i].to;
  50. if (to==fa) continue;
  51. sum[to]=sum[x]+edge[i].val;
  52. dfs(to,x);
  53. }
  54. }
  55.  
  56. int main()
  57. {
  58. freopen("lab.in","r",stdin);
  59. freopen("lab.out","w",stdout);
  60. n=read();q=read();
  61. int x,y,z;
  62. for (int i=; i<n; i++)
  63. {
  64. x=read();y=read();z=read();
  65. add(x,y,z);add(y,x,-z);
  66. }
  67. dfs(,);int k,t;ll xun=-;
  68. for (int i=; i<=q; i++)
  69. {
  70. k=read();x=read();y=read();t=read();
  71. if (k==)
  72. {
  73. ll tmp=SUM(y,x);
  74. if (xun==-) xun=Abs(tmp+t);
  75. else if (tmp+t!=) xun=gcd(xun,Abs(tmp+t));
  76. }
  77. else
  78. {
  79. ll tmp=Abs((ll)t-SUM(x,y));
  80. if (xun==-)
  81. if (tmp==) puts("yes");
  82. else puts("no");
  83. else if (tmp%xun==) puts("yes");
  84. else puts("no");
  85. }
  86. }
  87. }

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4.  
  5. #define N 100007
  6. #define ll long long
  7.  
  8. using namespace std;
  9. ll n,m,ans1,ans2,cnt,tot;
  10. ll x,y,z,q;
  11. ll head[N],deep[N],sum[N],f[N][];
  12. ll in[N],F[N][],son[N][];
  13. struct edge{
  14. ll u,v,w,nxt;
  15. }e[N<<];
  16.  
  17. inline ll read()
  18. {
  19. ll x=,f=;char c=getchar();
  20. while(c>''||c<''){if(c=='-')f=-;c=getchar();}
  21. while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
  22. return x*f;
  23. }
  24.  
  25. inline void add(int u,int v,int w)
  26. {
  27. e[++cnt].v=v;e[cnt].w=w;e[cnt].nxt=head[u];head[u]=cnt;
  28. }
  29.  
  30. void dfs(int now,int fa,int c)
  31. {
  32. f[now][]=fa;deep[now]=c;
  33. for(int i=head[now];i;i=e[i].nxt)
  34. {
  35. int v=e[i].v;
  36. if(v==fa) continue;
  37. sum[v]=sum[now]+e[i].w;
  38. dfs(v,now,c+);
  39. }
  40. }
  41.  
  42. void get()
  43. {
  44. for(int j=;j<=;j++) for(int i=;i<=n;i++)
  45. f[i][j]=f[f[i][j-]][j-];
  46. }
  47.  
  48. int lca(int a,int b)
  49. {
  50. if(deep[a]<deep[b]) swap(a,b);
  51. int t=deep[a]-deep[b];
  52. for(int i=;i<=t;i++)
  53. if(t&(<<i)) a=f[a][i];
  54. if(a==b) return a;
  55. for(int i=;i>=;i--)
  56. if(f[a][i]!=f[b][i])
  57. a=f[a][i],b=f[b][i];
  58. return f[a][];
  59. }
  60.  
  61. void solve1()
  62. {
  63. dfs(,,);get();
  64. for(int i=;i<=m;i++)
  65. {
  66. tot=ans1=ans2=;
  67. q=read();
  68. for(int j=;j<=n;j++)
  69. {
  70. if(j==q) continue;
  71. int res=lca(q,j);
  72. tot=sum[q]+sum[j]-*sum[res];
  73. if(tot%) ans1+=tot;
  74. else ans2+=tot;
  75. }
  76. cout<<ans1<<" "<<ans2<<endl;
  77. }
  78. }
  79.  
  80. void dp(int u,int from)//0 偶数
  81. {
  82. son[u][]=son[u][]=;
  83. for(int i=head[u];i;i=e[i].nxt)
  84. {
  85. int v=e[i].v;
  86. if(v==from) continue;dp(v,u);
  87. if(e[i].w%==)
  88. {
  89. son[v][]++;
  90. if(in[v]==)
  91. {
  92. son[v][]++;son[u][]++;
  93. F[u][]+=e[i].w*son[v][];
  94. F[u][]+=e[i].w*son[v][];
  95. }
  96. else
  97. {
  98. son[u][]+=son[v][],son[u][]+=son[v][];
  99. F[u][]+=F[v][]+e[i].w*son[v][];
  100. F[u][]+=F[v][]+e[i].w*son[v][];
  101. F[u][]+=e[i].w;
  102. }
  103. }
  104. else
  105. {
  106. son[v][]++;
  107. if(in[v]==)
  108. {
  109. son[v][]++;son[u][]++;
  110. F[u][]+=e[i].w*son[v][];
  111. F[u][]+=e[i].w*son[v][];
  112. }
  113. else
  114. {
  115. son[u][]+=son[v][],son[u][]+=son[v][];
  116. F[u][]+=F[v][]+e[i].w*son[v][];
  117. F[u][]+=F[v][]+e[i].w*son[v][];
  118. F[u][]+=e[i].w;
  119. }
  120. }
  121. }
  122. }
  123.  
  124. void solve2()
  125. {
  126. for(int i=;i<=m;i++)
  127. {
  128. q=read();
  129. memset(f,,sizeof F);
  130. memset(son,,sizeof son);
  131. dp(q,q);
  132. cout<<F[q][]<<" "<<F[q][]<<endl;
  133. }
  134. }
  135.  
  136. int main()
  137. {
  138. freopen("civilization.in","r",stdin);
  139. freopen("civilization.out","w",stdout);
  140. n=read();m=read();
  141. for(int i=;i<n;i++)
  142. {
  143. x=read();y=read();z=read();
  144. add(x,y,z);add(y,x,z);
  145. }
  146. if(n<=) solve1();
  147. else solve2();
  148.  
  149. fclose(stdin);fclose(stdout);
  150. return ;
  151. }

40暴力

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. // 70%保证答案不爆int
  8.  
  9. int n,q;
  10. int H[], X[], P[], w[], tot;
  11.  
  12. inline void add(int x,int y,int z)
  13. {
  14. P[++tot]=y;
  15. X[tot]=H[x];
  16. H[x]=tot;
  17. w[tot]=z;
  18. }
  19. typedef long long LL;
  20. LL f[][]; // 子树
  21. LL ans[][];
  22. int siz[][]; // 子树
  23. int siz2[][]; // 整棵树
  24.  
  25. void dfs1(int x,int fa)
  26. {
  27. siz[][x] = ;
  28. for(int i=H[x]; i; i=X[i])
  29. {
  30. if(P[i] == fa) continue;
  31. dfs1(P[i],x);
  32. if(w[i]&)
  33. {
  34. siz[][x] += siz[][P[i]];
  35. siz[][x] += siz[][P[i]];
  36. f[][x] += f[][P[i]] + w[i]*siz[][P[i]];
  37. f[][x] += f[][P[i]] + w[i]*siz[][P[i]];
  38. }
  39. else
  40. {
  41. siz[][x] += siz[][P[i]];
  42. siz[][x] += siz[][P[i]];
  43. f[][x] += f[][P[i]] + w[i]*siz[][P[i]];
  44. f[][x] += f[][P[i]] + w[i]*siz[][P[i]];
  45. }
  46. }
  47. }
  48.  
  49. void dfs2(int x,int fa)
  50. {
  51. for(int i=H[x]; i; i=X[i])
  52. {
  53. if(P[i]==fa) continue;
  54. if(w[i]&)
  55. {
  56. siz2[][P[i]] = siz2[][x];
  57. siz2[][P[i]] = siz2[][x];
  58. ans[][P[i]] = f[][P[i]] + ans[][x] - (f[][P[i]]+w[i]*siz[][P[i]]) + w[i]*(siz2[][x]-siz[][P[i]]) ;
  59. ans[][P[i]] = f[][P[i]] + ans[][x] - (f[][P[i]]+w[i]*siz[][P[i]]) + w[i]*(siz2[][x]-siz[][P[i]]) ;
  60. }
  61. else
  62. {
  63. siz2[][P[i]] = siz2[][x];
  64. siz2[][P[i]] = siz2[][x];
  65. ans[][P[i]] = f[][P[i]] + ans[][x] - (f[][P[i]]+w[i]*siz[][P[i]]) + w[i]*(siz2[][x]-siz[][P[i]]) ;
  66. ans[][P[i]] = f[][P[i]] + ans[][x] - (f[][P[i]]+w[i]*siz[][P[i]]) + w[i]*(siz2[][x]-siz[][P[i]]) ;
  67. }
  68. dfs2(P[i],x);
  69. }
  70. }
  71.  
  72. int main()
  73. {
  74. freopen("civilization.in", "r", stdin);
  75. freopen("civilization.out", "w", stdout);
  76. scanf("%d%d",&n,&q);
  77. for(int i=,x,y,z; i<n; i++)
  78. {
  79. scanf("%d%d%d",&x,&y,&z);
  80. add(x,y,z);add(y,x,z);
  81. }
  82. dfs1(,);
  83. ans[][] = f[][];ans[][] = f[][];
  84. siz2[][] = siz[][];siz2[][] = siz[][];
  85. dfs2(,);
  86.  
  87. int x;
  88. while(q--)
  89. {
  90. scanf("%d",&x);
  91. printf("%lld %lld\n",ans[][x],ans[][x]);
  92. }
  93. fclose(stdout);
  94. return ;
  95. }

正解待补档

清北刷题10.23night的更多相关文章

  1. 10.27night清北刷题班

    /* 枚举每个部分的总和,利用前缀和进行检验. 如果能分成4部分就一定能分成2部分,就筛了一边素数优化.清空数组!!! */ #include<bits/stdc++.h> #define ...

  2. 清北刷题冲刺 10-30 a.m

    星空 #include<iostream> #include<cstdio> using namespace std; int n,m; int main(){ freopen ...

  3. 清北刷题冲刺 10-28 p.m

    水题(贪心) (water) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每 ...

  4. 2017-10-4 清北刷题冲刺班p.m

    P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两 ...

  5. 2017-10-4 清北刷题冲刺班a.m

    P101zhx a [问题描述]你是能看到第一题的 friends 呢.——hjaHja 拥有一套时光穿梭技术,能把字符串以超越光速的速度传播,但是唯一的问题是可能会 GG.在传输的过程中,可能有四种 ...

  6. 2017-10-3 清北刷题冲刺班p.m

    a [问题描述]你是能看到第一题的 friends 呢.——hja给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法.[输入格式]一行一个括号序列.[输出格式]如果合法,输出 OK,否则输 ...

  7. 2017-10-3 清北刷题冲刺班a.m

    P99zhx a [问题描述]你是能看到第一题的 friends 呢.——hja怎么快速记单词呢?也许把单词分类再记单词是个不错的选择.何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两 ...

  8. 2017-10-2 清北刷题冲刺班a.m

    一道图论神题 (god) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只 ...

  9. 2017-10-2 清北刷题冲刺班p.m

    最大值 (max) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n ...

随机推荐

  1. Python模块:logging、

    logging模块: 很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出.Python的logging模块提供了标准的日志接口,你可以通过它存储各种格 ...

  2. 【NOIP2017练习】怎样更有力气(二分答案,线性扫描)

    题意:OI大师抖儿在夺得银牌之后,顺利保送pku.这一天,抖儿问长者:“我虽然已经保送了,但我的志向是为国家健康工作五十年.请问我应该怎样变得更有力气?”   长者回答:“你啊,Too Young T ...

  3. POJ 1804 逆序对数量 / 归并排序

    Brainman Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12175   Accepted: 6147 Descrip ...

  4. [bzoj5379]Tree_dfs序_线段树_倍增lca

    Tree bzoj-5379 题目大意:给定一棵$n$节点的树.支持:换根.把节点$u$和$v$的$lca$的子树加.询问$u$的子树和. 注释:$1\le n,q\le 3\times 10^5$. ...

  5. mac idea快捷键(部分常用)

    shift+F6重命名 shift+enter 换到下一行 shift+F8等同eclipse的f8跳到下一个断点,也等同eclipse的F7跳出函数 F8等同eclipse的f6跳到下一步F7等同e ...

  6. Ubuntu 16.04中iptables的工具简介(iptables/iptables-restore/iptables-xml/iptables-apply/iptables-save)

    Ubuntu 16.04中安装的iptables版本为1.6.0,官方参考:http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/iptables ...

  7. ios截屏事件监听

    目的:实现截屏反馈,类似支付宝的截屏上传反馈功能. 1.注册全局通知,在Appdelegate中注册截屏监听通知 - (void)registNotification{ [[NSNotificatio ...

  8. 程序猿是如何解决SQLServer占CPU100%的--马非码

    http://www.cnblogs.com/marvin/p/ASolutionForSQLServerCauseHighCPU.html

  9. json数组显示格式

    {“colorAndImg”:[{"颜色":“红色”,"地址":“www.sohu.com”}, {“颜色”:“绿色,“地址”:“www.sohu.com”}] ...

  10. 关于warning

    IT男正吸着雪茄,吐着烟圈.他女朋友生气了发飙道:“你没看见包装盒上的警告(Warning)么?吸烟有害健康!” IT男淡定地回答道:“我是程序员.我们不关心警告,只关心错误.”