注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一个蒟蒻的代码回收站

最后一次省选求rp

 
 
 

日志

 
 

bzoj3142【HNOI2013】数列解题报告  

2014-04-22 14:49:00|  分类: bzoj |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

做完变态题之后要刷些水题放松一下!

题目链接

数学题的即视感……

ans=n*m^(k-1)-m*(m+1)/2*m^(k-2)*(k-1)

证明什么的已经烂大街了,就不写了。

然后就快速幂一下啦。


#include<cstdio>

#include<iostream>

using namespace std;

 

typedef long long ll;

ll n,m,mo,k;

 

ll quick_power(ll x,ll y)

{

    ll j=y;

    ll c=x;

    ll ans=1;

    while (j)

    {

        if (j&1) ans=(ans*c)%mo;

        j>>=1;c=(c*c)%mo;

    }

    return ans;

}

 

int main()

{

    scanf("%lld%lld%lld%lld",&n,&k,&m,&mo);

    k--;

    ll tmp=quick_power(m,k-1);

    cout << (ll)(n%mo *m - m*(m+1)/2 %mo*k+mo*1000000000) %mo * tmp %mo << endl;

    return 0;

}


  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017