社区讨论

萌新说一下关于这题的复杂度

P4980【模板】Pólya 定理参与者 25已保存回复 27

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
27 条
当前快照
1 份
快照标识符
@lodrbafc
此快照首次捕获于
2023/10/31 11:15
2 年前
此快照最后确认于
2023/11/07 01:44
2 年前
查看原帖
嗯,如果因为事实性错误被 d 了,我绝对会以最快的速度删帖的
ouuan 的上一个帖子里谈到了这个问题。
即题解里说单次复杂度是 O(n34)O(\sqrt[4] {n^3})
原因可能是因为他们默认了每次循环都会进入求\phi的环节,而每次求\phi的平均复杂度是 O(n)O(\sqrt{\sqrt n}),这个平均复杂度是因为每当存在一个 >n>\sqrt n 的因子必然会存在一个 <n<\sqrt n 的因子,所以这显然有一个上界是 34\frac{3}{4}
但是如果按照 O(d(n)n)O(d(n)\cdot \sqrt{ \sqrt{n}}) 来分析,那么一定不会超过 O(n14+13=n712)O(n^{\frac{1}{4}+\frac{1}{3}}=n^{\frac{7}{12}}) 。这个因子数量是毛子估出来的一个比较松的上界。然而这个还是很松,因为 n\sqrt n 的变化率极小,所以 n\sqrt{ \sqrt{n}} 是很松的。
所以这大概就是能够 1s1s 内过掉这题的原因。可以发现当 n=109n=10^9 时最终多组数据总运算量大概在 10810^8 左右,是一个比较常见可以过掉的数据范围。

回复

27 条回复,欢迎继续交流。

正在加载回复...