Loading

8.10 近期总结

P9510 『STA - R3』高维立方体

题意:\(T\) 组数据,给出 \(n,p\),求 \(\sum\limits_{i=1}^n \text{fib}(i)\cdot(f(i-2)+\text{fib}^2(i)+\text{fib}(i))\)\(p\),其中 \(f(n)=\sum_{i=1}^n\text{fib}^2(i)\)\(1\le T\le2\times10^5,\space 1\le n\le10^{18},\space 2\le p\le 10^9+7\)

考场自闭题。(被整数列项薄纱了

推式子,首先,\(\sum\limits_{i=1}^n\text{fib}^2(i)=\text{fib}(i)\text{fib}(i+1)\)

证明:数学归纳法,当 \(n=1\)\(\text{fib}^2(1)=1=\text{fib}(1)\text{fib}(2)\)

若对于 \(1...n-1\) 成立,考虑 \(n\) 的情况:

\[\begin{aligned} \sum_{i=1}^{n}\text{fib}^2(i) &= \text{fib}^2(n)+\sum_{i=1}^{n-1}\text{fib}^2(i) \\ &= \text{fib}(n)(\text{fib}(n+1)-\text{fib}(n-1))+\text{fib}(n-1)\text{fib}(n) \\ &= \text{fib}(n)\text{fib}(n+1)-\text{fib}(n-1)\text{fib}(n)+\text{fib}(n-1)\text{fib}(n) \\ &= \text{fib}(n)\text{fib}(n+1) \end{aligned}\]

另一种理解是整数裂项

证毕。

然后大力推式子:

\[\begin{aligned} \sum_{i=1}^n \text{fib}(i)\cdot(f(i-2)+\text{fib}^2(i)+\text{fib}(i)) &= \sum_{i=1}^n \text{fib}(i)\cdot(f(i)-\text{fib}^2(i-1)+\text{fib}(i))\\ &= \sum_{i=1}^n \text{fib}(i)\cdot(\text{fib}(i)\text{fib}(i+1)-\text{fib}^2(i-1)+\text{fib}(i)) \\ &= \sum_{i=1}^n (\text{fib}^2(i)\text{fib}(i+1)-\text{fib}^2(i-1)\text{fib}(i))+\sum_{i=1}^n \text{fib}^2(i) \\ &= \sum_{i=1}^n \text{fib}^2(i)\text{fib}(i+1)-\sum_{i=1}^{n-1}\text{fib}^2(i)\text{fib}(i+1)+\text{fib}(i)\text{fib}(i+1) \\ &= \text{fib}^2(n)\text{fib}(n+1)+\text{fib}(n)\text{fib}(n+1) \end{aligned}\]

其中又是一个整数裂项……

然后矩阵快速幂 \(O(T\log n\cdot 2^3)\) 做完了。

CF1270G Subset with Zero Sum

题意:\(n\) 个数 \(a_{1...n}\),对于 \(i\) 满足 \(i-n\le a_i\le i-1\),选若干个数使得这些数的和为 \(0\),给出方案,可以证明一定存在这样的方案。\(1\le n\le10^6\)

条件过于阴间,移一下项就是 \(1\le i-a_i\le n\)。考虑连边 \(i\rightarrow i-a_i\),最后是一个内向基环树。考虑在环上任意一点 \(u\) 走一遍环,最终可以回到 \(u\),那么路径上的 \(a\) 的和就是 \(0\),可以大力想象,正确性显然。

时间复杂度 \(O(n)\)

ARC071E TrBBnsformBBtion

题意:我们定义字符串为由 \(\{\text{'A','B'}\}\) 组成的串。对于一个串 \(\text S\),我们有两种操作:

  • 把一个字符变成两个另一种字符,如把 \(\text{'A'}\) 变成 \(\text{'BB'}\)

  • 消除三个连续相同字符。

把我送走的 \(\text{ARC C}\)

这题利用了很强的构造思想,需要一定的构造思维(AtCoder 不都这样吗

考虑一个串 \(\text{S}\) 可以变成 \(\text{T}\) 的必要条件。把 \(\text{'A'}\) 看做 \(1\)\(\text{'B'}\) 看做 \(2\),设 \(f(\text S)\)\(\text S\) 所有字符的值的和在 \(\mod 3\) 意义下是多少。

显然对串 \(\text{S}\) 任意操作,都不会改变 \(f(\text S)\) 的值。那么若 \(f(\text S)\not=f(\text T)\),则一定无解。

另一种理解:我们把 \(\text{S,T}\) 的所有 \(\text{'B'}\) 变成 \(\text{'A'}\),然后三个三个消除 \(\text{'A'}\),剩下会有 \(0/1/2\)\(\text{'A'}\),判断是否相同即可。

ARC072B Alice&Brown

题意:两堆石子,分别有 \(n,m\) 个。两个人轮流操作,不能操作者输,每次操作:

  • 选择一堆中的任意偶数个石子(非零),一半扔掉,一半放入另一堆石子。

求先手是否有必胜策略。\(1\le n,m\le 10^{18}\)

打表题,暴力求 \(f(1...100,1...100)\),然后发现当 \(|n-m|>1\) 时先手必胜。

然后……?没了?

posted @ 2023-08-10 22:00  Lgx_Q  阅读(12)  评论(0编辑  收藏  举报