2022.9.24 总结

B

\(A\) \(B\) 轮流行动,\(A\) 需要拿走若干个数(不可不拿),\(B\) 可以拿走一个数。
\(A\) 拿走的数和要最大, \(B\) 则希望 \(A\) 拿走的数和最小。
\(A\) 能拿走多少数的和。

显然,\(A\) 先会拿走所有的正数,再拿 \(0,1\) 个最大的负数。如果没有正数,\(A\) 也可能拿 \(2\) 个负数。
\(B\) 会拿走剩余最大的数,\(A\) 只会拿走剩下一个最大的数,以此类推。
计算即可。

C

你要在整数区间内找到平均数是整数的子串的个数。
\(n\le 10^5, 1\le a_i\le 100\).

我们枚举平均数 \(1\le t\le 100\).
如果 \(t\) 是一段区间平均数,那么 \(\sum_l^r (a_i-t) = 0\)
前缀和 \(a_i-t\),那么我们只要找有多少个 \(sum_r=sum_{l-1}\) 相等即可。

posted @ 2022-09-25 10:54  s1monG  阅读(20)  评论(0编辑  收藏  举报