专栏文章

CF1942

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mio0y2gj
此快照首次捕获于
2025/12/02 11:34
3 个月前
此快照最后确认于
2025/12/02 11:34
3 个月前
查看原文

CF1942

E

Solution

首先假定第一头牛是先手的,最后再将答案乘 22 就行。
将相邻的两头牛配对,我们有如下结论:
先手必胜当且仅当存在一对牛之间空格为奇数。
考虑证明,由于可以移动任意的牛,先手可以将所有空格为奇数的一对牛移动为偶数,后手由于所有牛空格为偶数,移动后必然在一对牛之间空格为奇数。
这样反复移动,先手的牛必然会压缩后手的牛的生存空间,知道所有空格为 00,先手获胜。
这样我们要对其进行计数,不妨用所有情况减去每对牛之间空格为偶数的情况。
所有情况 (l2n)\tbinom{l}{2n}
我们枚举有 2x2x 个空格在一对牛的中间,将 xx 个空格分为 nn 组,容易用插板法计算,为 (x+n1n1)\tbinom{x+n-1}{n-1}
剩下的 l2x2nl-2x-2n 继续用插板法分为 n+1n+1 组, (2l2x2n1l2x2n1)\tbinom{2l-2x-2n-1}{l-2x-2n-1}
答案即为 ((l2n)x=0,2xl2n(x+n1n1)(2l2x2n1l2x2n1))×2\left(\displaystyle\dbinom{l}{2n} - \sum\limits_{x=0,2|x}^{l-2n}\dbinom{x+n-1}{n-1}\dbinom{2l-2x-2n-1}{l-2x-2n-1}\right) \times 2

F

Solution

首先 f(i)=(f(i1)+ai)f(i)=\sqrt{(f(i-1)+a_i)},由于 aia_i 是整数,这等价于 f(i)=(f(i1)+ai)f(i)=\left\lfloor\sqrt{(f(i-1)+a_i)}\right\rfloor,这样就将原问题转化为整数问题。
考虑将操作离线并用线段树维护所有答案。
我们从 11nn 对数组扫描线,扫描到 ii 时,进行全局开根,对于每个询问,加上询问时对应的 aia_i,这可以转化为区间加。
现在线段树要实现全局开根,区间加,容易用势能线段树做到。

评论

0 条评论,欢迎与作者交流。

正在加载评论...