bzoj 2111: [ZJOI2010]Perm 排列计数
神题。。。
扒自某神犇题解:
http://blog.csdn.net/aarongzk/article/details/50655471
#include<bits/stdc++.h>
#define LL long long
using namespace std;
inline LL ra()
{
LL x=; char ch=getchar();
while (ch<'' || ch>'') ch=getchar();
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x;
} const int maxn=; LL n,mod,f[maxn],size[maxn];
LL fac[maxn],inv[maxn]; LL C(int n, int m)
{
if (n<m) return ;
if (n<mod && m<mod) return fac[n]*inv[m]%mod*inv[n-m]%mod;
return C(n/mod,m/mod)*C(n%mod,m%mod);
} int main()
{
n=ra(); mod=ra(); fac[]=;
for (int i=; i<=n; i++) fac[i]=fac[i-]*i%mod;
inv[]=inv[]=;
for (int i=; i<=n; i++) inv[i]=(mod-mod/i)*inv[mod%i]%mod;
for (int i=; i<=n; i++) inv[i]=inv[i]*inv[i-]%mod;
for (int i=n; i>=; i--)
{
size[i]=size[i<<]+size[i<<|]+;
f[i]=((i<<)>n?:f[i<<])*((i<<|)>n?:f[i<<|])%mod*C(size[i]-,size[i<<])%mod;
}
cout<<f[]<<endl;
return ;
}
bzoj 2111: [ZJOI2010]Perm 排列计数的更多相关文章
- bzoj 2111: [ZJOI2010]Perm 排列计数 (dp+卢卡斯定理)
		bzoj 2111: [ZJOI2010]Perm 排列计数 1 ≤ N ≤ 10^6, P≤ 10^9 题意:求1~N的排列有多少种小根堆 1: #include<cstdio> 2: ... 
- BZOJ 2111: [ZJOI2010]Perm 排列计数 [Lucas定理]
		2111: [ZJOI2010]Perm 排列计数 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1936 Solved: 477[Submit][ ... 
- bzoj 2111 [ZJOI2010]Perm 排列计数(DP+lucas定理)
		[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2111 [题意] 给定n,问1..n的排列中有多少个可以构成小根堆. [思路] 设f[i ... 
- BZOJ 2111 [ZJOI2010]Perm 排列计数:Tree dp + Lucas定理
		题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2111 题意: 给定n,p,问你有多少个1到n的排列P,对于任意整数i∈[2,n]满足P[i ... 
- bzoj 2111: [ZJOI2010]Perm 排列计数 Lucas
		题意:称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大, ... 
- bzoj 2111: [ZJOI2010]Perm 排列计数【树形dp+lucas】
		是我想复杂了 首先发现大于关系构成了一棵二叉树的结构,于是树形dp 设f[i]为i点的方案数,si[i]为i点的子树大小,递推式是\( f[i]=f[i*2]*f[i*2+1]*C_{si[i]-1} ... 
- 2111: [ZJOI2010]Perm 排列计数
		2111: [ZJOI2010]Perm 排列计数 链接 题意: 称一个1,2,...,N的排列$P_1,P_2...,P_n$是Magic的,当且仅当$2<=i<=N$时,$P_i> ... 
- 【BZOJ】2111: [ZJOI2010]Perm 排列计数   计数DP+排列组合+lucas
		[题目]BZOJ 2111 [题意]求有多少1~n的排列,满足\(A_i>A_{\frac{i}{2}}\),输出对p取模的结果.\(n \leq 10^6,p \leq 10^9\),p是素数 ... 
- 【BZOJ2111】[ZJOI2010]Perm 排列计数 组合数
		[BZOJ2111][ZJOI2010]Perm 排列计数 Description 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi> ... 
随机推荐
- java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time.....
			SpringBoot 2.1.4启动时报错 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecogniz ... 
- Java学习资源 - J2EE
			java Web开发基础(一)工程项目文档结构 ========rmi=========== Java RMI 框架(远程方法调用) java RMI原理详解 深究Java中的RMI底层原理 ==== ... 
- 二十二、mysql 执行计划与存储引擎
			1.explain(执行计划)中涉及的各字段理解1.1) select_type列的取值及含义: SIMPLE :简单的SELECT语句(不包括UNION操作或子 ... 
- redhat 7.6 流量监控命令、软件(2) iftop 监控网络IP实时流量
			1.安装iftop,先要安装flex.bison.libpcap编译安装 解压红箭头的两个文件 tar -zxvpf iftop-0.16.tar.gz tar -zxvpf libpcap ... 
- 【C++初学者自学笔记三】哑元函数、缺省参数、内联函数(模块二,PS:需要用到重载函数)
			一,哑元函数:一个函数的参数只有类型没有名字的则这个参数称之为哑元.类似于void fun(int); 功能:1保持向前的兼容性,比方说我们需要做成一个成品,然后成品是会不断的更新第一代第二代,当我们 ... 
- 在javaweb中从servlet端向jsp端传递数据的方法
			1.servlet端: request.setAttribute("student", student)://向请求域中添加名称为student,内容为student中内容的数据( ... 
- 电影推荐算法---HHR计划
			1,先看FM部分. 2,看看冷启动. 0,热门召回源. 1,男女召回源,年龄召回源,职业召回源,score最高. 2,男女年龄职业相互组合: 3,存入redis.天级别更新. 3,召回+排序先搞懂. ... 
- Struts+Spring+Hibernate整合笔记一
			OpenSessionInview: 1.如果当前方法没有事物环境,则调用完毕getHibernate以后.session关闭: 说明:1如果测试dao层,没有事物环境 2如果测试service层,但 ... 
- win10程序无法正常启动0xc0000142
			office用的好好的,今天一早打开电脑,突然就打不开了.显示如图: 我个人猜测可能还是昨天更新其他软件的时候导致的,有个软件更新后,让我重启,当时因为忙,就没有重启.今天一开机,就发现office用 ... 
- rails work
			4.2 Say "Hello", Rails problem weppack not install solve run the command rails webpacker:i ... 
