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

    题目背景

    本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。

    寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd 。

    题目描述

    辣鸡蒟蒻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)

    题解:

    二项式定理

    C(n,0)+C(n,1)+...C(n,n)=2^n (由(1+1)^n得

    C(n,0)-C(n,1)+C(n,2)-C(n,3)...=0(由(1-1)^n得

    所以本题答案为2^n/2

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define mod 6662333
    #define LL long long
    using namespace std;
    LL n;
    LL ksm(LL x,LL y){
        LL ret=1;
        while(y){
            if(y&1)ret=ret*1LL*x%mod;
            x=x*1LL*x%mod;
            y>>=1;
        }
        return ret;
    }
    int main(){
        scanf("%lld",&n);
        printf("%lld
    ",ksm(2,n-1)%mod);
        return 0;
    }
  • 相关阅读:
    分数加减法
    两点距离
    1的个数
    Swift 了解(1)
    ARC快速入门
    ARC基本概念
    autorelease注意事项
    autorelease基本使用
    NSTimer的使用
    如何监听控件的行为
  • 原文地址:https://www.cnblogs.com/zzyh/p/7658153.html
Copyright © 2011-2022 走看看