A A A
- 容斥之后可以简单计算,考场比较憨
a n s t = ∑ j = 1 n / t ( m j ) ( x t t ! ) j ( ∑ i = 0 t − 1 x i i ! ) m − j [ x n ] n ! m n ans_t=\frac{\sum_{j=1}^{n/t}\binom{m}{j}(\frac{x^t}{t!})^j(\sum_{i=0}^{t-1}\frac{x^i}{i!})^{m-j}[x^n]n!}{m^n} anst=mn∑j=1n/t(jm)(t!xt)j(∑i=0t−1i!xi)m−j[xn]n!
其中 F t ( x ) = ( ∑ i = 0 t − 1 x i i ! ) t F^t(x)=(\sum_{i=0}^{t-1}\frac{x^i}{i!})^t Ft(x)=(∑i=0t−1i!xi)t 可以喂鸽子, exp , ln \exp,\ln exp,ln 用 m t t mtt mtt 实现可以做到 n 2 log n n^2\log n n2logn, C o d e Code Code
B B B
- 简单推导得到
A n s = ∑ T = 1 n ( ( μ ⋅ I d 3 ) ∗ I d ) T ∑ i = 1 n / T ∑ j = 1 m / T i j ( i + j ) Ans=\sum_{T=1}^n((\mu \cdot Id^3)*Id)_T\sum_{i=1}^{n/T}\sum_{j=1}^{m/T}ij(i+j) Ans=T=1∑n((μ⋅Id3)∗Id)Ti=1∑n/Tj=1∑m/Tij(i+j)
构造 I d 3 Id^3 Id3 卷上即可, C o d e Code Code
C C C
- 并没有高级数据结构维护这个东西,考虑第
k
k
k 大用
b
i
t
s
e
t
bitset
bitset 来求,合并和删除都是对一个集合异或
每个点开一个 b i t s e t bitset bitset 空间炸掉了,考虑 b i t s e t bitset bitset 的总大小是 O ( n ) O(n) O(n) 的,每个点维护一个链表,合并的时候双指针即可,需要支持一个可回退化,复杂度 O ( n 2 ω ) O(\frac{n^2}{\omega}) O(ωn2), C o d e Code Code