2017-Sp195-team2

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

 [[Image(1.png,500px)]]
== 流水账 ==

== 总结 ==
=== chenjb ===

=== oipotato ===

=== subconscious  ===

== 题解 ==
 * A:按题意输出。

 * B:算出最短的情况下考虑先杀A还是杀B,杀A算出溢出伤害,用B代替,尽可能往后靠;杀B算出溢出伤害,尽可能往前靠,还有溢出时将最后一个往后放。由于是等差数列永远能凑出正好的位置。

 * C:先仅考虑一维,只需要维护当前位移量和两个方向的位移量即可知道左边,右边各有多少个连续的下标已经在同一个位置了,再维护1,n的当前位置就能分类讨论出所有人这一维的位置。于是每个棋子的位置就得到了。对于“!”,发现只有可能在四个角落里重合,于是左右往里合并时暴力维护即可。注意处理左右/上下边界重合的情况。

 * D:漂移,视为三角形大力计算角度即可。注意cos范围。

 * E:求前k个质数乘积<=n且k最大,分子为前k个质数乘积,分母为前k个质数加1后乘积,约分后输出,用java。

 * F:处理读入后BFS。

 * G:

 * H:后缀数组处理出每个后缀有效区间,从后往前,维护每个值有效区间,在线段树上覆盖相应区间,维护和即可。

 * I:每段贡献是左右点个数的乘积,于是得到贪心策略是左右交替放最靠边上的,推出式子计算即可。

 * J:

 * K:cjb

 * L:暴力分类讨论,需要用到三元环枚举和四元环计数。注意容斥系数。

流水账

总结

chenjb

oipotato

subconscious

题解

  • A:按题意输出。
  • B:算出最短的情况下考虑先杀A还是杀B,杀A算出溢出伤害,用B代替,尽可能往后靠;杀B算出溢出伤害,尽可能往前靠,还有溢出时将最后一个往后放。由于是等差数列永远能凑出正好的位置。
  • C:先仅考虑一维,只需要维护当前位移量和两个方向的位移量即可知道左边,右边各有多少个连续的下标已经在同一个位置了,再维护1,n的当前位置就能分类讨论出所有人这一维的位置。于是每个棋子的位置就得到了。对于“!”,发现只有可能在四个角落里重合,于是左右往里合并时暴力维护即可。注意处理左右/上下边界重合的情况。
  • D:漂移,视为三角形大力计算角度即可。注意cos范围。
  • E:求前k个质数乘积<=n且k最大,分子为前k个质数乘积,分母为前k个质数加1后乘积,约分后输出,用java。
  • F:处理读入后BFS。
  • G:
  • H:后缀数组处理出每个后缀有效区间,从后往前,维护每个值有效区间,在线段树上覆盖相应区间,维护和即可。
  • I:每段贡献是左右点个数的乘积,于是得到贪心策略是左右交替放最靠边上的,推出式子计算即可。
  • J:
  • K:cjb
  • L:暴力分类讨论,需要用到三元环枚举和四元环计数。注意容斥系数。