1.
是一个小技巧
考虑在序列中尽量向前匹配,在那个位置计数
然后发现要求是对于一个元素,在其前面的元素与其之间的空隙不能有这个字符
所以可以枚举结尾位置
通过 $\sum _{i = 0}^n \binom{i - n - 1}{n - 1} \times 26^{n + k - i} \times 25^{i - n} $
简单计算即可
2.
P11390 [COCI 2024/2025 #1] 教师 / Učiteljica
想到枚举右端点,然后统计和法左端点
\(k = 1\)
维护每种数的合法区间
然后相当于求非零位置和
是区间加和非 0 位置个数
把右端点看成 x 轴,合法左端点放到 y 轴上,其实就是一个简单的扫描线模版,不用离散化
有两种解决方案
-
维护最小值及其个数
-
维护区间覆盖次数
我写的第一种
\(k > 1\)
考虑其实是要求每种 k 都出现,相当于是求交集,不好写,转换成求并集容斥就行
复杂度 \(O(2^k \times k \times n \log n)\)
这个容斥的原理和并集转换是一样的
用二项式定理可以简单证明
3.
4.
逆天改造
先推柿子
$ \sqrt{a^2 + b^2 + c^2 + d^2} = a \oplus b \oplus c \oplus d $
$ a^2 + b^2 + c^2 + d^2 = (a \oplus b \oplus c \oplus d)^2 \ge d^2 = (d + x)^2 $
拆开得
$ a^2 + b^2 + c^2 + d^2 = (d + x) ^ 2$
\(a^2 + b^2 + c^2 = 2 \times d \times x + x^2\)
\((a \oplus b \oplus c \oplus d)^2 = (d + x) ^ 2\)
\(a \oplus b \oplus c \oplus d = d + x\)
合起来即为
设 x 最高位为 p , 我们让 d 的 \(\le p\) 位,直接可以得到
然后我让 x = 1 ,后面的构造可以看出对任意 x 都可以构造
让 \(b = 2^p + a , c = 2^p + 2^{p + 1} + 1\)
发现成立,
但当 a 为奇数时, \(d \equiv 0 (\bmod 2)\) 不成立
微调一下 \(b = 2^p + a - 1 , c = 2^p + 2^{p + 1}\) 即可