计数问题
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
20200727 T2 小w玩游戏【生成函数(二项式反演技巧)】
题目描述题目分析设有 iii 行选了奇数次的方案数为 fif_ifi,jjj 列选了奇数次的方案数为 gjg_jgjAns=∑im+jn−2ij≤kfi∗gjAns=\sum_{im+jn-2ij\le k} f_i*g_jAns=∑im+jn−2ij≤kfi∗gjfi=q![xq](ex−e−x2)i(ex+e−x2)n−i(ni)f_i=q![x^q](\frac {e^x-e^{-x}}2)^i(\frac {e^x+e^{-x}}2)^{n-i}\binom nifi=q!原创 2020-07-29 21:01:32 · 312 阅读 · 0 评论 -
CF gym102586 E. Count Modulo 2【模2下定和选数的方案数】
题目描述:给出 KKK 个互不相同的数 AiA_iAi,求一个长为 NNN 的序列 {xj},xj∈[1,K]\{x_j\},x_j\in[1,K]{xj},xj∈[1,K],满足∑j=1NAxj=S\sum_{j=1}^NA_{x_j}=S∑j=1NAxj=S 的方案数模2的值。K≤200,N,S≤1018,0≤Ai≤105K\le200,N,S\le10^{18},0\le A_i\le10^5K≤200,N,S≤1018,0≤Ai≤105题目分析:设每个 AiA_iAi 出现了原创 2020-07-02 16:24:52 · 717 阅读 · 0 评论 -
20200516 hz 幻化成风【相等集合容斥,状态压缩】
题目描述:n≤104,m≤30,∑ai≤30n\le10^4,m\le30,\sum{a_i}\le30n≤104,m≤30,∑ai≤30题目分析:将n!n!n!拆分为质数的幂次后可以O(nm)O(nm)O(nm)完全背包求出总方案数,但是这样bib_ibi可能相等。考虑容斥算出bib_ibi互不相同的方案数,最后除以cnt[a[i]]!cnt[a[i]]!cnt[a[i]]!这个容斥并不是一般的“总方案 - 满足一个性质 + 满足两个性质”那种容斥,这样算会发现有很多大小相同的相等集合时原创 2020-05-16 11:48:03 · 307 阅读 · 0 评论 -
20200330 T1 烷烃计数
题目描述:计算化学式为CnH2n+2C_nH_{2n+2}CnH2n+2的烷烃的同分异构体个数。等价于求 nnn 个点的无标号无根树并且满足每个点的度数 ≤4\le4≤4 的树的个数。多组数据,对998244353取模。题解:1. T=1, n≤20001.~~~T=1,~n\le20001. T=1,&n...原创 2020-04-04 12:15:03 · 1044 阅读 · 1 评论 -
模拟赛20200331【贪心+精度忽略,竞赛图,DP】
T1:小C饮水记题目描述:wi≤105,n≤106w_i\le10^5,n\le10^6wi≤105,n≤106题解:Code:#include<bits/stdc++.h>#define maxn 1000005#define S 40using namespace std;char cb[1<<20],*cs,*ct;#define get...原创 2020-03-31 16:56:59 · 230 阅读 · 0 评论 -
模拟赛20200322
T1:LYK loves games对于 100%的数据:n,Q<=10000,0<=任意时刻任意点的点权<32768,点权随机。题解:mine:对每个二进制位分开处理,这样只需要统计有多少路径异或值为1的点对。点分治,在每个点分中心开一个线段树存子树中的点到它的路径异或值为0/1的个数。修改点权时,如果xxx变了,经过xxx的路径都会取反,所以额外维护一个num[...原创 2020-03-25 00:21:21 · 344 阅读 · 0 评论 -
模拟赛20200219【染色覆盖(DP+卡常NTT),k进制lowbit,最长连续段限制环染色(Burnside)】
T1:染色问题对摆在玩家面前的一排初始无色的格子进行染色,每次染色可以将连续一段格子染成一种之前没有出现过的颜色,要求在所有操作后每一个格子都被染了至少一次色(重复染色会使前一次染的颜色被覆盖)给出长度nnn和染色次数mmm,求最终可能的颜色序列种数。n,m≤106n,m\le10^6n,m≤106题解:上述的倍增FFT的具体实现方式是递归[l,r][l,r][l,r],如果r−l...原创 2020-02-25 11:06:26 · 315 阅读 · 0 评论 -
模拟赛20200210【扫描线(单调性),最小割,基环树染色(树哈希+Polya)】
T1:题解:C类点可以不用平衡树维护,因为B类点的a[i]a[i]a[i]一定是后缀最小值,所以只需要在询问的时候把a[j]<a[i]a[j]<a[i]a[j]<a[i]的点的贡献全部删掉就可以了。在计算C类点的贡献时只需要将a[j]a[j]a[j]到前缀最大值区间加1就可以了。考试的时候想到单调性但是搞来搞去没搞出来(被“浙江省选模拟赛”标题吓住导致轻易自闭。。),...原创 2020-02-10 23:27:21 · 570 阅读 · 0 评论 -
模拟赛Day1(20200203) T1 垃圾题【分类讨论+枚举+dp解决等价匹配问题】
题目描述:题目分析:看到bbb的长度为5,可以感觉到这题就是在锻炼强大合理的分类讨论能力。首先看bi≤2b_i\le2bi≤2的部分分,即只有两种数字。枚举这两种数为x,yx,yx,y,数量分别为cntx,cntycnt_x,cnt_ycntx,cnty,可以记状态f[i][5]f[i][5]f[i][5],在O((cntx+cnty)∗5)O((cnt_x+cnt_y)*5)O...原创 2020-02-03 22:16:01 · 157 阅读 · 0 评论 -
NOI模拟赛20200102 T1 排列【带限制排列计数】
题目描述:n,k≤1018,T≤105n,k\le10^{18},T\le10^5n,k≤1018,T≤105题目分析:(就算是让我自闭的题目,也是被某个人瞬间就切掉的大水题 )考虑计算S(n,m)S(n,m)S(n,m)。如果n+n−1≤m,S(n,m)=n!n+n-1\le m,S(n,m)=n!n+n−1≤m,S(n,m)=n!否则:按一定的顺序确定排列,这个想法在计数中很...原创 2020-01-04 08:10:24 · 173 阅读 · 0 评论 -
HDU2481 Toy【Burnside + 生成函数求递推式】
题目描述:一个n+1个点,2n条边的图如下:现在要删除n条边使其成为一棵树,问有多少种不同的方案数,旋转算相同。答案mod m,n,m<=109题目分析:首先Burnside一波转化为求一个置换下的不动点数,再枚举gcd变成求长度为kkk的环加上中间的点的生成树个数。分为两种情况:如果1和k′k'k′没有连通,设f[i]f[i]f[i]表示前iii个点构成生成树的方案数...原创 2020-01-01 11:54:54 · 237 阅读 · 0 评论 -
POJ2888 Magic Bracelet【Burnside引理 + DP(矩阵加速)求不动点】
题目描述:大小为n,可用颜色数为m的一串珠子,其中有k对限制某两种颜色不能相邻。问在忽略中心旋转产生的重复下的不同的染色方案数。n≤109,m≤10,k≤m(m−1)2n\le10^9,m\le10,k\le\frac {m(m-1)}2n≤109,m≤10,k≤2m(m−1)题目分析:如果没有限制就是裸的Polya,直接phi乘上颜色种数的几次幂求和。但是有限制就会导致在循环iii步...原创 2019-12-30 21:58:17 · 207 阅读 · 1 评论 -
Codeforces457D Bingo!【组合计数】
题目描述:洛谷题目链接题目分析:确定恰好选rrr行,ccc列并不好做。而2t2^t2t可以看作所选行列的所有子集个数,所以可以通过计算至少选rrr行,ccc列的方案数来统计答案。记P(r,c)P(r,c)P(r,c)为至少选rrr行,ccc列的概率,那么答案=Cnr∗Cnc∗P(r,c)=C_n^r* C_n^c* P(r,c)=Cnr∗Cnc∗P(r,c)记选rrr行,ccc列...原创 2019-12-15 20:59:48 · 210 阅读 · 0 评论 -
【COCI2012#6】盒子与玩具【容斥+高维前缀和】
题目描述:Mirko找到了N个盒子,盒子里面放了一些玩具。一共有M种不同的玩具,每种玩具可能有多个。同一种玩具可以出现在不同的盒子里。现在Mirko想选择一些盒子,使得每种玩具都至少有被选择。问Mirko有多少种选择的方法。输入:第一行有2个整数N,M(1<=N<=1000000,1<=M<=20)接下来N行,每行有若干个数。第一个数为Ki(0<=ki<=...原创 2019-11-11 21:17:33 · 309 阅读 · 0 评论 -
codeforces 451E Devu and Flowers 及其拓展 【容斥】
题目描述:n种物品,每种物品有fif_ifi个,问选出S个物品有多少种选法n≤20, 0≤fi≤1012, 0≤S≤1014n\le 20,~~0\le f_i\le 10^{12},~~0\le S\le10^{14}n≤20, 0≤fi≤1012, 0≤S≤1014题目分析:显然的整数划分问题,...原创 2019-02-03 21:42:53 · 200 阅读 · 0 评论 -
BZOJ 3279 小Z的麻烦 & 2734 集合选数
32792734题面就不说了。第一个题,我们把一个数和它关联的数列成一个矩阵:1, 2, 4, … , 2m-12m, 2m+1,…, 22m-13, 6, 12, … ,3*2m-13 *2m, …容易想到,可以放在第一个盒子里的数都是像这样的:a∗2mx,x≥0a*2^{mx},x\ge 0a∗2mx,x≥0, aaa为奇数 , a∗2mx+m−1≤na*2^{mx+m-1}...原创 2019-02-21 17:27:46 · 151 阅读 · 0 评论 -
JZOJ 5988 珂学计树题 【树->括号序列->01序列+Burnside引理】
题面:题目分析:把树转成括号表示:第一个左括号到第一个右括号之间的部分描述根节点的左子树.剩下的部分描述根节点的右子树.”n个0,n个1的序列,循环移位后相同则本质相同”的等价类和”n对括号合法的括号序列”的等价类一一对应.然后做法就看这里→\rarr→Felix-Lee dalao的博客burside引理和polya定理Code:#include<cstdio>#...原创 2019-03-26 22:34:31 · 264 阅读 · 0 评论 -
魔王消失day2T1 uni【树哈希+Burnside】
题目描述:给定一棵n个点n条边的基环树,有m种颜色,给这棵树染色,求本质不同的染色方案。对于树,本质不同的含义与树同构类似。对于环,本质不同指一种方案不能通过另一种旋转环来得到。题目分析:首先对于环上的每个点,DP出它下面的树的染色方案。用树哈希来判断树同构,哈希时需要将儿子的哈希值排序然后合并,合并完后需要再乘上一个Seed、跟size取个异或或者乘上size。(不然后面的点会WA到...原创 2019-07-23 21:35:41 · 320 阅读 · 0 评论 -
Burnside引理和Polya定理
又看了一遍《组合数学》(讲得真好)Orz。至于Polya定理,就是用来计算C(f)C(f)C(f)的,记fff置换的循环个数为kkk,颜色数为mmm,则C(f)=mkC(f)=m^kC(f)=mk。对于一个圆置换,移动iii步的置换,1要移动lcm(i,n)/ilcm(i,n)/ilcm(i,n)/i次回到1,所以循环个数为n/(lcm(i,n)/i)=gcd(i,n)n/(lcm(i...原创 2019-07-22 20:57:39 · 322 阅读 · 0 评论 -
HDU4602 Partition (神奇的计算方式)
题目描述:4=1+1+1+1 =1+1+2 =1+2+1 =2+1+1 =1+3 =3+1 =44=1+1+1+1\\~~~=1+1+2\\~~~=1+2+1\\原创 2018-12-15 17:15:42 · 240 阅读 · 0 评论