洛谷 P4593 [TJOI2018]教科书般的亵渎


神仙伯努利数。。。网上一堆关于伯努利数的东西但是没有证明,所以只好记结论了?

题目本质要求\(\sum_{i=1}^{n}i^k\)

伯努利数,\(B_0=1,B_i=-\frac{\sum_{j=0}^{i-1}C_{n+1}^jB_j}{i+1}(i>0)\)

就这玩意(什么鬼)。。。

然后就神仙的有\(\sum_{i=1}^{n}i^k=\frac{\sum_{i=1}^{k+1}C_{k+1}^{i}B_{k+1-i}(n+1)^{i}}{k+1}\)了?

不会证啊QAQ

#include<bits/stdc++.h>
#define il inline
#define vd void
#define mod 1000000007
typedef long long ll;
il ll gi(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
return x*f;
}
il ll pow(ll x,ll y){
ll ret=1;
while(y){
if(y&1)ret=ret*x%mod;
x=x*x%mod;y>>=1;
}
return ret;
}
ll k,a[101],B[101],C[101][101],inv[101];
il ll query(ll x){
ll ret=0;
for(int i=1;i<=k+1;++i)ret+=C[k+1][i]*B[k+1-i]%mod*pow((x+1)%mod,i)%mod;
return ret%mod*inv[k+1]%mod;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("4593.in","r",stdin);
freopen("4593.out","w",stdout);
#endif
ll T=gi(),n,m;
C[0][0]=1;
for(int i=1;i<101;++i){
C[i][0]=1;
for(int j=1;j<=i;++j)C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
}
inv[1]=1;for(int i=2;i<101;++i)inv[i]=(mod-(mod/i)*inv[mod%i]%mod)%mod;
B[0]=1;
for(int i=1;i<101;++i){
B[i]=0;
for(int j=0;j<i;++j)B[i]+=C[i+1][j]*B[j]%mod;
B[i]=(mod-B[i]%mod*inv[i+1]%mod)%mod;
}
while(T--){
n=gi(),m=gi();k=m+1;
for(int i=1;i<=m;++i)a[i]=gi();
std::sort(a+1,a+m+1);
ll ans=0;
a[++m]=n+1;
for(int i=1;i<=m;++i){
for(int j=i;j<=m;++j)ans+=(query(a[j]-1)-query(a[j-1])+mod)%mod;
for(int j=m;j>=i;--j)a[j]-=a[i];
}
printf("%lld\n",ans%mod);
}
return 0;
}

最新文章

  1. redis 数据类型
  2. css 属性选择器
  3. 【POJ】2096 Collecting Bugs
  4. QSqlTableModel 使用方法(转)
  5. Linq 中 Distinct 方法扩展
  6. 最简单删除SQL Server中所有数据的方法
  7. MySql查看表信息
  8. Sql还原数据库出现3154错误
  9. 依赖lean cloud的注册与登录
  10. c/c++ 多线程 thread_local 类型
  11. topcoder srm 640 div1
  12. js实现ctrl+v上传图片
  13. 在github上创建新的分支(包括管理分支)
  14. faster rcnn源码阅读笔记2
  15. Oracle系列(三): 情景查询一 a表中有个fid字段,逗号分隔开来,b表中有id字段及其他信息,如何关联a表的fid和和b表的id字段查询
  16. 救基友3(三维BFS)
  17. C语言学习感受
  18. You have more than one version of ‘org.apache.commons.logging.Log’ visible, which is not allowed问题解决
  19. 本地调试接口返回信息不对 以及 jar冲突问题
  20. win10里如何在中文输入法里添加美式键盘

热门文章

  1. 转:JavaBean 、 Serverlet 总结
  2. python常见释疑(有别于报错)(不定时更新)
  3. gradle结合spring-boot生成可运行jar包,并打印日志
  4. spring中MessageSource的配置使用方法1[转]
  5. Android 高级UI设计笔记23:Android 夜间模式之 两种常用方法(降低屏幕亮度+替换theme)
  6. iOS应用内抓包、NSURLProtocol 拦截 APP 内的网络请求
  7. AOP:选择正确的时机进行编织
  8. JNI学习笔记
  9. vue部署到tomcat
  10. [SCOI2012]奇怪的游戏