zoukankan      html  css  js  c++  java
  • 51nod 1228 序列求和

    伯努利数,刚!

    自然数幂和神犇的blog:  http://blog.csdn.net/acdreamers/article/details/38929067

    伯努利数的2个重要的式子:

    为什么图片这么大。。。

    这样的话n^2预处理出伯努利数,然后就可做了

     1 #include <bits/stdc++.h>
     2 #define LL long long
     3 using namespace std;
     4 
     5 const int M=2005;
     6 const int maxn=2050;
     7 const int mod=1000000007;
     8 
     9 
    10 int fac[maxn],inv[maxn],facinv[maxn];
    11 void pre_C()
    12 {
    13     fac[0]=inv[1]=inv[0]=facinv[1]=facinv[0]=1;
    14     for (int i=1; i<=M; i++) fac[i]=(LL)fac[i-1]*i%mod;
    15     for (int i=2; i<=M; i++) inv[i]=(LL)(mod-mod/i)*inv[mod%i]%mod;
    16     for (int i=2; i<=M; i++) facinv[i]=(LL)inv[i]*facinv[i-1]%mod;
    17 }
    18 LL C(int n, int m)
    19 {
    20     return (LL) fac[n]*facinv[m]%mod*facinv[n-m]%mod;
    21 }
    22 
    23 int B[maxn];
    24 void pre_B()
    25 {
    26     B[0]=1;
    27     for (int i=1; i<=M; i++)
    28     {
    29         int ans=0;
    30         for (int j=0; j<i; j++) ans=(ans+(LL)C(i+1,j)*B[j]%mod)%mod;
    31         ans=(LL)ans*(-inv[i+1])%mod;
    32         ans=(ans+mod)%mod;
    33         B[i]=ans;
    34     }
    35 }
    36 
    37 int tmp[maxn];
    38 int work(int k)
    39 {
    40     LL ans=inv[k+1],sum=0;
    41     for (int i=1; i<=k+1; i++)
    42         sum=(sum+C(k+1,i)*tmp[i]%mod*B[k+1-i]%mod)%mod;
    43     ans=ans*sum%mod;
    44     return ans%mod;
    45 }
    46 
    47 LL n; 
    48 int k;
    49 int main()
    50 {
    51     pre_C(); pre_B();
    52     int T; scanf("%d",&T);
    53     while (T--)
    54     {
    55         scanf("%I64d %d",&n,&k);
    56         n%=mod; tmp[0]=1;
    57         for (int i=1; i<=M; i++) tmp[i]=(LL)tmp[i-1]*(n+1)%mod;
    58         printf("%d
    ",work(k));
    59     }
    60     return 0;
    61 }
  • 相关阅读:
    codeforces 814B An express train to reveries
    codeforces 814A An abandoned sentiment from past
    codeforces 785D D. Anton and School
    codeforces 785C Anton and Fairy Tale
    codeforces 791C Bear and Different Names
    AOP详解
    Spring集成JUnit测试
    Spring整合web开发
    IOC装配Bean(注解方式)
    IOC装配Bean(XML方式)
  • 原文地址:https://www.cnblogs.com/ccd2333/p/6792747.html
Copyright © 2011-2022 走看看