CF1780F Three Chairs
题目简述
将 \(a\) 从小到大排序后,求
\[\sum_{i=1}^n\sum_{j=i+1}^n\sum_{k=j+1}^n\bigl[\gcd(a_i,a_k)=1\bigr]
\]
推导过程
\[\begin{align*}
&\sum_{i=1}^n\sum_{j=i+1}^n\sum_{k=j+1}^n\bigl[\gcd(a_i,a_k)=1\bigr] \\
=&\sum_{i=1}^n\sum_{j=i+2}^n(j-i-1)\cdot\bigl[\gcd(a_i,a_j)=1\bigr] \\
=&\sum_{i=1}^n\sum_{j=i+1}^n(j-i-1)\cdot\bigl[\gcd(a_i,a_j)=1\bigr]-\sum_{i=1}^{n-1}(i+1-i-1)\cdot\bigl[\gcd(a_i,a_{i+1})=1\bigr] \\
=&\sum_{i=1}^n\sum_{j=i+1}^n(j-i-1)\cdot\bigl[\gcd(a_i,a_j)=1\bigr] \\
=&\sum_{i=1}^n\sum_{j=i+1}^n(j-i-1)\cdot\sum_{d|a_i,\,d|a_j}\mu(d) \\
=&\sum_{d=1}^V\mu(d)\cdot\sum_{\substack{1\leq i<j\leq n\\[2pt]d|a_i,\;d|a_j}}(j-i-1)
\end{align*}
\]
对于每一个 \(d\),设 \(m\) 表示 \(a\) 的所有元素中可以被 \(d\) 整除的数量,\(p\) 为它们的下标.
\[\begin{align*}
&\sum_{\substack{1\leq i<j\leq n\\[2pt]d|a_i,\;d|a_j}}(j-i-1) \\
=&\sum_{i=1}^m\sum_{j=i+1}^m\bigl(p_j-p_i-1\bigr)
\end{align*}
\]
考虑 \(p_j\),\(-p_i\),\(-1\) 对式子的贡献.
- 对于每个 \(p_j\):对于每个 \(i\in[1,j)\),都有一个对应的 \(j\).
- 对于每个 \(-p_i\):对于每个 \(j\in(i,m]\),都有一个对应的 \(i\).
- 对于每个 \(-1\):\(\sum_{i=1}^m\sum_{j=i+1}^m(-1)=-\frac{m(m-1)}{2}\).
因此
\[\begin{align*}
&\sum_{i=1}^m\sum_{j=i+1}^m\bigl(p_j-p_i-1\bigr) \\
=&\left(\sum_{i=1}^m\bigl((i-1)-(m-i)\bigr)\cdot p_i\right)-\frac{m(m-1)}{2} \\
=&\left(\sum_{i=1}^m(2i-m-1)\cdot p_i\right)-\frac{m(m-1)}{2}
\end{align*}
\]
由于每个数约有 \(\log\) 级别数量的因子,所以对于每个 \(d\) 直接处理出 \(p\) 数组即可,于是时空复杂度都是 \(O(n\log V)\).
浙公网安备 33010602011771号