2024.10.12总结


A:

对于上述整除式的一组解 (c,s)(c, s) ,在 c≤a≤Ac \leq a \leq A 且 s≤b≤Bs \leq b \leq B 时,会被统计入答案,因此它对答案的贡献为 (A−c−1)(B−s−1)(A-c-1)(B-s-1) 。

在 s>xs>x 时,注意到 ss+x>12\frac{s}{s+x}>\frac{1}{2} , cc+x<1\frac{c}{c+x}<1,因此 k=cc+xss+x<112=2k=\frac{\frac{c}{c+x}}{\frac{s}{s+x}}<\frac{1}{\frac{1}{2}}=2 ,所以 k=1k=1 。此时可得 c=sc=s 。

记 p=min⁡(n,m)p=\min (n, m):

ans=c∑i=x+1p(n+1−i)(m+1−i)=∑i=x+1p(n+1)(m+1)−(n+m−2)∑i=x+1pi+∑i=x+1pi2=(n+1)(m+1)(p−x)−12(n+m+2)(p−x)(p+x+1)+16p(p+1)(2p+1)−16x(x+1)(2x+1)\begin{aligned} ans&={c} \sum_{i=x+1}^{p}(n+1-i)(m+1-i) \\ &=\sum_{i=x+1}^{p}(n+1)(m+1)-(n+m-2) \sum_{i=x+1}^{p} i+\sum_{i=x+1}^{p} i^{2} \\ &=(n+1)(m+1)(p-x)-\frac{1}{2}(n+m+2)(p-x)(p+x+1)+\frac{1}{6} p(p+1)(2 p+1)-\frac{1}{6} x(x+1)(2 x+1)\\ \end{aligned}

在 s≤xs \leq x 时,注意到 k=cc+xss+x<1ss+x=s+xs=1+xsk=\frac{\frac{c}{c+x}}{\frac{s}{s+x}}<\frac{1}{\frac{s}{s+x}}=\frac{s+x}{s}=1+\frac{x}{s}。

暴力枚举 s,ks, k,复杂度为 ∑i=1xxi\sum_{i=1}^{x} \frac{x}{i} 为调和级数,此时暴力枚举每组解,累加贡献即可,时间复杂度为 xlog⁡x\mathcal x\log x。

B:

我们发现两个点 u,vu,v 在同一个点集的充分条件是:对于所有不是 u,vu,v 的点 xx,要么 u,vu,v 与 xx 之间均有直接连边,要么 u,vu,v 与 xx 之间均无直接连边。

容易想到哈希,每个点维护该点与别的点是否有直接连边。

而我们仅需讨论一下 u,vu,v 是否存在边即可,我们如果直接维护这两个点是否有边也是可以做的,或者我们可以考虑同时维护 hashu=hashvhash_u=hash_v 和 hashuxor⁡valv=hashvxor⁡valuhash_u \operatorname{xor} val_v=hash_v \operatorname{xor} val_u,如果这两个点不在同一连通块,则这两个等式均不成立,否则一定只会成立其中一个。

时间复杂度 O(n)\mathcal O(n)。

C:

牛魔酬宾

D:

牛魔酬宾

原题