[XSY 3147]子集计数

这篇博客探讨了一道18年的模拟题,关于计算满足特定条件的子集数量,即子集和模n等于r,且大小为m。文章中提到这个问题比EI的博客早两年出现,难度更高。解决方案涉及组合数计算和模运算,利用阶乘的打表处理,以及Euler's totient function。复杂度分析为O(n+d(n)*D),其中D为200000。
摘要由CSDN通过智能技术生成

EI的相关资料
题目描述:给定集合1~n,问能选出多少个子集,满足和mod n=r,且大小为m
1 ⩽ n < 998244353 , 0 ⩽ m ⩽ n , 0 ⩽ r < n 1\leqslant n < 998244353,0\leqslant m \leqslant n,0\leqslant r<n 1n<998244353,0mn,0r<n
18年的模拟题,比EI的博客早上两年,而且还难一些
假设你看了上面的资料,那我就加速了。答案最后要乘上 1 n \frac{1}{n} n1
执行 r = ( n − r ) m o d   n r=(n-r) mod\ n r=(nr)mod n
[ x m ] ∑ 0 < = i < n ( ( − 1 ) n ( i , n ) + 1 ∗ y n ( i , n ) + 1 ) ( i , n ) ∗ ω n i r [x^m]\sum_{0<=i<n}((-1)^{\frac{n}{(i,n)}+1}*y^{\frac{n}{(i,n)}}+1)^{(i,n)}*\omega_{n}^{ir} [xm]0<=i<n((1)(i,n)n+1y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值