8.16总结

发布时间 2023-08-21 09:23:06作者: 2020ljh

总结

t1数论题比赛时直接暴力50pts,正解就是exgcd,设不定方程
\(ax+cy= 1\) , 那么就变成了
\(Z = Z^{ax+cy} = Z^{ax} * Z^{cy} = b^{x} c^{y}\)
解出 \(x,y\) ,用逆元辅助快速幂解决复数情况即可

t2比赛看到时震惊了,以为是道大水题(这种样例真的一点指示性都没有),以为老师大发慈悲送每人100pts。

实际是一个很妙的构造。
考虑从 \([0,n-1]\) 分配点的编号,对于一个选定的点\(i\),看它与 \(n\) 个点连的边(包括自己)。
发现每一条边两个端点的编号和 \(\bmod (n-1)\) 取到了 \([0,n-1)\)

其中除了 \(i\)之外都是取到了一次
(每次往后一个点就加一嘛这个很好理解),
\(i\)取到了两次, 因为 \(0\bmod (n-1)= (n-1)\bmod (n-1)\)
那么就把第 \(n-1\) 个点单独拿出来,当点 \(i\) 选到自己的时侯替换为 \((i,n-1)\)
所以此时我们就可以对于每场考试钦定一个不同于其他所有考试的 \(mod\)
取所有端点和的余数等于此 \(mod\) 的边,特判自己连自己的边就可以了。

t3 链的情况 \(DP\) 40分,好评,考场上还以为能切。
正解是考虑好点和坏点的限制,容斥一波,在树上做背包(难推)

t4 对于这种数列变化的题目,我们可以找一些改前改后不变或者固定变化的性质,我们把 \(abc\) 看作 \(012\)
然后手推几组发现无论怎么变化,一个数列的和 \(\bmod 3\) 总是不变的,推理如下

对于相邻的元素 \(x,y\) 都变成 \(3-x-y\)
此时变化量
\(\Delta=2*(3-x-y)-x-y=6-3*(x+y)=3*(2-x-y)\)
\(\Delta\bmod3=0\)
还有一个结论就是: 一个数列 \(X\) ,可以变成所有的 \(Y\) 当且仅当:

Y的数列和模3=X的数列和模3
Y有至少一处连续两位相等

此时就可以用一个 \(DP\) 计算答案,设 \(f_{i,j,k,l}\)
表示第 \(i\) 位,数列和 \(\bmod 3=j\),上一位选的数为 \(k\),是/否有连续两个相等
特判给的数列全部一样的情况和一个连续段都没有的情况

这次除了t2暴力打满,可喜可贺