Description

Input

Output

Sample Input

3
2 2 1

Sample Output

3

样例解释:

Data Constraint

分析

根据题目,我们可以知道,
如果我们按照颜色1~N的顺序来放,
很显然,每种颜色的最后一个,一定放在当前最后的一个位置。

那么,对于剩下的ai−1a_{i-1} 个就可以随便放了,
它们总共有多少种放法?

这里需要运用到组合数,放球就等同于就原来的球分开,
跟隔板问题相似,但是在每一个隔板上面可以放多个球。

我们假设在分出来的每一组里面有一个虚拟的球,
那么,总球数就会增加ai−1−1a_{i-1}-1 个,
但实际上,这些虚拟的球是不存在的,
所以,如果某一个只有虚拟的球,也就是说两个隔板放在了一起,

在解决了每个隔板会有多个球的问题,
公式:Caisumi−1+ai−1C_{sum_{i-1}+a_i-1}^{a_i}

code(c++)

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string.h>
#include <cmath>
#include <math.h>
#define _ %998244353
#define ll long long
using namespace std;
int n,k;
ll jc[500303],ans,sum;
ll ksm(ll x)
{ll s=x,ans=1;int y=998244351;while(y){if(y%2)ans=ans*s _;s=s*s _;y/=2;}return ans;
}
ll C(int n,int m)
{return((jc[m])*ksm(jc[m-n])_*ksm(jc[n]))_;
}
int main()
{jc[0]=1; for(int i=1;i<=500300;i++)jc[i]=(jc[i-1]*i)_;ans=1;sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&k);ans=ans*C(k-1,sum+k-1)_;sum+=k;}printf("%lld",ans);
}

JZOJ4786. 【NOIP2016提高A组模拟9.17】小a的强迫症相关推荐

  1. jzoj4786-[NOIP2016提高A组模拟9.17]小a的强迫症【数论】

    正题 题目大意 nnn个颜色第iii个个数为numinum_inumi​个,然后要求第iii种颜色的最后一个一定在第i+1i+1i+1种的最后一个前面.求方案总数. 解题思路 首先先定义一个1∼n1\ ...

  2. [JZOJ4788] 【NOIP2016提高A组模拟9.17】序列

    题目 描述 题目大意 一个序列,每次可以使一段区间内的所有数加一(模四). 问最少的操作次数. 思考历程 一看这题目,诶,这不就是那道叫密码锁的题目吗? 然后随便打一打,样例过了,就再也没有思考这一题 ...

  3. JZOJ 4786. 【NOIP2016提高A组模拟9.17】小a的强迫症

    Description Input Sample Input 3 2 2 1 Output Sample Output 3 样例解释: Data Constraint Solution 首先,我们设之 ...

  4. JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫

    Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...

  5. JZOJ 5371. 【NOIP2017提高A组模拟9.17】组合数问题

    Description 定义"组合数"S(n,m)代表将n 个不同的元素拆分成m 个非空集合的方案数.举个例子,将{1,2,3}拆分成2 个集合有({1},{2,3}),({2},{1,3}),({3 ...

  6. JZOJ 100024. 【NOIP2016提高A组模拟7.6】数球

    Description 小A有n个球,编号分别为1到n,小A每次都会从n个球中取出若干个球,至少取一个,至多取n个,每次取完再放回去,需要满足以下两个条件. 每次取出的球的个数两两不同. 每次取出的球 ...

  7. JZOJ4708. 【NOIP2016提高A组模拟8.20】奇洛金卡达 倒着做的思想+并查集维护

    题目大意 给定一个长度小于等于kk的字符串和qq,表示现在有qq个操作,每个操作给定两个参数li,ril_i,r_i表示把现在的字符串第lil_i到rir_i把其中编号为奇数的按顺序写下来,再在后面把 ...

  8. 【NOIP2016提高A组模拟9.9】闭门造车

    题目 自从htn体验了一把飙车的快感,他就下定决心要闭门造车!但是他两手空空怎么造得出车来呢?无奈的他只好来到了汽车零部件商店. 一走进商店,玲琅满目的各式零件看得htn眼花缭乱.但是他很快便反应过来 ...

  9. JZOJ 5373. 【NOIP2017提高A组模拟9.17】信仰是为了虚无之人

    Description Input Output Sample Input 3 3 0 1 1 7 1 1 6 1 3 2 Sample Output 1 0 1 7 0 5 Data Constra ...

最新文章

  1. NGINX中的proxy_pass和rewrite
  2. oracle数据库访问order by不起作用分析
  3. 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image
  4. C语言和C++语言关系
  5. 驰骋表单设计器 设计表单案例演示
  6. CCF 201809-1 买菜
  7. java 字符串第一个字符_深入Java源码剖析之字符串常量
  8. python怎么写入到文件中_Python学习笔记之将数据写入到文件中
  9. c语言’内存清除函数,c语言常用内存处理函数
  10. ShopXO 开发文档
  11. 微博转发的内容如何实现点击人名跳转到个人主页
  12. .inc文件是什么文件?
  13. 简单的二维数组问题,不用不知道,一用吓一跳
  14. Matlab 实现信号滤波
  15. 购买成功订单详情html,订单成功页面功能实现
  16. tolua++实现分析
  17. 目标检测xml文件提取
  18. 根据程序流程图化程序流图_程序流程图如何画?绘图软件有哪些
  19. 微信小程序开发入门(连载)—— 开发前的准备工作
  20. win10打开蓝牙_Win10系统中蓝牙鼠标可以配对却无法使用应该如何解决?

热门文章

  1. 第二个App“今日美文”上架【原】
  2. 关于供应链的搞笑生动教学案例
  3. ai安全帽识别检测 yolov5
  4. 2月上旬中国万网域名总量近225万个 份额涨至23.8%
  5. 康熙一朝无贪官,雍正一朝无清官 什么意思
  6. Cadence原理图前期规范性检查步骤
  7. 【独家】生死时速:中国私有云格局大裂变
  8. 2021-07-08 斜率
  9. STM32F407新建工程
  10. 氟孕酮 cas:337-03-1 Flugestone 分子式:C21H29FO4分子量:364.45熔点 275-277°C