zoukankan      html  css  js  c++  java
  • 洛谷P1313 计算系数 数学 数论

    洛谷P1313 计算系数
    数学 数论
    1、首先我们不管这个系数 a b 那么他的系数就是杨辉三角 他那项就是 c(k,n)x^n*y^m
    2、然后现在加了系数 a 和 b ,那么就只要把 a 看做 x中的,然后a与x一样,相当a^n
    3、可以发现,x^n*y^m项的系数一定有一个因数a^n*b^m,所以可以提取出来。
    4、然后关于求C的话由两种方法,一种方法是杨辉三角 这样要 n^2 求 但数据再大点就挂了
    5、然后还可以质因数分解求
    6、我是用费马小定理求逆元做的,因为 mod 别的还行,除法不能直接模,得求逆元
    根据欧拉定理 a^phi(mod) == 1 ( % mod ) ( gcd( a,mod ) == 1
    然后推得费马小定理 a^(mod-1) == 1 ( % mod ) ( gcd( a,mod ) ==1 && mod is prime )
    因为质数的phi 是 n-1 所以 a 的逆元为 a^( mod-2) a*a^(mod-1) ==1 (% mod )
    7、这样逆元求出来就可以求答案了

    PS a 与 b 可能一开始就已经超过 mod了,然后乘一下就爆 int 了,所以需要一开始就要 % mod
    否则会炸

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cmath>
     4 #include <cstdlib>
     5 #include <string>
     6 #include <algorithm>
     7 #include <iomanip>
     8 #include <iostream> 
     9 using namespace std ; 
    10 
    11 const int mod = 10007,mod2 = 10006 ; 
    12 int a,b,k,n,m,ans ; 
    13 
    14 inline int ksm(int base,int ind) 
    15 {
    16     int a[32],num = 0,sum = 1  ; 
    17     while(ind) 
    18     {
    19         a[++num] = ind&1 ;
    20         ind/=2 ; 
    21     } 
    22     for(int i=num;i;i--) 
    23     {
    24         sum = sum*sum % mod ;
    25         if( a[ i ] ) sum = sum*base % mod ; 
    26     }
    27     return sum ;     
    28     
    29 }
    30 
    31 int main() 
    32 {
    33     scanf("%d%d%d%d%d",&a,&b,&k,&n,&m ) ; 
    34     a%=mod;  b%=mod ; 
    35     ans = 1 ; 
    36     for(int i=2;i<=k;i++) ans = ans*i % mod ;  
    37     for(int i=2;i<=n;i++) ans = ( ans*ksm(i,mod-2) ) % mod ;  
    38     for(int i=2;i<=m;i++) ans = ( ans*ksm(i,mod-2) ) % mod ; 
    39     ans = ( ans*ksm( a,n ) % mod ) *ksm( b,m ) % mod ; 
    40     printf("%d
    ",ans) ; 
    41     
    42     return 0 ; 
    43 } 
  • 相关阅读:
    自已实现的async 只实现了一部分功能
    async包 ES6 async/await的区别
    网络爬虫基本原理——基于python语言
    推荐一本适合初学者全面自学python的书(附赠电子书)
    用python画小猪票佩奇
    用Python全自动下载抖音视频!
    用python操作PDF文件
    Python爬虫抓取收集考试大纲
    京东商城大规模爬虫的开发
    Python爬虫一步步抓取房产信息
  • 原文地址:https://www.cnblogs.com/third2333/p/7017093.html
Copyright © 2011-2022 走看看