zoukankan      html  css  js  c++  java
  • bzoj4403(模板题)

    序列统计,将答案转化,然后就是Lucas的模板题,用费马小定理瞎搞。

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cmath> 
     6 using namespace std;
     7 
     8 const int maxn=1e6+3,mod=1e6+3;
     9 
    10 long long fac[maxn];
    11 long long qpow(long long a,long long b)
    12 {
    13     long long ans=1;
    14     a%=mod;
    15     for(long long i=b;i;i>>=1,a=a*a%mod)
    16         if(i&1)ans=ans*a%mod;
    17     return ans;
    18 }
    19 long long C(long long n,long long m)
    20 {
    21     if(m>n||m<0)return 0;
    22     long long s1=fac[n],s2=fac[n-m]*fac[m]%mod;
    23     return s1*qpow(s2,mod-2)%mod;//费马小定理 
    24 }
    25 long long lucas(long long n,long long m)
    26 {
    27     long long res=1;
    28     while(n||m)
    29     {
    30         res=res*C(n%mod,m%mod)%mod;//Lucas定理 
    31         n/=mod,m/=mod;
    32     }
    33     return res;
    34 }
    35 int main()
    36 {
    37     fac[0]=1;
    38     for(int i=1;i<maxn;i++)
    39         fac[i]=fac[i-1]*i%mod;
    40     int cas;
    41     scanf("%d",&cas);
    42     while(cas--)
    43     {
    44         int x,y,z;
    45         scanf("%d%d%d",&x,&y,&z);
    46         y=z-y+1;
    47         printf("%lld
    ",(lucas(x+y,y)-1+mod)%mod);
    48     }
    49 }
  • 相关阅读:
    DAY12 基本余数 运算符2
    DAY11 基本运算符
    DAY10 变量 常量 作用域
    DAY09 JAVA 类型转换
    DAY08 数据类型2
    DAY07 数据类型
    DAY06 JAVA基础语法1注释2标识符
    Beta冲刺集合
    Alpha冲刺集合
    高级软件工程实践总结
  • 原文地址:https://www.cnblogs.com/fengzhiyuan/p/7410991.html
Copyright © 2011-2022 走看看