Codeforces Round #692 Div1

A

首先忽略初始在对角线上的点
答案的下界显然为现在的点数

考虑对于对角线\((i,i)\),在第\(i\)行出现的与在第\(i\)列出现的点连边
容易得到答案的下界为:点数+环的个数

容易证明

B

结论:最后填数一定是某个前缀填\(0\),剩下的填\(1\),或前缀填\(1\),剩下的填\(0\)

证明:
考虑两个位置\(0,1\),交换后发现01与10的数量不变

C

结论:当\(n\ge 2\)\(n-1\)最后的符号一定是\(-\)\(n\)最后的符号一定是\(+\),其他位置符号任意

证明:
对于----+???-+这种情况,显然左边的-是可以全部实现的
于是我们考虑+????-+是否能被构造出来
我们找到最靠右的一个-,使得前面为+(-可以是\(n-1\)
考虑+????+---+,看成两段(+????+-)(--+)
由于左边要取反使得上我们要构造(取反)(不取反)这两段
发现这两段最后两个元素均为-+,通过归纳可以证明结论

然后题目转化成了给一些二的次幂前填+/-的系数,问能否凑出\(N\)
可以考虑从大到小考虑二的次幂,让\(N\)的绝对值最小

正确性:
\(|x|\le |y|\),如果\(y\)可行,可以通过调整法证明\(x\)也可行

D

第一问是个经典小学奥数题:

  • \(n=1\)\(1\)
  • \(n\%3=0\)\(3,3,3,\cdots,3\)
  • \(n\%3=1\)\(3,3,3,\cdots,3,2,2\)\(3,3,3,\cdots,3,4\)
  • \(n\%3=2\)\(3,3,3,\cdots,2\)

以下讨论\(n\ge 2\)

下面考虑最小操作数
为了方便,我们先将环全部拆开,再全部合并,这样不影响操作

观察:大于\(4\)的环我们会反复将其分离出一个\(3\)的环,直到其长度\(\le 4\)

特殊情况,\(n=4\)时可能拆\(3\),容易证明其他情况的\(3\)环我们都不会动

那么现在我们有\(1\)环、\(2\)环、\(4\)

我们分类讨论哪些拼成非\(3\)环的那部分,其他的都拼成\(3\)

下面将一下代码怎么写比较简单
容易发现在非\(3\)环拼完后,这时\(4\)环我们均会拆成\(1,3\)
那么我们仅需讨论\(1,2\)环怎么拼成若干\(3\)环,我们单独写一个函数query(c1,c2)来解决此问题

具体可以看下代码

E

\(c_i\)为sg值等于\(i\)的点个数,用异或卷积定义乘法
显然答案为:

\[\frac{1}{n+1}\sum\limits_{i=0}^{\infty} \frac{c^k}{(n+1)^k}=\frac{1}{n+1}\cdot \frac{1}{1-c/(n+1)} \]

可通过fwt实现

F

定义:对于路径\(u,v\),令\(key(u,v)=lca(u,v)\)。对于路径集合\(P\),令\(key(P)\)\(key(u,v)\)深度最大的点。
定义:令\(up(u,d)\)\(u\)往根跳\(d\)步的点,若不存在令\(up(u,d)\)为根

结论1:对于集合\(P\),若\(d\)邻域有交集,则包含\(up(key(P),d)\)

证明:
\(x=up(key(P),d)\)
首先\(key(P)\)\(x\)子树内的路径显然\(d\)邻域包含\(x\)
\(key(P)\)不在\(x\)子树内的路径\(d\)邻域不包含\(x\),则显然整条路径均不在\(x\)子树内,容易证明必定无交

\(key(P)\)容易维护
\(x=up(key(P),d)\)
于是我们将问题转化为:

询问一个点\(x\)是否存在于每条路径的\(d\)邻域

\(K=up(x,d)\)

结论2:对于集合\(P\),若\(d\)邻域包含\(x\),必要条件是每条路径至少存在一个端点在\(K\)子树内

证明显然

具体来讲,结论2是在处理\(key(u,v)\)不在\(K\)子树的路径是否均合法(路径经过\(K\)
现在是要讨论\(key(u,v)\)\(K\)子树内的路径集合是否合法

结论3:对于\(key(u,v)\)\(K\)子树内的路径,该路径\(d\)邻域包含\(x\)的充要条件为\(key(u,v)\)\(K\)的距离\(\le d\)

证明:
对于\(key(u,v)\)\(x-K\)路径上的情况,显然\(d\)邻域包含\(x\)
其他情况,路径\(u,v\)距离\(x\)的最短路径等于\(key(u,v)\)\(x\)的距离

我们将问题转化为:

\(K\)子树中的有效点是否离\(x\)距离均\(\le d\)

这是一个经典问题,可以用线段树维护树的直径
\(O(nlogn+qlogn)\)

posted @ 2020-12-21 21:26  Grice  阅读(180)  评论(0编辑  收藏  举报