problem B
题意:
求
\[\sum_{a=1}^{n}\sum_{b=1}^{n}\sum_{c=1}^{n}\sum_{d=1}^{n}A_aB_bC_dD_dE_{gcd(a,b)}F_{gcd(b,c)}G_{gcd(c,d)}H_{gcd(d,a)}
\]
满足\(n \leq 50000\) .
Sol: 未实现
推一下式子就可以变成
\[\sum_{a=1}^{n}\sum_{b=1}^{n}\sum_{c=1}^{n}\sum_{d=1}^{n}\hat A_a\hat B_b\hat C_d\hat D_d\hat E_{lcm(a,b)}\hat F_{lcm(b,c)}\hat G_{lcm(c,d)}\hat H_{lcm(d,a)}
\]
由\(a\)到\(b\)连一条权值为\(lcm(a, b)\)的边,边数很少.
直接看成枚举四元环,貌似不需要拆分层图???? 多维护这个数是第几个到的,开4个数组,直接做就好了吧..
枚举三元环
- 将所有无向边\((x, y)\)定向为\(deg_x \geq deg_y\).
- 枚举一个\(i\)作为起始点,把连出去的所有点的\(last \rightarrow i\)
- 枚举\(i\)连出去的所有点\(j\),并且枚举\(j\)连出去的所有点\(k\)
- 如果\(last_k = i\),那么找到一个三元环.
可见一个三元环只在最大的点被计算到贡献.
复杂度是\(O(m \sqrt m)\)的,下面的\(deg\)为新图上的度数
- 对于所有\(deg_u \leq \sqrt m\)的\(u\),此时的代价最多为\(deg_u^2\),最多复杂度为\(O(m \sqrt m)\)
- 对于所有\(deg_u > \sqrt m\)的\(u\),可见最多只有\(\sqrt m\)这样的点,最多会枚举其余的\(m\)条边,此部分复杂度为\(O(m \sqrt m)\)
枚举四元环,我不会证复杂度
- 将所有点按照度数排序,注意我们并不需要重定向,我们枚举一个四元环中度数最大点\(x\)
- 继续枚举一个\(y, \; y < x\),以及一个\(z, z < x\)
- 我们给答案加上\(cnt_z\),并且\(cnt_z \rightarrow cnt_z + 1\)