![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压dp
文章平均质量分 75
lemondinosaur
转圈圈 不停转圈圈 然后摔倒
展开
-
#状压dp,容斥#JZOJ 4555 没有强联通分量的无聊世界
题目在一个有向图中问最少去掉多少条边使剩下的图是一个DAG分析容斥,用总边数减去能形成有向无环图的边数即为答案,设dp[S]dp[S]dp[S]表示选择的集合为SSS所能选的环,那么每当选一个点,就加上它的出边集合与当前所选集合的按位与的二进制位为1的个数,即dp[S∣x]=max(dp[S∣x],dp[S]+cnt[chu[x]&S])dp[S|x]=max(dp[S|x],dp...原创 2019-12-13 21:03:31 · 180 阅读 · 0 评论 -
2019.08.21【NOIP提高组】模拟 A 组
解题报告JZOJ 6315 数字JZOJ 6313 Maja题目分析代码JZOJ 6316 djq的朋友圈题目分析代码Not endingJZOJ 6315 数字JZOJ 6313 Maja题目蜜蜂到了一片草地,草地可以被描述成NNN行MMM列的网格图,在第iii行第jjj列的位置上有Ci,jC_{i,j}Ci,j朵未授粉的花。她会从第 AAA行第BBB列出发,每次只能移动到与当...原创 2019-08-21 20:09:25 · 125 阅读 · 0 评论 -
2018年11月2日 提高组&2018.08.18【2018提高组】模拟A组
解题报告前言JZOJ 5829 string题目分析代码JZOJ 5830 water题目分析代码JZOJ 5831 number题目分析代码前言咕咕了快一年了呀JZOJ 5829 string题目给定一个由小写字母组成的字符串sss。有mmm次操作,每次操作给定3个参数l,r,xl,r,xl,r,x。如果x=1x=1x=1,将s[l]∼s[r]s[l]\sim s[r]s[l]∼s[...原创 2019-08-11 21:14:48 · 188 阅读 · 0 评论 -
2019.08.12【NOIP提高组】模拟 A 组
解题报告JZOJ 6293 迷宫题目分析代码JZOJ 6297 猛汉王题目分析代码JZOJ 6299 工厂题目分析代码JZOJ 6293 迷宫题目分析因为其没有后效性动态dp,用线段树维护区间的最短路径,线段树维护一个dp方程,也就是该列的某行到某行的最短路径,那么区间判断最小值,注意特判代码#include <cstdio>#include <cctype...原创 2019-08-19 11:16:41 · 485 阅读 · 0 评论 -
#状压dp,容斥#洛谷 2150 JZOJ 5731 寿司晚宴
题目把2∼n2\sim n2∼n分成两个不必非空的集合S1,S2S_1,S_2S1,S2,问有多少种方法使gcd(∏S1,∏S2)=1gcd(\prod S_1,\prod S_2)=1gcd(∏S1,∏S2)=1分析那么很容易想到状态压缩dp,设dp[S1][S2]dp[S_1][S_2]dp[S1][S2]表示第一个集合为S1S_1S1,第二个集合为S2S_2S2的方案...原创 2019-05-17 19:56:42 · 136 阅读 · 0 评论 -
#概率、数学期望,状压dp#洛谷 2473 JZOJ 1704 奖励关
题目分析首先宝物种类比较少,可以想到状压dp,但是终态非常多,可以尝试转化把初态和终态调换,设dp[i][s]dp[i][s]dp[i][s]表示前i−1i-1i−1轮取了集合sss的期望,那么dp[i][s]=∑k=1nmax{dp[i+1][s],dp[i+1][s∣2k−1]+w[k](若s满足要求)}/ndp[i][s]=\sum_{k=1}^n\max\{dp[i+1][s],d...原创 2019-05-04 11:54:54 · 142 阅读 · 0 评论 -
2019.04.13【NOIP提高组】模拟 A 组
解题报告前言JZOJ 3169 生产汽车题目分析代码JZOJ 3170 挑选玩具题目分析代码JZOJ 3171 洛谷 4594 重心[题目](https://www.luogu.org/problemnew/show/P4594)[分析+代码](https://www.luogu.org/paste/cwuaw5vf)前言水分警告JZOJ 3169 生产汽车题目nnn个工人,mmm辆汽...原创 2019-04-17 17:36:33 · 175 阅读 · 0 评论 -
2019.03.09【NOIP提高组】模拟 B组
解题报告JZOJ 4742 单峰题目分析代码JZOJ 4743 积木题目分析代码JZOJ 4745 看电影题目分析代码JZOJ 4742 单峰题目问1∼n1\sim n1∼n的排列中有多少个单峰排列分析对于n−1n-1n−1,nnn的位置只能在n−1n-1n−1的左右,所以也就是2n−12^{n-1}2n−1代码#include <cstdio>#define rr...原创 2019-03-27 21:24:46 · 167 阅读 · 0 评论 -
#状压dp#洛谷 3888 拯救莫莉斯
题目有一个n×mn\times mn×m的矩阵,现在标记一些格子,使未标记的格子与标记的相邻,使标记格子的点权和最小,并输出标记格子的个数。分析首先我们能够发现n×m≤50且m≤nn \times m \leq 50且m\leq nn×m≤50且m≤n也就是说m≤7m\leq 7m≤7,那我们就可以用状压dp实现,设f[n][i][j]f[n][i][j]f[n][i][j]表示第nnn行...原创 2019-03-27 16:13:07 · 115 阅读 · 0 评论 -
#状压dp#ssl 1503 poj 2411 Mondriaan's Dream
题目用1×21×21\times 2的长方形填充N×MN×MN\times M的矩阵,使矩阵没有重叠的长方形,也没有遗漏,问有多少种方案分析首先用特判搞一搞(根本填充不了),然后用状压dp,用一个11位二进制数表示填充的状态,当然第i行和第i+1行需要判断是否合法,连续的0只能是偶数个(继续填充)(继续填充)(继续填充),且两个状态按位与=0(1下面是0)(1下面是0)(1下面...原创 2018-08-20 16:32:30 · 167 阅读 · 0 评论 -
#状压dp#poj 1185 洛谷 2704 codevs 1647 loj 10173 vijos 1424 炮兵阵地
注:poj代码放在https://www.luogu.org/paste/oofcjs7e 有点坑,数据点111 111 PPP搞不了(也就是说下面的代码非正解(正解还得搞一搞,上面的网址)) 然后还有ssl 1384和jzoj 1768(没位置放标签了)题目在一个地图有平原也有山地,可以在平原放炮兵,攻击范围是一个边长为2(iii(炮兵)到iii+2)的十字,炮兵不能相互攻击,问...原创 2018-08-21 08:07:49 · 174 阅读 · 0 评论 -
#状压dp#洛谷 1441 ssl 2045 砝码称重
题目现有nnn个砝码,重量分别为a1a_1a1,a2a_2a2,a3a_3a3,⋯\cdots⋯,ana_nan,在去掉mmm个砝码后,问最多能称量出多少不同的重量(不包括0)。分析可以用状压dp解决,当枚举的状态二进制下只有n−mn-mn−m个1时,那么统计能称出多少就行了状态转移方程ans=max{bitset计算的1的个数}ans=max\{bitset计算的1的个数\}a...原创 2018-10-06 08:38:36 · 188 阅读 · 0 评论 -
2018.12.22【NOIP提高组】模拟B组
解题报告JZOJ 2700 数字题目分析代码JZOJ 3511 cza的蛋糕题目分析代码JZOJ 3519 灵能矩阵题目分析代码后续JZOJ 2700 数字题目设S(n)为各位数字之和,且当n&gt;9时,S(n)=S(S(n))设S(n)为各位数字之和,且当n&gt;9时,S(n)=S(S(n))设S(n)为各位数字之和,且当n>9时,S(n)=S(S(n))如果一...原创 2018-12-26 17:51:45 · 164 阅读 · 0 评论 -
2019.01.27【NOIP提高组】模拟 B 组
RMQ又打错了!JZOJ 1273 袁绍的刁难题目分析代码JZOJ 5230 队列统计题目分析代码JZOJ 5231 序列问题题目分析代码后续JZOJ 1273 袁绍的刁难题目用3的非负整数幂组成一个数,使这个数第kkk小,询问这个数分析那么首先这些幂是互不受影响的,而且递增排列,这可以想到位运算也是这样操作的,那么kkk的二进制就是表示答案是否选择的二进制状态,那么把kkk进行二进制...原创 2019-01-27 16:50:59 · 186 阅读 · 0 评论 -
2018_9_8 模拟题
前言:比较OTLJZOJ 3470 最短路题目给出一个nnn个节点,mmm条边的有向图,并且有kkk个点必须走过,问从起点sss到终点ttt的最短路径分析跑kkk遍spfaspfaspfa,在起点跑一次spfaspfaspfa,然后剩下的其实就是深搜或者状压了(我用了状压),时间复杂度O(k×常数×E+211×112)O(k×常数×E+211×112)O(k...原创 2018-09-08 15:39:33 · 447 阅读 · 0 评论 -
2018.07.10【省赛模拟】模拟B组
今日C组题目JZOJ 3332 棋盘游戏JZOJ 3290 吃货JYYJZOJ 3336 坑带的树后续dalao太强了(B组题目分开写(必然!))原创 2018-07-10 15:07:17 · 139 阅读 · 0 评论 -
2018_10_7 模拟赛
前言OTLhdu 6344 调查问卷题目nnn份互不相同的问卷,在整理结果的时候,他发现可以只保留其中的一部分问题,使得其中kkk份问卷仍然是互不相同的。这里认为两张问卷是不同的,当且仅当存在至少一个被保留的问题在这两份问卷中的回答不同。问有多少个问题的子集满足以上要求分析然而(比赛)题目比较玄学,可能理解有问题,但是实际上还是知道的,由于问题数较少,可以用状态压缩,枚举子集,用总...原创 2018-10-07 16:14:19 · 136 阅读 · 0 评论 -
#状压dp#洛谷 2396 yyy loves Maths VII
题目有nnn张卡片,第iii张卡片上写着aia_iai,可以选择扔掉第iii张卡片并向前走aia_iai步,当走到厄运数字时,game over,问有多少种方法可以扔掉所有卡片分析这是一道状压dp的题目,dp[i]dp[i]dp[i]表示扔掉集合iii所有卡片的方案,初始dp[0]=1dp[0]=1dp[0]=1,dis[i]dis[i]dis[i]表示集合iii扔掉所有卡片所在的位置...原创 2019-01-29 21:20:28 · 140 阅读 · 0 评论 -
2018.07.17【2018提高组】模拟C组
前言:OTL。。。题目JZOJ 1264 乱头发节题目求一头牛到后面第一头不低于该牛身高的牛之间的牛的数量(不包括两头牛,如果没有不低于的,就当做最后有一头无限高的牛)分析单调栈!如果不想开long long,那就用unsigned代码#include &amp;amp;lt;cstdio&amp;amp;gt;#include &amp;amp;lt;ccty原创 2018-07-17 14:40:20 · 177 阅读 · 0 评论