2018.10.30 uoj#273. 【清华集训2016】你的生命已如风中残烛(组合数学)
传送门
组合数学妙题。
我们把这mmm个数都减去111。
然后出牌的地方就变成了−1-1−1。
然后发现求出每个位置的前缀和之后全部都是非负数。
考虑在最后加入一个−1-1−1构成一个m+1m+1m+1个数的序列。
那么对于这个序列的所有循环同构。
只有当前这种是合法的。
原因很简单。
最后一个位置的前缀和是−1-1−1,因此除了当前这种之外的循环同构必定有一个前缀和是负数。
反过来发现对于每一个不合法的,它一定有一个循环同构是合法的。
对于这个序列的总方案数只有m!m!m!种。
然后最后一个数种类是定了的。
因此总方案数:m!m−n+1\frac {m!} {m-n+1}m−n+1m!
代码:
#include<bits/stdc++.h>
using namespace std;
inline int read(){
	int ans=0;
	char ch=getchar();
	while(!isdigit(ch))ch=getchar();
	while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
	return ans;
}
const int mod=998244353;
int n,ans=1,m=0;
int main(){
	n=read();
	for(int i=1;i<=n;++i)m+=read();
	for(int i=1;i<=m;++i)if(i^(m-n+1))ans=(long long)i*ans%mod;
	cout<<ans;
	return 0;
}
												
											2018.10.30 uoj#273. 【清华集训2016】你的生命已如风中残烛(组合数学)的更多相关文章
- UOJ273 [清华集训2016] 你的生命已如风中残烛 【数学】
		
题目分析: 把$0$卡牌看成$-1$.题目要求前缀和始终大于等于$1$. 最后添加一个$-1$,这样除了最后一位之外大于等于1,最后一位等于0. 构造圆排列.这样的话一个圆排列只有一个满足的情况,然后 ...
 - 洛谷 P6672 - [清华集训2016] 你的生命已如风中残烛(组合数学)
		
洛谷题面传送门 题解里一堆密密麻麻的 Raney 引理--蒟蒻表示看不懂,因此决定写一篇题解提供一个像我这样的蒟蒻能理解的思路,或者说,理解方式. 首先我们考虑什么样的牌堆顺序符合条件.显然,在摸牌任 ...
 - P6672-[清华集训2016]你的生命已如风中残烛【结论】
		
正题 题目链接:https://www.luogu.com.cn/problem/P6672 题目大意 长度为\(m\)的序列\(a\),有\(n\)个数字不是\(0\),其他\(m-n\)个是\(0 ...
 - [UOJ#274][清华集训2016]温暖会指引我们前行
		
[UOJ#274][清华集训2016]温暖会指引我们前行 试题描述 寒冬又一次肆虐了北国大地 无情的北风穿透了人们御寒的衣物 可怜虫们在冬夜中发出无助的哀嚎 “冻死宝宝了!” 这时 远处的天边出现了一 ...
 - BZOJ 4732 UOJ #268 [清华集训2016]数据交互 (树链剖分、线段树)
		
题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4732 (UOJ) http://uoj.ac/problem/268 题解 ...
 - [UOJ#276][清华集训2016]汽水[分数规划+点分治]
		
题意 给定一棵 \(n\) 个点的树,给定 \(k\) ,求 \(|\frac{\sum w(路径长度)}{t(路径边数)}-k|\)的最小值. \(n\leq 5\times 10^5,k\leq ...
 - UOJ 275. 【清华集训2016】组合数问题
		
UOJ 275. [清华集训2016]组合数问题 组合数 $C_n^m $表示的是从 \(n\) 个物品中选出 \(m\) 个物品的方案数.举个例子,从$ (1,2,3)(1,2,3)$ 三个物品中选 ...
 - [UOJ#276]【清华集训2016】汽水
		
[UOJ#276][清华集训2016]汽水 试题描述 牛牛来到了一个盛产汽水的国度旅行. 这个国度的地图上有 \(n\) 个城市,这些城市之间用 \(n−1\) 条道路连接,任意两个城市之间,都存在一 ...
 - UOJ #274. 【清华集训2016】温暖会指引我们前行 [lct]
		
#274. [清华集训2016]温暖会指引我们前行 题意比较巧妙 裸lct维护最大生成树 #include <iostream> #include <cstdio> #incl ...
 
随机推荐
- Codeforces Beta Round #34 (Div. 2)
			
Codeforces Beta Round #34 (Div. 2) http://codeforces.com/contest/34 A #include<bits/stdc++.h> ...
 - Reportviewer中的函数使用——打印当前日期并格式化
			
如2017-10-23 12:20:20 通过DateTime.Now.ToString("yyMMddHHmmss")变为 20171023122020字符串
 - 【校招面试 之 网络】第3题 HTTP请求行、请求头、请求体详解
			
1.HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE.HEA ...
 - Django中的forms一些小点
			
1.默认情况下,chrom浏览器会提前对我们的form表单中的数据做校验,如果不想让chrom浏览器给我们做校验,则只需要按照下面的方式处理就可以了 <form method="pos ...
 - swift 快速创建一些基本控件
			
1.tableview private lazy var cellId = "cellId" fileprivate lazy var tv : UITableView = { l ...
 - transaction注解分析
			
1. Spring事务的基本原理 事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编码式和声明式的两种方式.编程式事务指的是通过编码方 ...
 - 如何查看Chrome浏览器保存的账号密码
			
之前告诉大家如何一键查看所有保存在IE里的所有密码(点击查看原文),现在来告诉大家如何一键查看Chrome浏览器的所有密码.某种意义上上,查看Chrome的密码比查看IE的更简单,因为查看IE密码还需 ...
 - 创建smartfroms页格式
			
1.输入TCODE:spad 2.页格式:完全管理 ---> 设备类型 ---> 页格式 ---> 创建 3.比如:长:24.2cm 宽:11.5cm 则设置:纸宽:115MM 纸 ...
 - ajax登陆页面
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - Startup.国外新锐公司及其技术Blog
			
国外技术公司Tech/Engineering Blog 1. vimeo https://coderwall.com/team/vimeo http://blog.assembly.com/ 2. l ...