首页 > 其他分享 >lg9018题解

lg9018题解

时间:2023-02-14 17:48:12浏览次数:51  
标签:va int 题解 mo lg9018 ans define

#include<bits/stdc++.h>
using namespace std;
#define N 2000010
#define int long long
#define mo 1000000007
int jc[N],ij[N],n,a[N];
int c(int y,int x){
	if(y<x)
		return 1;
	return jc[y]*ij[x]%mo*ij[y-x]%mo;
}
int qp(int x,int y){
	int r=1;
	while(y){
		if(y&1)
			r=r*x%mo;
		x=x*x%mo; 
		y>>=1;
	}
	return r;
}
signed main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)
		scanf("%lld",&a[i]);
	jc[0]=1;
	for(int i=1;i<N;i++)
		jc[i]=jc[i-1]*i%mo;
	ij[N-1]=qp(jc[N-1],mo-2);
	for(int i=N-1;i;i--)
		ij[i-1]=ij[i]*i%mo;
	int ans=1;
	for(int i=1;i<n;i++){
		if(a[i+1]>a[i]){
			int va=(a[i+1]-a[i])/2;
			ans=ans*c(a[i]/2+va-1,va)%mo;
		}
		else{
			int va=(a[i]-a[i+1])/2;
			ans=ans*c(a[i]/2,va)%mo;
		}
	}
	printf("%lld\n",ans);
}

标签:va,int,题解,mo,lg9018,ans,define
From: https://www.cnblogs.com/celerity/p/17120379.html

相关文章

  • 【题解】ARC153 A-D
    怎么感觉ARC困难的永远是B题[惊恐]A.AABCDDEFE题目分析:完全可以把相等的位置合并在一起,这样就剩下了\(6\)个位置,然后就转化为了第\(N\)小的六位数是多少,这应该......
  • Magic Powder - 1 题解
    更好的阅读体验1.题意题目大意就是一块曲奇饼干需要\(n\)种食材,第\(i\)种需要\(a_i\)克,而你手中有这种食材\(b_i\)克,还有另外\(k\)克食材每一克可以代替任何......
  • Magic Powder - 2 题解
    更好的阅读体验1.题意题目大意就是一块曲奇饼干需要\(n\)种食材,第\(i\)种需要\(a_i\)克,而你手中有这种食材\(b_i\)克,还有另外\(k\)克食材每一克可以代替任何......
  • Rescheduling the Exam 题解
    题意:题意简单明了,就不多赘述了。解题方法:这道题我们要考虑贪心。由于我们只有一次修改\(a_i\)的机会,所以我们修改的值一定是产生最小距离的两个相邻的点之中修改。那......
  • F1 Champions 题解
    题意已知\(n\)场比赛前\(m\)名的名字,每场比赛前\(10\)名各有不同的分数,求以下两种排名方法排名第一的人的名字。按照分数排序,若分数相同,第\(1\)次数多的优先,若......
  • Social Network 题解
    题意:题目翻译是有问题的,题目的真正意思其实是\(∀i∈[1,d]\),求在满足\([1,i]\)的规定的前提下恰好连\(i\)条边的无向图中度数最大联通块的大小减\(1\)。思路考虑......
  • P8827 [传智杯 #3 初赛] 森林 题解
    题意有一颗树,每个点有一个点权\(v\)。现在要对这棵树进行\(m\)次以下三种操作之一:删除一条边。修改一个点的点权。查询一个点\(u\)所在的树的点权之和。......
  • lg8365题解
    容易发现我们一定会先加后乘,使用调整法可以证明这个结论。并且可以发现除了\(a_i\)值为\(1\)的数外(假设他们的\(a\)值和为\(s\)),其他的数最多只会选\(1\)个做加法操作(设如......
  • Vue项目在ie浏览器中显示空白的兼容性问题解决
    问题:在ie浏览器中页面报错:SCRIPT5022:SecurityError小编也不知道原因是什么,小编是尝试了以下几种方式才显示出来,这里建议大家试试看。1、下载软件包:@babel/polyfill执......
  • elementUI的table表格改变数据不更新问题解决
    问题原因:在Vue实例创建时,以及data赋值时editable并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新。解决方案:1、给data赋值前把editable属......