A. Vertex Cover [zmy]
二分图,贪心构造。
B. Party [zmy]
对于每个询问我们处理一遍。首先有一个这样的性质:如果纸上写了男生集合
X
,女生集合
C. Friend-Graph [zmy]
又拉姆塞定理, n>=6 时必然存在一个同色三角形,所以不用判断。只需暴力枚举 n<6 的情况。
D. A Secret [jds]
kmp。
E. CaoHaha’s staff [jds]
推一下公式,然后二分求解。
F. Subsequence Count [zmy]
我们维护线性变换
[f[0],f[1],1]
,
f[0]
表示以
0
为开始的序列个数,
如果当前位置为
如果当前位置为 1 ,转移矩阵为:
对于翻转操作,我们先交换前两行,再交换前两列。
最后,我们用线段树维护区间操作即可。
G. Palindrome Function [zmy]
枚举进制数,数位dp
H. The Karting [jds]
dp。f[i][j][k]表示前i-1个点考虑完,当前到i的路径有2j条,i和i以后还要选k个checkpoint的最大难度值,答案便是f[n+1][0][0]。
I. The Designer [wbr]
笛卡尔定理:定义一个圆的曲率 k=±1r ,那么对于两两相切有六个切点的四个圆,有 (k1+k2+k3+k4)2=2(k21+k22+k23+k24) 。其中曲率的正负号为正当且仅当它与其他圆都外切。
化简此式可以得到一个关于 k4 的一元二次方程。方程的解即为圆 k3 相邻两个圆的曲率。由此可以递推得出答案。
当 N 很大时,后面圆对答案的贡献微乎其微,故可以用eps卡掉。
J. Graph Of Zhuper [zmy]
首先我们用分治 fft 求出大小为
K. Convolution Layer [zmy]
算一下复杂度,发现就多一个
m
的