NOIP提高组 单峰
来源:互联网 发布:java程序员面试一年 编辑:程序博客网 时间:2024/05/18 17:55
Description
由于答案可能很大,所以输出答案为除以
Data Constraint
Solution
我们发现当一个位置i确定为峰顶时,左边1~i-1的数一旦选定,它的顺序和i+1~n的顺序是唯一确定的。那么我们只要考虑左边的数选哪些就好了,这样的种类数是Ci−1n−1 ,所以总的答案是∑n−1i=0Ci−1n−1 ,我们列出n=1~4的答案后发现,∑n−1i=0Ci−1n−1 =2n−1 ,所以对于一次询问,我们只要用快速幂求2n−1 ,时间复杂度为O(logN )。
代码
#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#define ll long longusing namespace std;const ll maxn=1000000007;ll n,i,t,j,k,l,ans;ll mi(ll x){ if (!x) return 1; if (x==1) return 2; ll t=mi(x/2); if (x%2) return t*t%maxn*2%maxn;return t*t%maxn;}int main(){ scanf("%lld",&n); ans=mi(n-1); printf("%lld",ans);}
3 0
- NOIP提高组 单峰
- 【NOIP2016提高组模拟】单峰
- 【NOIP2016提高A组模拟9.2】单峰
- 单峰【NOIP2016提高A组模拟9.2】
- 【JZOJ4742】【NOIP2016提高A组模拟9.2】单峰
- NOIP提高组 积木
- NOIP提高组 看电影
- NOIP提高组 鼎纹
- NOIP提高组 千帆渡
- NOIP提高组 Brothers
- NOIP提高组 Crisis
- NOIP提高组 Word
- NOIP提高组 闭门造车
- NOIP提高组 爬山
- 【NOIP提高组】爬山
- 【NOIP提高组】Map
- 【NOIP提高组】矩阵
- 【NOIP提高组】整除
- 【JZOJ4744】【NOIP2016提高A组模拟9.2】同余
- 每天一条linux--more命令
- 09/02号 课外扩展知识面,学习别人的博客笔记或者网站内容
- 学生信息管理系统
- 安卓开发中Theme.AppCompat.Light的解决方法
- NOIP提高组 单峰
- dos命令大全
- QT5的软键盘输入法
- 复合组件(EditText输入内容,显示图片,点击图片删除输入内容,点击button弹出输入的内容)
- SVN的安装和基本用法
- Devexpress 自定义DisplayFormat
- fresco源码分析-软引用的黑科技
- PostgreSQL源码目录结构及其相关模块功能分析
- call() apply() 定义一些函数,用于传递和调用