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;
    }
        
  • 相关阅读:
    C#读取系统信息
    C# 读取驱动器盘符及信息
    for循环里的break,continue和return有什么差别
    monkey
    ZXing
    python中os模块的常用接口和异常中Exception的运用
    python中的字典应用实例
    python中的列表和字典
    python中如何单独测试一个函数的作用
    数据挖掘概念与技术PDF
  • 原文地址:https://www.cnblogs.com/huihao/p/7800655.html
Copyright © 2011-2022 走看看