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

    题意

    求sigma(C(n,i))其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。

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

    (n<=1018)

    题解

    其实就是一个快速幂。2n-1

    为什么呢。

    因为可以考虑假设当前要求n的答案。

    对于每一个n-1个数的选择情况。你都可以通过对第n个数到底选还是不选来形成一个合法情况。

    所以答案为2n-1

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #include<cmath>
     5 #include<algorithm>
     6 using namespace std;
     7 const long long mod=6662333;
     8 long long n;
     9 long long ksm(long long x,long long b){
    10     long long tmp=1;
    11     while(b){
    12         if(b&1){
    13             tmp=(tmp*x)%mod;
    14         }
    15         b>>=1;
    16         x=(x*x)%mod;
    17     }
    18     return tmp;
    19 }
    20 int main(){
    21     scanf("%lld",&n);
    22     printf("%lld",ksm(2,n-1));
    23     return 0;
    24 }
  • 相关阅读:
    c++看题
    理想化
    thin mission
    编程时 和 thinking
    tiny mission 2021 10 20
    A Magic Lamp HDU
    Poj 3370
    鸽巢原理(抽屉原理)
    Miller-Rabin质数测试
    Nim or not Nim? HDU
  • 原文地址:https://www.cnblogs.com/Xu-daxia/p/9566201.html
Copyright © 2011-2022 走看看