社区讨论

浅谈组合数学与一些疑问

学术版参与者 5已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mkb8ehzc
此快照首次捕获于
2026/01/12 22:01
上个月
此快照最后确认于
2026/01/16 21:05
上个月
查看原帖
在做某些组合数题目的时候常常会因为预处理C/A爆掉longlong从而被迫使用高精/int128
那么我们是否可以先预处理出最大的n,m的质因数分解,然后在相乘时首先建立一个空桶,然后乘上一个数直接将乘数的质因数分解塞进桶里,除时从桶中取走这些数,最后将桶里的所有数字相乘,边乘边模最后得到结果
同时我还可以在求max(n,m)以内的质数时离散,2->1,3->2,5->3,7->4 ......就可以大大节省桶空间
肯定有人要说:哦,那你这么搞不是比开个int128更复杂?
但如果爆了int128去手写高精度岂不是更恶心,或者你也可以去学py,这样你就可以切掉紫题了
https://www.luogu.com.cn/problem/P2293
那么问题来了:
这个算法的时间复杂度是多少?
有无更好的优化或者更简单的实现方式?
欢迎大家来吐槽,不过相关思想的代码实现过几天我再填坑,最近太忙了TwT(珍爱生命,远离DP!)

回复

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

正在加载回复...