2022.10.20 闲话

没啥可写的了啊,放一个水题吧:

ABC254D Together Square

给整数 n,求有多少 1i,jn 使得 ij 是完全平方数 .

f(i)i 的最大平方因子 .

然后 ij 是完全平方数 iff ijf(i)f(j) 是完全平方数 .

然而形如 if(i) 的数是 square-free 的,于是原命题又 iff if(i)=jf(j) .

于是调和级数算 f,然后开个桶统计答案即可 . 时间复杂度就是 Θ(nlogn) 的 .

能不能再给力一点啊?其实真的是可以的,Θ(n) 解法Θ(n) 解法 甚至都是存在的 .


一个问题:查询第 n 个只有 2,3,5,7 因子的数 .

我们就可以整一个堆,一开始放进去 1 .

然后每次弹堆顶,将堆顶的数与 2,3,5,7 中不小于其最大质因子的数的乘积(可能有多个)加入堆 .

等弹了 n 个以后就得到答案了 .

这个 Trick 好像叫堆内增量式更新?

posted @   yspm  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
😅​
点击右上角即可分享
微信分享提示