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:暴力分类讨论,需要用到三元环枚举和四元环计数。注意容斥系数。