一些东西 题解

A

\(f_i\) 表示以最高位为 \(i\) 的数结尾的数列个数,有 \(f_i=(2^{2^i}-1)\left(1+\sum\limits_{j=0}^{i-1}f_j\left(1-\dfrac 1{2^{2^j}+1}\right)\right)\)

证明:考虑最高位为 \(j\) 的数 \(u\) 接上最高位为 \(i\) 的数 \(y,x(y<x)\) 时,不合法当且仅当 \(x\)\(j\) 位为 \(1\)\(y=x\oplus u\)

假设任选 \(x\) 及后面最高位为 \(i\) 的数,\(x\)\(j\) 位为 \(1\) 的方案数为 \(2^k\),则 \(x\)\(j\) 位任意的总方案数为 \(2^k+2^{k+2^j}\)

\(x\)\(j\) 位为 \(1\) 导致不合法的概率为 \(\dfrac{2^k}{2^k+2^{k+2^j}}=\dfrac 1{2^{2^j}+1}\)

B

\(f_{i,0/1}\) 表示 \(i\) 子树 DFS 序奇 / 偶位置和的最大值,

首先如果 \(i\) 所有孩子的子树大小都是偶数,那访问这些孩子的顺序就无所谓了,

否则考虑以 \(i\) 的至少一个大小为奇数的孩子为分界,

对所有大小为偶数的孩子 \(v\),把 \(f_{v,0}\) 更大的 \(v\)\(f_{v,1}\) 更大的 \(v\) 分别放在其两侧,

这样就可以对所有 \(v\) 取到 \(\max(f_{v,0},f_{v,1})\) 的贡献。

然后考虑剩下 \(c\) 个大小为奇数的孩子 \(v\),可以发现一半 \(v\) 取到 \(f_{v,0}\),一半 \(v\) 取到 \(f_{v,1}\),贪心即可。

C

对每个 \(1\) 的位置 \(i\),考虑 \(\text{LCP}(x,n)=i-1\)\(x\) 的贡献,

即考虑 \([1,i-1]\) 位与 \(n\) 相同,\(i\) 位填 \(0\),后面 \(n-i\) 位任意填的数的贡献。

\(k=n-i\),前 \(i-1\) 位中有 \(c\)\(1\),则这些数的贡献为:

\[\sum_{i=0}^k{k\choose i}f_{i+c} \]

Sol 1

\(x_1=\dfrac{1+\sqrt 5}2\)\(x_2=\dfrac{1-\sqrt 5}2\),则:

\[\begin{aligned} &\sum_{i=0}^k{k\choose i}f_{i+c}\\ =&\dfrac 1{\sqrt 5}\left(x_1^c\sum_{i=0}^k{k\choose i}x_1^i-x_2^c\sum_{i=0}^k{k\choose i}x_2^i\right)\\ =&\dfrac 1{\sqrt 5}\left(x_1^c(x_1+1)^k-x_2^c(x_2+1)^k\right) \end{aligned} \]

预处理需要预处理的东西即可。

\(5\) 好像不是二次剩余,直接扩域。

Sol 2

\(F=\begin{bmatrix}0&1\end{bmatrix}\)\(B=\begin{bmatrix}1&1\\1&0\end{bmatrix}\)\(I\) 为单位矩阵,则

\[\begin{aligned} &\sum_{i=0}^k{k\choose i}f_{i+c}\\ =&F\times B^c\sum\limits_{i=0}^k{k\choose i}B^iI^{n-i} \end{aligned} \]

显然 \(B\)\(I\) 有交换律,那么

\[\begin{aligned} &F\times B^c\sum\limits_{i=0}^k{k\choose i}B^iI^{n-i}\\ =&F\times B^c(B+I)^k \end{aligned} \]

预处理需要预处理的东西即可。

D

枚举点 \(1\) 与谁在同一条直线上,可以得到这些平行线的斜率 \(\dfrac{\Delta y}{\Delta x}\)

类似 P5102 [JOI 2016 Final] 领地 地,一条直线可以唯一表示为 \((x,y)|0\le x<\Delta x\)

表示对于所有 \(t\)\((x+t\Delta x,y+t\Delta y)\) 在这条直线上。

对于每个点找出其在哪条直线上,如果找到恰好 \(k\) 条直线,输出答案即可。

E

首先把 \(a_i,b_i\) 都减去 \(i\),此时 \(i,j\) 连通当且仅当 \(a_i\le a_j,b_i\ge b_j\),称此时 \(j\) 覆盖 \(i\)

把所有点按 \(a_i\) 排序,首先只有 \(b_i\) 的后缀最小值位置可能产生贡献(因为其不被其他点覆盖),

\(c_i\) 表示点 \(i\) 覆盖的所有点 \(j\)\(b_j\) 的最大值,

则后缀最小值位置 \(i\) 产生贡献,当且仅当 \(c_j<b_i\),其中 \(j\) 是上一个后缀最小值位置。

F

对每个人 \(u\) 考虑其能否成为答案。

\(u\) 相关的比赛,显然让 \(u\) 拿全部分即可。

剩下的人的分数肯定是最大值越小越好,所以平均分配即可。

拿个 multiset 维护这玩意。

G

\(x\) 这一维扫描线,拿个 multiset 维护此时所有平台的高度,

扫到当前波特的坐标时,根据题意更新波特的坐标即可。

H

TBA

I

这都不会做你退役吧

J

称到其它点的距离乘以权值之和的最小的点为“重心”。

随着时间推移,实际“重心”肯定逐渐向以 \(a_i\) 为点权的“重心” \(u\) 移动,而每次修改后 \(u\) 最多只移动一步,

所以维护出这个 \(u\),操作时将之前的实际“重心”向 \(u\) 移动直到继续移动答案变劣为止即可。

K

TBA

L

直接做

posted @ 2024-06-23 15:13  Jijidawang  阅读(89)  评论(6编辑  收藏  举报