lg9018题解
#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);
}
lg9018题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- week_3
Andrew Ng机器学习笔记 Week_3 -- -Logistic Regression This week, we'll be covering logistic regression. Log ...
- 基于Unet+opencv实现天空对象的分割、替换和美化
传统图像处理算法进行"天空分割"存在精度问题且调参复杂,无法很好地应对云雾.阴霾等情况:本篇文章分享的"基于Unet+opencv实现天空对象的分割.替换和 ...
- 快速体验,学习lua(一种可嵌入c++,c#,android,object-c等并进行互调支持热更新的脚本)的入门调试系列(3)
--这里是注释 --[[ 功能备注:lua快速体验,学习,了解语法(调试,类似try-catch) 创建时间:2020-6-27 创建人:pcw --]] print("---------- ...
- lwl-resume 个人简历编辑使用说明
LWL RESUME 是一个简洁.可自定义生成pdf的在线简历编辑工具! 如果你喜欢这种简约格式的简历风格,可以尝试用它来编辑简历 . 注意事项 不支持手机端编辑!请务必使用最新版Chrome(谷歌浏 ...
- Java long类型转换易犯的错误
记一个刷题过程中遇到的溢出问题. 在做这道题的时候遇到一个与 long 类型有关的溢出错误. 原始代码如下 class Solution { public int numberOfPairs(int[ ...
- python连接kafka-2.0
import sysimport timeimport osimport jsonimport vertica_pythonimport loggingimport pykafkafrom pykaf ...
- 2023牛客寒假算法基础集训营3 A-I+K
A 题解 知识点:贪心. 把所有正偶数除成奇数,即可. (人傻了没加 \(x>0\) WA2 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) 代码 #include <bits ...
- 【数据结构和算法】Trie树简介及应用详解
作者:京东物流 马瑞 1 什么是Trie树 1.1 Trie树的概念 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经 ...
- 【SW】利用3D打印机打印 PCB 钢网的方法
每完成一个小作品以后,PCB打样回来,手工焊接着费时费力,定制钢网又未免太过浪费,想到自己有一台 FDM 3D 打印机,是不是可以通过 3D 打印机打印 "钢网" 呢? 在网上也翻 ...
- vue学习笔记(一) ---- vue指令(过滤器)
一.什么是过滤器 官方文档:https://cn.vuejs.org/v2/guide/filters.html 二.过滤器的使用 没有使用过滤器之前: <div id="app&qu ...