zoukankan      html  css  js  c++  java
  • 洛谷P3414 SAC#1

    洛谷P3414 SAC#1 - 组合数

    题目描述

    辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!

    今天他萌上了组合数。现在他很想知道simga(C(n,i))是多少;其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。

    由于答案可能很大,请输出答案对6662333的余数。

    输入输出格式

    输入格式:

    输入仅包含一个整数n。

    输出格式:

    输出一个整数,即为答案。

    输入输出样例

    输入样例#1: 复制
    3
    输出样例#1: 复制
    4

    说明

    对于20%的数据,n <= 20;

    对于50%的数据,n <= 1000;

    对于100%的数据,n <= 1 000 000 000 000 000 000 (10^18)

    分析

    原文地址

    1、
    2、
    3、
    证明:由
    当$a = b = 1$时,代入二项式定理可证明$1$式;
    当$a = -1$,$b = 1$时代入二项式定理可证明$2$式;代入$a = 1$,$b = -1$可得到另一个意义相同的式子;
    $(1式+2式) over 2$可证明$3$式。

    代码

    又复习了一下二项式定理。

    #include<cstdio>
    using namespace std;
    const long long mo=6662333;
    long long ksm(long long a,long long p){
        if(p<0) return 0; long long res=1; a%=mo; //这儿要先对a取模
        for(;p;p>>=1,a=a*a%mo) if(p&1) res=res*a%mo;
        return res;
    }
    int main(){
        long long n; scanf("%lld",&n);
        printf("%lld",ksm(2,n-1));
        return 0;
    }
        
  • 相关阅读:
    POJ 2503 Babelfish
    POJ 2528 Mayor's posters
    203C Photographer
    190A Vasya and the Bus
    POJ 3630 Trie树 TLE
    ThinkPHP验证码的使用
    mysql_fetch_row、mysql_fetch_array、mysql_fetch_assoc、mysql_fetch_object
    ThinkPHP模版布局方式
    Windows 下使用Git管理Github项目
    浅析mysql、mysqli、PDO
  • 原文地址:https://www.cnblogs.com/huihao/p/7800655.html
Copyright © 2011-2022 走看看