hdu 4704 Sum (组合+欧拉定理)

网友投稿 688 2022-08-27

hdu 4704 Sum (组合+欧拉定理)

hdu 4704 Sum (组合+欧拉定理)

​​应该有2种——1、2; 2、1(一开始以为它们相同,算作一种,怎么也算不出来)

如此以来,容易分析,将数字n看作1+1+1……+1(n个)

那么

(组合思维,隔板看待)

于是,答案就是

原问题的答案就是

我们发现,mod是一个素数,所以,借助欧拉定理 (或者费马小定理),得到

#include #include #include using namespace std;typedef long long LL;const int mod=1e9+7,N=1e5+10;char str[N];LL power(LL a,LL p){ LL ans=1; while(p){ if(p&1) ans=ans*a%mod; a=a*a%mod; p>>=1; } return ans;}int main(){ while(~scanf("%s",str)){ int len=strlen(str); LL ans=0; for(int i=0;i

​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ASP.NET MVC 5改进了基于过滤器的身份验证
下一篇:基础排序算法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~