伯努利数

这个是答案

其中的b是伯努利数,可以n^2预处理

伯努利数n^2递推

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e3 + , mod = 1e9 + ;
ll n, k;
ll inv[N], c[N][N], b[N];
inline ll rd()
{
ll x = , f = ;
char c = getchar();
while(c < '' || c > '') { if(c == '-') f = -; c = getchar(); }
while(c >= '' && c <= '') { x = x * + c - ''; c = getchar(); }
return x * f;
}
int main()
{
int T = rd();
c[][] = ;
for(int i = ; i < N; ++i)
{
c[i][] = ;
for(int j = ; j < N; ++j) c[i][j] = (c[i - ][j] + c[i - ][j - ]) % mod;
}
inv[] = ;
for(int i = ; i < N; ++i)
if(i != ) inv[i] = (mod - mod / i) * inv[mod % i] % mod;
b[] = ;
for(int i = ; i < N - ; ++i)
{
for(int j = ; j < i; ++j)
b[i] = (b[i] + c[i + ][j] * b[j]) % mod;
b[i] = ((b[i] * -inv[i + ] % mod) + mod) % mod;
}
while(T--)
{
n = rd() % mod;
k = rd();
ll ans = , fac = ;
for(int i = ; i <= k + ; ++i)
{
fac = fac * (n + ) % mod;
ans = (ans + c[k + ][i] * b[k + - i] % mod * fac % mod) % mod;
}
ans = (ans * inv[k + ]) % mod;
printf("%lld\n", ans);
}
return ;
}

51nod1228的更多相关文章

  1. 51nod1228 序列求和(自然数幂和)

    与UVA766 Sum of powers类似,见http://www.cnblogs.com/IMGavin/p/5948824.html 由于结果对MOD取模,使用逆元 #include<c ...

  2. 51nod1228 序列求和(伯努利数)

    题面 传送门 题解 \(O(n^2)\)预处理伯努利数 不知道伯努利数是什么的可以看看这篇文章 不过这个数据范围拉格朗日差值应该也没问题--吧--大概-- //minamoto #include< ...

  3. 51Nod - 1228 序列求和 (自然数幂和+伯努利数)

    https://vjudge.net/problem/51Nod-1228 Description T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k, ...

随机推荐

  1. Cocos2d-x 3.0 打造一个全平台概念文件夹

    Cocos2d-x 3.0 打造一个全平台概念文件夹http:// www.eoeandroid.com/thread-328055-1-1.html

  2. Spring集成JDBC

    不同spring版本合成的方式,有时候不一样,需要查看帮助文档来看如何集成,帮助文档在spring发行包中. 1.导入spring的包(这里吧Spring-3.1.3 Release的所有jar包都导 ...

  3. [笔记] 精通正则表达式/Mastering Regular Expressions

    / 匹配<emphasis>这个tag标注的IP地址的RE:‘<emphasis>([0-9]+(\.[0-9]+){3})</emphasis>' / 锚定--a ...

  4. Android调用JNI本地方法经过有点改变

    方法注册好后要经过哪些路 Android一个异常捕获项目 https://github.com/xroche/coffeecatch coffeecatch CoffeeCatch, a tiny n ...

  5. 2016年最值得新手程序猿阅读的书:《增长project师指南》

    这本书的来源于根据我在<Repractise简单介绍篇:Web开发的七天里>中所说的 Web 开发的七个步骤而展开的电子书.当然它也是一个 APP.它一本关于怎样成为增长project师的 ...

  6. 根据百度地图API获取指定地点的经纬度

    做项目时,遇到对地点获取地图中对应的经纬度,作一下笔记,以备以后直接使用 package com.hpzx.data; import java.io.BufferedReader; import ja ...

  7. 《AndroidStudio有用指南》反馈问题和建议

    <AndroidStudio有用指南>反馈问题和建议 IntelliJ IDEA在持续更新, Android Studio也在持续更新, 本书也将会持续更新. Android Studio ...

  8. EasyRTMP实现RTMP异步直播推送之环形缓冲区设计

    本文转自EasyDarwin团队kim的博客:http://blog.csdn.net/jinlong0603 EasyRTMP的推送缓冲区设计 EasyRTMP内部也同样采用的环形缓冲的设计方法,将 ...

  9. Collection of Boot Sector Formats for ISO 9660 Images

    http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/view/head:/doc/boot_sectors.txt Colle ...

  10. wprintf、wcout无法输出中文的解决方案

    在C语言中,若wprintf无法输出中文,调用函数setlocale(int category, const char *locale)设置locale即可输出中文 此方法也可用于C++中 例: #i ...