![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
组合
_Ark
这个作者很懒,什么都没留下…
展开
-
BZOJ2155(?) R集合 (卡特兰数)
Orz Freopen大佬CODEfac = [0]*1005def C(n, m): return fac[n] // fac[m] // fac[n-m]n = int(input())fac[0] = 1for i in range(1, n+1): fac[i] = fac[i-1] * ians = 0for i in range(2, n//2+1):...原创 2019-10-22 22:24:29 · 184 阅读 · 0 评论 -
BZOJ1485 [HNOI2009] 有趣的数列 (卡特兰数)
题意我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai};(2)所有的奇数项满足a1<a3<…<a2n-1,所有的偶数项满足a2<a4<…<a2n;(3)任意相邻的两项a2i-1与a2i(1≤i≤n)满足奇数项小于偶数项,即:a2i-1<a2i。现在的任务是:对于给定的n,...原创 2019-09-21 15:14:34 · 203 阅读 · 0 评论 -
BZOJ 2111 / Luogu P2606 [ZJOI2010]排列计数
题意称一个1,2,...,N1,2,...,N1,2,...,N的排列P1,P2...,PnP_1,P_2...,P_nP1,P2...,Pn是MagicMagicMagic的,当且仅当2<=i<=N2<=i<=N2<=i<=N时,Pi>Pi/2P_i>P_{i/2}Pi>Pi/2. 计算1,2,...N1,2,...N1,2,.....原创 2019-09-21 13:27:47 · 142 阅读 · 0 评论 -
BZOJ 1801 [AHOI 2009] 中国象棋(DP)
题意在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮。 请问有多少种放置方法。N,M <= 100题解发现每行每列都最多放两个,直接按行DP。设f[i][j][k]f[i][j][k]f[i][j][k]表示到第iii行,有jjj列放了111个,kkk列放了222个。那么这一行就有三种情况:不放放111个,又有两种情况放在之前没有棋子的列上...原创 2019-09-15 12:55:32 · 115 阅读 · 0 评论 -
BZOJ 2339 [HNOI2011]卡农(组合计数)
orz GXZlegend的博客讲的好!!CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 1000005;const int mod = 100000007;int n, m, P[MAXN], f[MAXN];inline int qmul(int a, int b) { int re...原创 2019-09-15 10:49:00 · 155 阅读 · 0 评论 -
BZOJ 4402: Claris的剑 (组合数学)
转:ws_yzy的博客之所以是C(n+m,m)C(n+m,m)C(n+m,m)而不是C(n+m−1,m−1)C(n+m-1,m-1)C(n+m−1,m−1)是因为插数对时不一定全部插满。CODE#pragma GCC optimize ("O2")#include <bits/stdc++.h>using namespace std;const int MAXN = 200...原创 2019-09-15 10:40:19 · 155 阅读 · 0 评论 -
bzoj 2655: calc (组合容斥+伯努利数)
题意传送门题解发现可以用容斥乱搞,设f[i]f[i]f[i]为已经选了iii个数的互不相等的权值和,S(n,k)S(n,k)S(n,k)为1−n1-n1−n的kkk次前缀和,也就是∑i=1nik\sum_{i=1}^ni^k∑i=1nik。那么 f[i]=∑f(i−j−1)∗S(A,j+1)∗(−1)j∗P(i−1,j)f[i]=∑ f(i-j-1) * S(A,j+1) * (-1)...原创 2019-09-15 10:19:25 · 184 阅读 · 0 评论 -
BZOJ 4517 [SDOI2016] 排列计数(组合 错排)
题目求有多少种长度为 n 的序列 A,满足以下条件:1 ~ n 这 n 个数在序列中各出现了一次若第 i 个数 A[i] 的值为 i,则称 i 是稳定的。序列恰好有 m 个数是稳定的满足条件的序列可能很多,序列数对 10^9+7 取模。题解n个选m个,剩下的错排。直接预处理组合数和错排就行了。CODE#pragma GCC optimize ("O2")#include <...原创 2019-09-14 21:29:17 · 140 阅读 · 0 评论 -
BZOJ 3027: [Ceoi2004]Sweet (容斥计数)
题意BZOJ3027题解先考虑恰好吃NNN个糖果的方案。由于有mimimi的限制,套路地想到容斥。枚举子集哪些不满足限制,然后把NNN减去所有不满足的mi+1mi+1mi+1,剩下的就插板法就行了。假设枚举的集合中的∑(mi+1)=t\sum(mi+1)=t∑(mi+1)=t,答案就是:(N−t+n−1n−1)\binom{N-t+n-1}{n-1}(n−1N−t+n−1)然后考虑到并不...原创 2019-09-14 21:13:58 · 189 阅读 · 0 评论 -
BZOJ 3260: 跳 (组合恒等式)
题意传送门题解先走长的,再走短的一定最优。也就是说,假设n>mn>mn>m,行进路线为(0,0)→(1,0)→...→(n−1,0)→(n,0)→(n,1)→...→(n,m)(0,0)\to(1,0)\to...\to(n-1,0)\\\to(n,0)\to(n,1)\to...\to(n,m)(0,0)→(1,0)→...→(n−1,0)→(n,0)→...原创 2019-09-14 17:38:24 · 195 阅读 · 0 评论