容斥原理
Vectorxj
这个作者很懒,什么都没留下…
展开
-
BZOJ 1042 [DP][容斥原理]
Description 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4c_1,c_2,c_3,c_4。某人去商店买东西,去了tottot次。每次带did_i枚cic_i硬币,买sis_i的价值的东西。请问每次有多少种付款方法。 Input 第一行 c1,c2,c3,c4,totc_1,c_2,c_3,c_4,tot 下面tottot行 d1,d2,d3,d4,s,d_1,d_原创 2016-12-20 18:24:10 · 399 阅读 · 0 评论 -
[DP][容斥原理][斯特林数] Codeforces715 E - Complete the Permutations
SolutionSolutionSolution先dfsdfs\text{dfs}出四个量c1,c2,cyc,blkc1,c2,cyc,blkc1,c2,cyc,blk表示缩边以后x→ 0x→ 0x\rightarrow~0,0→x0→x0\rightarrow x,自环和0→00→00\rightarrow0的边的数量。 fifif_i表示用c1c1c1可以搞出至少ii...原创 2018-03-09 15:34:53 · 962 阅读 · 0 评论 -
[DP][容斥原理] ARC064 F - Rotated Palindromes
SolutionSolutionSolution要求的就是长度为 nnn 的可通过循环位移得到回文串的串的本质不同的个数。 我们考虑枚举长度为 x(x|n)x(x|n)x(x|n) 的回文串作为其最小循环节来计数。 可以发现回文串的循环节也是循环的。那长度为 xxx 的循环节为 k⌈x2⌉k⌈x2⌉k^{\lceil{x\over2}\rceil} 种。 但这样求出来的并不是作为最小循环...原创 2018-03-08 13:39:30 · 386 阅读 · 0 评论 -
[容斥原理][复杂度分析] SRM 555 Div1 Hard MapGuessing
SolutionSolutionSolution可以枚举磁头的初始位置,计算出哪些地方是可以随便赋0/10/10/1的。 但这样一个初始序列可能会被多个磁头满足。就要用容斥去重。ans=∑T⊆S(−1)|T|+12|P|P=⋂R⊆TRans=∑T⊆S(−1)|T|+12|P|P=⋂R⊆TRans=\sum_{T\subseteq S}(-1)^{|T|+1}2^{|P|}\\P=\bigca...原创 2018-01-06 09:42:37 · 429 阅读 · 0 评论 -
[容斥原理][Meet-in-middle][Matrix-Tree定理] SRM551 Div1 Hard SweetFruits
SolutionSolutionSolution将原问题分成两个子问题。从所有甜的水果中选出kkk个水果作为真甜的,要求他们甜度之和不超过maxSweetnessmaxSweetnessmaxSweetness的方案数cntkcntkcnt_k令nnn为甜的水果数目,求出组成的树的方案数treektreektree_k使得nnn个甜的水果中恰有kkk个水果为真甜的。 ans=∑k=0...原创 2018-01-04 09:01:12 · 525 阅读 · 0 评论 -
[状压DP][NTT] 2016 TCO Algorithm Algo Final - Division I, Level Three HamiltonianPaths
SolutionSolution好神的题~ 转化成某些边不能走。 考虑容斥,把题目转化为模板图中某些边必须要走。 记fef_e表示走了ee条不合法的路径的方案数。 那么可以得到模板图缩了这些路径以后剩下xx个点的方案数gxg_x nn个图放在一起就是卷积的形式。 用FFTFFT快速幂可以得到所有点放在一起剩xx个的点的方案数hxh_x。 然后容斥就可以通过hxh_x得到00对同类点在一原创 2017-12-28 14:26:27 · 398 阅读 · 0 评论 -
[容斥原理][DP] SRM 498 Div1 Hard FoxJumping
SolutionSolution对不能走(+ai,+ai)(+a_i,+a_i)容斥,设dpp,qdp_{p,q}表示走了pp步不合法的,和为10q10q的方案数。 同时DP出x,yx,y两个方向上走了pp步,长度为qq的方案数xp,q,yp,qx_{p,q},y_{p,q}。因为此时x,yx,y独立,最后计算的时候直接乘起来就好了。 那最后答案就是∑p=0R∑q=0⌊min(m,n)10⌋(−原创 2018-01-03 17:17:50 · 445 阅读 · 0 评论 -
[容斥原理]BZOJ 2839: 集合计数
DescriptionDescription一个集合SS有nn各元素,要求从2n2^n个子集中选取若干个子集,使得这些子集的并的大小为kk。SolutionSolution因为是恰好为kk,可以考虑容斥原理,转化为至少为kk。 至少为kk的方案数很好统计,就是(nk)22n−k{n\choose k}2^{2^{n-k}}。 然后直接容斥就好了。答案就是∑i=kn(ik)(ni)22n−i\su原创 2017-10-20 15:14:29 · 462 阅读 · 0 评论 -
[DP][容斥原理] BZOJ 4762: 最小集合
DescriptionDescription定义一个非空集合是合法的,当且仅当它满足以下两个条件。1、集合内所有元素andand和为00。2、它的非空子集中仅有它本身满足11。给出一个集合SS,求它的合法非空子集数。 n≤1000,ai≤1024n\le1000,a_i\le1024SolutionSolution设f(S)=⋀a∈Saf(S)=\bigwedge_{a\in S}aSaS_原创 2017-09-29 12:15:59 · 747 阅读 · 0 评论 -
[DP][容斥原理] 2017 TCC India Online Div1 Hard ConsecutivePalindromes
SolutionSolutionSolution考虑其反面,就是不存在一个子序列是回文串。 实际上需要考虑的只有连续的两个和三个字符。因为其他情况都已经包含在这个之中。 设dpi,l,0/1,0/1,0/1dpi,l,0/1,0/1,0/1dp_{i,l,0/1,0/1,0/1}表示考虑到iii,长度为lll,i,i−1,i−2i,i−1,i−2i,i-1,i-2是否选取的状态为0/10/...原创 2018-03-11 16:16:27 · 281 阅读 · 0 评论