Codeforces 1257G Divisor Set Dilworth定理+分治FFT
题意给你一个大数由n个可重复的质数相乘,要求求出一个这个大数的约数的子集,使得这个子集里面的数两两互补为对方的倍数n≤2∗105n\leq2*10^5n≤2∗105分析考虑这样的子集是什么样子的把一个数向所有的约数连一条有向边,然后就是等于求最长反链(即选出最多的点两两不到达)又由于最长反链 = 最小链覆盖(即选出最少的链覆盖所有的点,每个点至少覆盖一次)发现这样的图是以质数的幂次k...
原创
2019-11-26 20:50:31 ·
401 阅读 ·
0 评论