jzoj4742-单峰【数学,数论】

版权声明:原创,未经作者允许禁止转载 https://blog.csdn.net/Mr_wuyongcong/article/details/88364094

正题


题目大意

1 n 1\sim n 的全排列中有多少个满足单峰


解题思路

现在考虑一个单峰,我们加入一个更小的数,要么插在最左边,要么插在最右边,所以得出答案结论 2 n 1 2^{n-1}


c o d e code

#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const ll XJQ=1e9+7;
ll n;
ll power(ll x,ll b)
{
	ll ans=1;
	while(b)
	{
		if(b&1) ans=ans*x%XJQ;
		x=x*x%XJQ;
		b>>=1;
	}
	return ans;
}
int main()
{
	scanf("%lld",&n);
	printf("%lld",power(2,n-1));
}

猜你喜欢

转载自blog.csdn.net/Mr_wuyongcong/article/details/88364094