发现一组hack $O(n\log n)$ 算法的数据(?!)
查看原帖
发现一组hack $O(n\log n)$ 算法的数据(?!)
121995
CrTsIr400楼主2020/8/16 11:48

满二叉树O(nlogn)O(n\log n)和链O(n)O(n)的复杂度基本卡不了这个算法,但是使用树套树可以把它卡到O(n(log(n/k)k))O(n(\log(n/k)*k)),即O(n×(klog(n)klog(k)))O(n\times(k\log(n)-k\log(k)))

对于构造2202^{20}个点(略大于10610^6)的一棵树,可以分成 2102^{10} 层,每层一棵 2102^{10} 个节点的树。

先构建 10241024 棵满二叉树,然后用1023条边让他们链接,每棵树之间,上面一棵树的其中一个叶子节点和下面那棵树的根节点连一条边。

时间复杂度就可以被卡到O(106×10×2010×10)=O(106×100)=O(108)O(10^6 \times 10\times 20-10\times 10)=O(10^6\times 100)=O(10^8)

可以卡常数较大的程序。

这个数据不知道可不可行(?!)

2020/8/16 11:48
加载中...