题解:

多重集合的组合数?还是0-m?有些元素有个数限制?

多重集合的组合数可以插板法,0-m直接利用组合数的公式一遍求出来,个数限制注意到只有15个,那我们就暴力容斥了

AC了真舒畅。。

注意开long long

 ll n,m,a[],k,p,ans,fac[maxn],inv[maxn];
inline ll c(ll n,ll m)
{
if(n<m)return ;
if(n<p&&m<p)return fac[n]*inv[m]%p*inv[n-m]%p;
return c(n%p,m%p)*c(n/p,m/p)%p;
}
inline void dfs(int x,int w1,ll w2)
{
if(x==k+){ans=(ans+w1*(c(m+n-w2,n)-c(n-w2-,n)))%p;return;}//cout<<n<<' '<<m<<' '<<w2<<' '<<n+m-w2<<' '<<n<<' '<<ans<<endl;return;}
dfs(x+,-w1,w2+a[x]+);
dfs(x+,w1,w2);
} int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); n=read();k=read();m=read();p=read();
fac[]=;
for1(i,p-)fac[i]=fac[i-]*i%p;
inv[]=inv[]=;
for2(i,,p-)inv[i]=inv[i-p%i]*(p/i+)%p;
for1(i,p-)inv[i]=inv[i]*inv[i-]%p;
for1(i,k)a[i]=read();
dfs(,,);
cout<<(ans+p)%p<<endl; return ; }

1272: [BeiJingWc2008]Gate Of Babylon

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 195  Solved: 90
[Submit][Status]

Description

Input

Output

Sample Input

Sample Output

12

HINT

BZOJ1272: [BeiJingWc2008]Gate Of Babylon的更多相关文章

  1. 【BZOJ 1272】 1272: [BeiJingWc2008]Gate Of Babylon (容斥原理+卢卡斯定理)

    1272: [BeiJingWc2008]Gate Of Babylon Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 254  Solved: 12 ...

  2. 【BZOJ1272】Gate Of Babylon [Lucas][组合数][逆元]

    Gate Of Babylon Time Limit: 10 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description Input ...

  3. bzoj 1272: [BeiJingWc2008]Gate Of Babylon

    Description Solution 如果没有限制,答案就是 \(\sum_{i=0}^{m}C(n+i-1,i)\) 表示枚举每一次取的个数,且不超过 \(m\),方案数为可重组合 发现这个东西 ...

  4. ●BZOJ 1272 [BeiJingWc2008]Gate Of Babylon

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1272 题解: 容斥,Lucas定理本题的容斥考虑类似 [BZOJ 1042 [HAOI200 ...

  5. [BeiJingWc2008]Gate Of Babylon

    <基尔伽美修>是人类历史上第一部英雄史诗,两河流域最杰出的文学作品之一.作品讲述了基尔伽美修一生的传奇故事.在动画Fate/staynight中,基尔伽美修与亚瑟王等传说中的英雄人物一起出 ...

  6. 【BZOJ】【1272】【BeiJingWC2008】Gate of Babylon

    组合数学+容斥原理 Orz zyf-zyf 多重集组合数0.0还带个数限制?  ——>  <组合数学>第6章  6.2带重复的组合 组合数还要模P 0.0? ——> Lucas ...

  7. Gate Of Babylon bzoj 1272

    Gate Of Babylon (1s 128MB) babylon [问题描述] [输入格式] [输出格式] [样例输入] 2 1 10 13 3 [样例输出] 12 [样例说明] [数据范围] 题 ...

  8. bzoj1272 Gate Of Babylon(计数方法+Lucas定理+乘法逆元)

    Description Input Output Sample Input 2 1 10 13 3 Sample Output 12 Source 看到t很小,想到用容斥原理,推一下发现n种数中选m个 ...

  9. bzoj1272 Gate Of Babylon

    [问题描述] [输入格式] [输出格式] [样例输入] 2 1 10 13 3 [样例输出] 12 [样例说明] [数据范围] 先容斥,考虑枚举哪些条件强制不满足,即直接选出b[i]+1件宝具 假设强 ...

随机推荐

  1. java笔记之类和对象

    现在编程的思想分成了两大阵营,面向过程和面向对象.现在谈谈啥是面向对象. 作为一只单身狗,谈“对象”还是很伤心很伤心的(:′⌒`)...... 先看看百度怎么说? 好吧,百度说的太抽象,我换个简单的说 ...

  2. 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。

    // test20.cpp : 定义控制台应用程序的入口点. // include "stdafx.h" include include include include inclu ...

  3. 【BZOJ】【3759】Hungergame饥饿游戏

    博弈论/高斯消元 如果没有打开箱子这个操作,那么就是一个很裸的Nim游戏…… 但是有了打开箱子这个操作,就变得蛋疼了T_T 首先我们可以想到一种直接的做法:打开所有箱子,当然如果此时所有a[i]的xo ...

  4. 【转载】C#.Net 创建网页快捷方式

    using System.Runtime.InteropServices; using IWshRuntimeLibrary; // 添加引用:COM下Windows Script Host Obje ...

  5. MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)

    MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...

  6. kill 非法用户

    主要涉及到的相关命令如:who/w/ps/kill/pkill/killall查看当前登录用户:[root@localhost ~]# whoroot     pts/1        2010-08 ...

  7. **tomcat简介之web.xml详解

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. Servlet 各种path路径比较

    假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果 ...

  9. Android:修改版本

    修改AndroidManifest.xml下的Version即可 <uses-sdk android:minSdkVersion="14" android:targetSdk ...

  10. Android:简单联网获取网页代码

    设置权限,在AndroidManifest.xml加入 <uses-permission android:name="android.permission.INTERNET" ...