题解:

  (吐槽:网上题解那个不严谨猜测真是没谁了……关键是还猜得辣么准……)

  直接化简到求和那一段:

$f_{d}(n)=\sum_{t|n}\mu(t)t^{d}\sum_{i=1}^{\frac{n}{t}}i^{d}$

$设S_{d}(T)=\sum_{i=1}^{T}i^{d}$

  那这个是什么呢?伯努利数(我会说我百度找到的吗……)

百度

递推公式

$s_{p}(T)=\sum_{i=1}^{p+1}\frac{(-1)^{p+1-i}C_{p+1}^{i}B_{p+1-i}}{p+1}n^{i}$(这个是百度那个公式化过来的)

  然后$n^{i}$前面那一堆玩意就是网上题解的$a_{i}$。

  接下来的化简我就不解释了……http://www.cnblogs.com/jianglangcaijin/p/4033399.html

  然后我们只要求出C和B这题就没了。(貌似可以把d的范围再扩10倍233)

代码:

  

 #include<cstdio>
using namespace std;
typedef long long ll;
const ll mod=1e9+;
const int N=;
inline ll read(){
ll s=,k=;char ch=getchar();
while(ch<''|ch>'') ch=='-'?k=-:,ch=getchar();
while(ch>&ch<='') s=s*+(ch^),ch=getchar();
return s*k;
}
inline ll powmod(ll a,ll b){
ll ans=;
if(b<)
return powmod(powmod(a,mod-),-b);
a%=mod;
while(b){
if(b&) ans=ans*a%mod;
b>>=;a=a*a%mod;
}return ans;
}
ll w,d;
ll p[N],pk[N];
ll tot=;
inline ll calc(int n){
ll t=powmod(tot,n);
for(int i=;i<=w;i++){
t=t*(1ll-powmod(p[i],d-n))%mod;
}
if(t<) t+=mod;
return t;
}
ll c[][],b[];
int main(){
d=read(),w=read();
ll n=w;
for(int i=;i<=n;i++){
p[i]=read(),pk[i]=read();
tot=tot*powmod(p[i],pk[i])%mod;
}
c[][]=;
for(int i=;i<=;i++){
c[i][]=;
for(int j=;j<=i;j++)
c[i][j]=(c[i-][j]+c[i-][j-])%mod;
}
b[]=;
for(int i=;i<=;i++){
for(int j=;j<i;j++)
b[i]=(b[i]+c[i+][j]*b[j])%mod;
b[i]=b[i]*(-powmod(i+,mod-))%mod+mod;
b[i]%=mod;
}
ll ans=;
ll inv=powmod(d+,mod-);
for(int i=;i<=d+;i++){
ll temp=((d+-i&)?-:)*c[d+][i]*b[d+-i]%mod*inv%mod;
if(temp==)
continue;
temp=temp*calc(i)%mod;
ans+=temp;
ans%=mod;
}
printf("%lld\n",(ans%mod+mod)%mod);
}
/*
3 2
2 1
5 1
*/

最新文章

  1. Repository 设计模式介绍
  2. 一起学HTML基础-格式与布局fixed/absolute/relative/z-index/float
  3. Java的final关键字详解
  4. sql-select
  5. JS倒计时代码
  6. 用Delphi“遥控”按钮
  7. java连接SQLserver
  8. 给java中的System.getProperty添加新的key value对
  9. 覆盖问题&lt;shui&gt;
  10. tomcat启动端口号报错java.net.BindException: Cannot assign requested address
  11. 第三期分享:一款很好用的api文档生成器
  12. R语言实战基本方法
  13. Swagger相关配置记录
  14. 基于LSD的直线提取算法
  15. C++反汇编书
  16. 中小型研发团队架构实践八:分布式协调服务ZooKeeper
  17. CSS盒子模型之CSS3可伸缩框属性(Flexible Box)
  18. Kubernetes 1.5 配置dashboard
  19. MyTest——边界检测
  20. Jquery里面的$(this)和this, 有什么区别

热门文章

  1. JVM如何理解Java泛型类
  2. SDCC2013大会笔记整理
  3. jsoup 使用总结3--高级用法之 not
  4. gitlab钩子搭建
  5. C++开发中BYTE类型数组转为对应的字符串
  6. leetCode刷题(使用链表做加法)
  7. Java并发之ReentrantLock
  8. 微信小程序-获取经纬度
  9. Spring Cloud Eureka Server高可用注册服务中心的配置
  10. jquery遍历table为每一个单元格取值及赋值