Description
在一个四维空间中,给 (4) 个 (n) 的排列 (A,B,C,D),对于点 ((x,y,z,w)) ,到点 ((A_x,B_y,C_z,D_w)) 的花费为 (1),到其余点的花费为 (2)。有一个人要从 ((1,1,1,1)) 出发,遍历所有点再回到 ((1,1,1,1)),问最小花费。(nleq 10^5)。
Sol
以下皆为口胡。
首先要求四维空间环的个数还是挺显然的。
设 (A'(x)) 表示在排列 (A) 中环长为 (x) 的环的个数。那么答案就是:
[sum_{A'(a)
e 0}sum_{B'(b)
e0}sum_{C'(c)
e0}sum_{D'(d)
e0} A'(a)B'(b)C'(c)D'(d)frac{abcd}{operatorname{lcm}(a,b,c,d)}
]
这个复杂度是 (O(n^2)) 的因为每项中值不为 (0) 的大概只有 (sqrt n) 个。大概可以拿并查集搞一下?(再次强调这些都是口胡)
发现这个式子跟 (abcd) 四项都有关很烦啊,如果把它拆成只跟 (ab) 有关的项和只跟 (cd) 有关的项那似乎就可做一点了...?然后拆拆拆之后式子后边那一大坨变成了:
[frac{abcdgcd(operatorname{lcm}(a,b),operatorname{lcm}(c,d))}{operatorname{lcm}(a,b)operatorname{lcm}(c,d)}=gcd(a,b)gcd(c,d)gcd(operatorname{lcm}(a,b),operatorname{lcm}(c,d))
]
惊奇地发现拆成了只跟 (ab) 有关的项和只跟 (cd) 有关的项。
于是可以维护两个集合 (S_1,S_2),(S_1=left{(gcd(a,b)A'(a)B'(b),operatorname{lcm}(a,b)) ight}),(S_2) 同理。
于是答案就是:
[sum_{(a,b)in S_1}sum_{(c,d)in S_2}acgcd(b,d)
]
开始反演魔法
[sum_{(a,b)in S_1}asum_{pmid b}psum_{(c,d)in S_2} cepsilon(gcd(b,d)=p)
]
[sum_{(a,b)in S_1}asum_{pmid b}psum_{kmidfrac bp}mu(k)sum_{(c,d)in S_2}cepsilon(pkmid d)
]
设 (f(x)=sumlimits_{(c,d)in S_2} cepsilon(xmid d))
式子变成:
[sum_{(a,b)in S_1}asum_{dmid b}f(d)sum_{pmid d}pmu(frac dp)
]
后边那个是 (id*mu) 显然等于 (varphi)
[sum_{(a,b)in S_1}asum_{dmid b}varphi(d)f(d)
]
然后就能通过本题了。
什么jb狗题**才写