zoukankan      html  css  js  c++  java
  • 【JZOJ4742】【NOIP2016提高A组模拟9.2】单峰

    题目描述

    题目描述

    输入

    输入

    输出

    输出

    样例输入

    2

    样例输出

    2

    数据范围

    数据范围

    解法

    答案为2^(n-1),快速幂即可。
    证明:显然峰值必定为n,那么对于其他n-1个数,要么放在峰值的左边,要么放在峰值的右边,所以方案数为2^(n-1)。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #define ll long long
    #define sqr(x) ((x)*(x))
    #define ln(x,y) int(log(x)/log(y))
    using namespace std;
    const char* fin="aP1.in";
    const char* fout="aP1.out";
    const int inf=0x7fffffff;
    const int mo=1000000007;
    ll n;
    ll ans;
    ll qpower(ll a,ll b){
        ll c=1;
        while (b){
            if (b&1) c=(c*a)%mo;
            a=(a*a)%mo;
            b>>=1;
        }
        return c;
    }
    int main(){
        scanf("%lld",&n);
        ans=qpower(2,n-1);
        printf("%lld",ans);
        return 0;
    }

    启发

    提交时要保证每个变量不会超出int。

  • 相关阅读:
    标准粒子群算法(PSO)
    Java开发中的23种设计模式详解
    分布式事务
    sjk 分页
    有用吗2
    有用吗1
    存储过程
    在虚拟机Linux安装Redis
    ajax调用WebAPI添加数据
    SVN安装和使用(简单版)
  • 原文地址:https://www.cnblogs.com/hiweibolu/p/6714913.html
Copyright © 2011-2022 走看看