专栏文章

Xmas Contest 2020 D

AT_xmascon20_d题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mio4emrz
此快照首次捕获于
2025/12/02 13:11
3 个月前
此快照最后确认于
2025/12/02 13:11
3 个月前
查看原文
AA 中非 cc 位置较少,将其分解为 BB 与全 cc 矩阵 CC 之和,则
Bi,j={1ci=jcijij0otherwiseB_{i,j}=\begin{cases} 1-c & i=j\\ -c & i\ne j\wedge i\mid j\\ 0 & \text{otherwise} \end{cases}
detA\det{A} 展开,有 (1)τ(p)1in(Bi,pi+Ci,pi)(-1)^{\tau(p)}\prod\limits_{1\le i\le n}\left(B_{i,p_i}+C_{i,p_i}\right) 对答案产生贡献,在 ii 行中仅有 pip_i 值有意义;若将 \prod 再展开,钦定 iSi\in SBi,piB_{i,p_i} 产生贡献,否则是 Ci,piC_{i,p_i},即可得到 detA\det{A} 的另一种算法:选取 S[n]S\subseteq[n],对于所有 iSi\in S,将 Bi,B_{i,*} 全体替换为 Ci,C_{i,*} 得到矩阵 BB',求 detB\det{B'} 之和。由于 rank(C)=1\operatorname{rank}(C)=1,故若 S>1|S|>1BB' 存在两行相同,则行列式为 00,则仅有 S1|S|\le 1 情况下对答案有贡献。
BB 是一个上三角矩阵,故 detB=(1c)n\det{B}=(1-c)^n,也即 S=S=\emptyset 时的贡献;当 S=1|S|=1 时,若选取第 kk 行替换,考察 ipii\to p_i 形成的若干置换环,发现除 kk 所在环外其余环均为自环,而 kk 所在环形如,除 kk 之外,其余点均为其后继点的因数。
fkf_k 表示替换第 kk 列的答案:
  • pkkp_k\ne k:枚举 kk 的所有因数 d(dk)d(d\ne k),找到 dd 所在置换环,若 dd 后继节点为 xx,由于 dd 原本是环上最大值,而 k>dk>dkk 原本必是孤立点,则断边 dcxd\overset{c}{\longrightarrow}xk1ckk\overset{1-c}{\longrightarrow}k,加边 dckcxd\overset{-c}{\longrightarrow}k\overset{c}{\longrightarrow}x,这是所有 dd 的方案向 kk 的映射,倒着射回去也一样,故我们将所有 dd 的方案和 pkkp_k\ne k 情况下的方案构成了双射!再分析 τ(p)\tau(p) 的变化,由于环个数恰好减一(并入一孤立点),则 τ(p)\tau(p) 在模 22 意义下变化 11,这一结论我们在 AGC070B 中已有推导。
  • pk=kp_k=k:则 kkk\to k 的边权由 1c1-c 变为 cc
依照边权和行列式系数 (1)τ(p)(-1)^{\tau(p)} 的变化,则可得到转移方程:
fk=c1c(1+dk,dkfd)f_k=\frac{c}{1-c}\left(1+\sum\limits_{d\mid k,d\ne k}f_d\right)
欲求 1knfk\sum\limits_{1\le k\le n} f_knn 很大,感觉肯定要用到一些筛子相关了。令 gk=[k=1]cg_k=[k=1]-c,则有 k,(f×g)k=c\forall k,(f\times g)_k=c,故可以杜教筛计算。预处理 B\le Bff 进行优化,则复杂度为 BlogB+nBB\log{B}+\frac{n}{\sqrt{B}},取 B=(nlogn)2/3B=\left(\frac{n}{\log{n}}\right)^{2/3},得最终复杂度 O(n2/3log1/3n)\mathcal{O}(n^{2/3}\log^{1/3}{n})

评论

0 条评论,欢迎与作者交流。

正在加载评论...