首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
bzoj4036 [HAOI2015]按位或 状压DP + MinMax 容斥
】的更多相关文章
bzoj4036 [HAOI2015]按位或 状压DP + MinMax 容斥
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4036 题解 变成 \(2^n-1\) 的意思显然就是每一个数位都出现了. 那么通过 MinMax 容斥,可以把问题转化为对于一个集合 \(S\),求 \(S\) 中至少有一个元素出现的概率. 这个问题等价于求 \(S\) 中没有任何一个元素出现的概率,即出现的数都是 \(S\) 的补集的子集的概率. 这个问可以通过 SoSDP 实现,时间复杂度 \(O(n2^n)\). 关于 SoSDP 这…
UOJ #129 / BZOJ 4197 / 洛谷 P2150 - [NOI2015]寿司晚宴 (状压dp+数论+容斥)
题面传送门 题意: 你有一个集合 \(S={2,3,\dots,n}\) 你要选择两个集合 \(A\) 和 \(B\),满足: \(A \subseteq S\),\(B \subseteq S\),且 \(A \cap B=\varnothing\) 不存在两个数 \(x \in A\),\(y \in B\),且 \(\operatorname{gcd}(x,y)>1\). 求满足条件的集合 \(A,B\) 的数量. \(n \in [2,500]\) 通过分析题面可以发现,如果两个集合 \…
hdu 5471(状压DP or 容斥)
想了最复杂的思路,用了最纠结的方法,花了最长的时间,蒙了一种规律然后莫名其妙的过了. MD 我也太淼了. 后面想了下用状压好像还是挺好写的,而且复杂度也不高.推出的这个容斥的规律也没完全想透我就CAO. Count the Grid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 400 Accepted Submission(s)…
【HDOJ5519】Kykneion asma(状压DP,容斥)
题意:给定n和a[i](i=0..4),求所有n位5进制数中没有前导0且i出现的次数不超过a[i]的数的个数 2<=n<=15000,0<=a[i]<=3e4 思路:设f(n,a,b,c,d,e)为可以含前导0的答案 则ANS=f(n,a,b,c,d,e)-f(n-1,a-1,b,c,d,e) 考虑对每一种数字出现的情况进行容斥 设dp[i][j]为当前到第i位,数字出现的情况为j,至少有一种数字超过了限制次数的方案数 转移有两种:已经出现过的数字可以再出现一次,没有出现过的数字先…
2019.02.09 bzoj2560: 串珠子(状压dp+简单容斥)
传送门 题意简述:nnn个点的带边权无向图,定义一个图的权值是所有边的积,问所有nnn个点都连通的子图的权值之和. 思路: fif_ifi表示保证集合iii中所有点都连通其余点随意的方案数. gig_igi表示只考虑集合iii中所有点的状态的子图的权值和. 我们先预处理出ggg数组,然后考虑递推fff数组. 显然fif_ifi是等于gig_igi扣掉一些东西的,扣掉的应该就是不连通的情况. 于是我们枚举编号最小的点所在的连通块来扣掉非法情况. 时间复杂度O(n2n+3n)O(n2^n+3…
hdu 4336 Card Collector(状压dp/Min-Max反演)
传送门 解题思路 第一种方法是状压\(dp\),设\(f(S)\)为状态\(S\)到取完的期望步数,那么\(f(S)\)可以被自己转移到,还可以被\(f(S|(1<<i))\)转移到,\(i\)为\(S\)中没有的一个元素. 第二种方法是\(Min-Max\)反演,要求的其实就是\(max(S)\),反演得\(max(S)=\sum\limits_{T\subseteq S}min(T)\),而\(min(T)=\sum p(i)\)(\(i\)是\(T\)的子集). 代码 状压 #inclu…
$HDU$ 4336 $Card\ Collector$ 概率$dp$/$Min-Max$容斥
正解:期望 解题报告: 传送门! 先放下题意,,,已知有总共有$n$张卡片,每次有$p_i$的概率抽到第$i$张卡,求买所有卡的期望次数 $umm$看到期望自然而然想$dp$? 再一看,哇,$n\leq 20$,那不就,显然考虑状压$dp$? 转移也很$easy$鸭,设$f_{s}$表示已经获得的卡片状态为$s$时候的期望次数 不难得到转移方程,$f_s=\sum_{i\notin{S}}f_{s|\{i\}}\cdot p_i+(1-\sum_{i\notin{S}}p_i)\cdot f_s…
[UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥
题目链接: [集训队作业2018]小Z的礼物 题目要求的就是最后一个喜欢的物品的期望得到时间. 根据$min-max$容斥可以知道$E(max(S))=\sum\limits_{T\subseteq S}^{ }(-1)^{|T|-1}E(min(T))$ 那么只需要知道每个子集中最早得到的物品的期望时间即可得出答案. 对于每个子集,最早得到的物品的期望时间就是一次选择能得到这个子集中元素的概率的倒数. 用一次选择能得到这个子集中的元素的方案数除上总方案数(每次共有$2*n*m-n-m$种选择方…
loj#2542. 「PKUWC2018」随机游走(树形dp+Min-Max容斥)
传送门 首先,关于\(Min-Max\)容斥 设\(S\)为一个点的集合,每个点的权值为走到这个点的期望时间,则\(Max(S)\)即为走遍这个集合所有点的期望时间,\(Min(S)\)即为第一次走到这个集合的期望时间,题目所求为\(Max(S)\)很难算于是转化为求\(Min(S)\) 设\(f_u\)为点从点\(u\)开始游走第一次到达\(S\)的期望时间,那么有\[f_u=1+\sum_{(u,v\in E)}\frac{f_v}{deg_v}\] 如果\(u\in S\),那么\(f_u…
LOJ2542. 「PKUWC2018」随机游走【概率期望DP+Min-Max容斥(最值反演)】
题面 思路 我们可以把到每个点的期望步数算出来取max?但是直接算显然是不行的 那就可以用Min-Max来容斥一下 设\(g_{s}\)是从x到s中任意一个点的最小步数 设\(f_{s}\)是从x到s中任意一个点的最大步数 然后就可以的得到 \(f_{s}=\sum_{t\subseteq s}(-1)^{|t|+1}g_t\) 然后考虑g怎么求 设\(p_i\)是i点到任意一个子集中的点的最小步数 有\(p_u=\frac{1}{du_u}(1+p_{fa_u})+\frac{1}{du_u}…