首页 > 其他分享 >CF1712E2的双log解法

CF1712E2的双log解法

时间:2022-08-15 10:14:26浏览次数:66  
标签:log 离线 ap 因数 CF1712E2 解法 vert

令 \(x=\operatorname{lcm}(i,j,k)(i<j<k)\)。如果 \(x<i+j+k\),那么 \(x=k\) 或 \(2k\)。

如果 \(x=k\),有 \(i\vert k,j\vert k\)。离线后很容易树状数组计算。

如果 \(x=2k\),令 \(x=2^ap\),则 \(2^a\vert i\) 或 \(2^a\vert j\)。

将询问离线,按左端点从大到小处理。对于每个数 \(k\) 存两个 vector 表示它的所有因数和所有奇因数乘上 \(2^{a+1}\) 后的结果(\(k=2^ap,2\nmid p\))。对于 \(x=k\) 的数量可以用存因数的 vector 简单算出。否则,可以二分更新答案。然后树状数组单点修改+区间查询,可以做到 \(O(n\log^2n)\)。

标签:log,离线,ap,因数,CF1712E2,解法,vert
From: https://www.cnblogs.com/stinger/p/16587248.html

相关文章