HDU6397 Character Encoding 插板法+容斥
HDU6397 Character Encoding
组合计数—插板法+容斥原理
给定n,m,K求
G(p) = F(p)−G(p+1),F(p)=(m,p)*(K-n*p+m-1,m-1),p表示>n的组数,根据容斥原理,G(0) 即为最终答案。
#include<bits/stdc++.h>
using namespace std;
const int MAX=1e5+1;
const long long MOD=998244353;
long long fact[2*MAX];
int m,n,K;
void init()
{fact[0]=1;for(int i=1;i<2*MAX;i++) fact[i]=fact[i-1]*i%MOD;
}
long long inv(long long a,long long m)
{if(a==1) return 1;return inv(m%a,m)*(m-m/a)%m;
}
long long C(int a,int b)
{if(a<b) return 0;return fact[a]*inv(fact[b]*fact[a-b]%MOD,MOD)%MOD;
}
long long in_ex(int b,int mul)
{if(b<0) return 0;return (C(b+m-1,m-1)*C(m,mul)%MOD-in_ex(b-n,mul+1)+MOD)%MOD;
}
int main()
{
// freopen("a.in","r",stdin);
// freopen("out.txt","w",stdout);int t;init();scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&K);long long tmn=(long long)m*(n-1),tk=(long long)K;if(tmn<tk) printf("0\n");else printf("%I64d\n",in_ex(K,0));}return 0;
}
HDU6397 Character Encoding 插板法+容斥相关推荐
- 容斥问卷调查反馈——Co-prime,Character Encoding,Tree and Constraints,「2017 山东一轮集训 Day7」逆序对
文章目录 Co-prime source solution code Character Encoding source solution code Tree and Constraints sour ...
- ACM中的整数K拆分 (有条件限制 无条件限制 插板法 URAL-1036 HDU-6397)
整数的K拆分 整数K拆分示例 在程序设计竞赛中,我们会经常遇到一类整数 KKK 拆分的问题. 例如:求 NNN 个非负整数之和为 SSS 的方案数(每个数字都小于 MMM). 对于这类问题,分为两种情 ...
- CF451E-Devu and Flowers【组合计数,容斥】
正题 题目链接:https://www.luogu.org/problem/CF451E 题目大意 长度为nnn的序列aia_iai,有如下要求 ai∈[0...xi]a_i\in[0...x_i] ...
- NOIP模拟测试15「建造城市city(插板法)·轰炸·石头剪刀布」
建造城市 题解 先思考一个简单问题 10个$toot$ 放进5间房屋,每个房屋至少有1个$toot$,方案数 思考:插板法,$10$个$toot$有$9$个缝隙,$5$间房屋转化为$4$个挡板,放在t ...
- Luogu4640 BJWC2008 王之财宝 容斥、Lucas
传送门 题意:有$N$种物品,其中$T$个物品有限定数量$B_i$,其他则没有限定.问从中取出不超过$M$个物品的方案数,对质数$P$取模.$N,M \leq 10^9 , T \leq 15 , P ...
- CF(439E - Devu and Birthday Celebration)莫比乌斯容斥
题意:将n个糖果插入f-1个挡板分成f分(a1,a2,a3...af). 问有多少种分法能够使得gcd(a1,a2,a3...af)=1; 解法.莫比乌斯容斥,首先按1为单位分,这时候有C(n-1,f ...
- HDU 6143 Killer Names(排列+容斥,dp)
Killer Names HDU 6143 (容斥+排列组合,dp+整数快速幂) 2017ACM暑期多校联合训练 - Team 8 1011 Killer Names 题目链接 Time Limit: ...
- 数学--数论--容斥定理完全解析(转)
对容斥原理的描述 容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率. 描述 容斥原理可以描述如下: 要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来, ...
- A - Character Encoding HDU - 6397 - 方程整数解-容斥原理
A - Character Encoding HDU - 6397 思路 : 隔板法就是在n个元素间的(n-1)个空中插入k-1个板,可以把n个元素分成k组的方法 普通隔板法 求方程 x+y+z=1 ...
- HDU 6143 Killer Names【容斥定理】【排列组合】
题目来戳呀 Problem Description Galen Marek, codenamed Starkiller, was a male Human apprentice of the Sith ...
最新文章
- javascript中实例方法与类方法的区别
- docker支持的linux版本,Docker 升级到最新版本
- php new httprequest,php安装HTTP_Request2及引用介绍(通过HTTP_Request创建微软人脸识别的群组 为例)...
- 计算机网络实验做什么的,计算机网络实验,做网线.ppt
- waitpid()函数
- JS学习笔记5-JavaScript 变量
- http 直接显示目录下文件_Win10支持直接访问Linux子系统文件:你的下一台Linux何必是Linux
- 机器学习笔记(十九):逻辑回归
- JasperReport| JasperReport中使用自定义字体(font)
- 【软件】XPS格式文件怎么打开,用XPSViewer(百度云免费下载链接)
- java发送邮件-java工具类
- IPMI 服务器远程管理方法
- Python断言工具包assertP
- 浏览器控制台Network面板简述
- 2-2.基金的投资交易与结算
- hibernate中的检索策略
- Android Parcel数据传输源码解析
- FAQ0115 AT32使用AC6编译器注意事项
- Java OpenCV 图像处理34 图形图像 分水岭 watershed
- 05【数据的备份与恢复】