
状压dp/子集dp
文章平均质量分 73
位运算相关的dp
小衣同学
No Saturday , no Sunday , no holiday .
展开
-
2020 ICPC·小米邀请赛 决赛 J. Rikka with Book(状压dp)
一定是对于j∈[1,i-1]来说,把[1,j]看成一体时,[1,j]的重心压在j+1的左边沿,对于j∈[i+1,n]来说,将[1,j-1]看成一体时,[1,j-1]的重心压在j的右边沿。第i本书的可以看成是li(li<=1e3)*1*1的物体,其中长为li,宽为1,高为1,那么新的重心,根据杠杆原理,位于距边沿a/(a+b)的位置,记add=a/(a+b)所以状压每次往下垫的书是哪一本,确定放的顺序,关注的是伸出去的最大值。所以,如果最优解是第i本书伸的最远,最上面的书是1,最下面的书是n,原创 2023-12-16 17:40:00 · 557 阅读 · 1 评论 -
Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328)G. Cut and Reorder(状压dp)
于是就有,dp[S][i]表示(当前选了a序列前bit[S]个数),当前选择的b的集合是S,也就是B在新序列的位置和A的位置不再前后相邻,D在新序列的位置和A的位置不再前后相邻。当前a的最后一个数对应的b中的数选的是第i个时,二者只考虑这些数时完全相同的最小代价。也就是取一段连续的a的区间[l,r],往b当前的集合中,没取并且也连续的一段区间里放。选择a的第i个的时候,需要考虑a的第i-1个选的是什么,从而判断二者是否前后相邻。首先,考虑如果a的位置和b的位置在排列的位置上一一映射上了,原创 2023-11-13 01:58:41 · 237 阅读 · 0 评论 -
Nebius Welcome Round (Div. 1 + Div. 2) E. Routing(状压dp/找到一个无向图简单环,使得所有点到环的距离不超过1)
Nebius Welcome Round (Div. 1 + Div. 2) E. Routing(状压dp/找到一个无向图简单环,使得所有点到环的距离不超过1)原创 2023-03-13 03:34:52 · 500 阅读 · 0 评论 -
AtCoder Beginner Contest 283 E. Don‘t Isolate Elements(预支下一行状态的状压dp)
AtCoder Beginner Contest 283 E. Don't Isolate Elements(预支下一行状态的状压dp)原创 2022-12-25 20:40:26 · 522 阅读 · 0 评论 -
Codeforces Global Round 10 G. Omkar and Pies(状压dp)
题目长度为k(k<=20)的01串s[]和t[],不保证二者的01数量相同,现在有n(n<=1e6)个小精灵,第i个小精灵可以把s串的第ai和第bi两个位置的值互换,现在你要选择一个长度至少为m(m<=n)的连续区间,不妨设为[l,r],则需要依次将(al,bl)...(ar,br)这些位置的值互换,你需要令操作后的s[],和t[]的相似度最大,相似度定义为对应位置数字相同的个数输出这个最大相似度,并输出操作的连续区间的左右端点[l,r]思路来源官方题解原创 2020-08-21 15:44:13 · 384 阅读 · 0 评论 -
Codeforces Round #622 (Div. 2) D.Happy New Year(状压dp)
题目n(n<=1e5)个区间,第i个区间[li,ri](1<=li<=ri<=m,1<=m<=1e9),保证区间内的每个端点不会被覆盖超过8次,选一些区间使得被覆盖的次数为奇数的点最多输出最大的被覆盖的次数为奇数的点的个数思路来源https://codeforces.com/contest/1313/submission/71864317https://www.bilibili.com/video/BV1Q7411M7S9?p=5题解首先离原创 2020-07-31 15:00:36 · 229 阅读 · 0 评论 -
Codeforces Round #584 - Dasha Code Championship E2.Rotate Columns(hard version)(状压dp+子集dp)
题目T(T<=40)组样例,每次给出一个n*m(n<=12,m<=2000)的矩阵a[],aij的权值为[1,1e5]的整数,对每一列,你都可以选择对该列进行任意次(含0次)的循环移位,所有列都操作完后,对于移位后的矩阵,取每一行的最大值ri,对其求和,求和的最大值思路来源https://blog.csdn.net/m0_37809890/article/details/101012876?utm_medium=distribute.pc_relevant.none原创 2020-06-18 11:38:55 · 285 阅读 · 0 评论 -
Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F.Bits And Pieces(高维前缀和sosdp)
题目长度为n(3<=n<=1e6)的数组a[],0<=ai<=2e6求最大的ai|(aj&ak)的值,满足三元组i<j<k思路来源https://blog.csdn.net/Ratina/article/details/100100711?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1原创 2020-06-17 23:52:24 · 264 阅读 · 0 评论 -
AtCoder Regular Contest 100 E - Or Plus Max(高维前缀和sosdp)
题目给定n(n<=18),长度为的数组a[],,1<=ai<=1e9对于每个,求满足的ai+aj的最大值思路来源https://www.cnblogs.com/heyuhhh/p/11585358.html题解(i or j)<=k,很不好做,考虑转化成(i or j)==k再做前缀和,发现也很难做于是考虑(i or j)是k的子集,对k统计k的子集中的top2,再做一遍前缀和,这样,统计用k的子集更新k的答案,再用k-1的子集,...,1的.原创 2020-06-17 22:44:05 · 327 阅读 · 0 评论 -
Codeforces Beta Round #11 D. A Simple Task(状压dp/无向图简单环的个数)
题目给定n(n<=19)个点,m(0<=m)的无向图,求简单环的个数简单环是指一个没有经过重复的点,也没有经过重复的边的环思路来源https://www.luogu.com.cn/problem/solution/CF11Dhttps://blog.csdn.net/fangzhenpeng/article/details/49078233(非常详细)题解洛...原创 2020-05-06 02:56:19 · 440 阅读 · 0 评论 -
Codeforces Round #590 (Div. 3) E(暴力/差分)+F(状压dp)
思路来源https://www.cnblogs.com/carcar/p/11618099.htmlhttps://blog.csdn.net/BeNoble_/article/details/101985236https://codeforces.com/blog/entry/70233E. Special Permutations(暴力/差分)对于长度为n(n<=2e...原创 2019-10-04 20:40:50 · 389 阅读 · 0 评论 -
2017Nowcoder Girl初赛重现赛 E.勇敢的妞妞(状压dp)
题目n(n<=1e4)个人,每个人有5种属性,各对应一个属性值,你可以选择其中K(1<=K<=n)个人,每种属性是K个人中最大的那个的属性值,五个属性值求和得到最终的属性值,最大化最终的属性值,输出最大值思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=40020617...原创 2019-12-04 21:07:23 · 264 阅读 · 0 评论 -
Codeforces Round #585 (Div. 2) E - Marbles(状压dp)
题目有n(n<=4e5)个数,每个数值代表一种颜色,第i个数ai(1<=ai<=20)把相同的数通过交换变成连续的一段,只能交换相邻位置的数,求最小交换次数思路来源马老师题解数据范围20考虑状压,dp[i]代表i中1全部归拢的最小代价cost[i][j]代表把i全挪在j前的代价,单独地考虑每对之间的贡献如ABABBA,对每个A求其前面有多少个...原创 2019-09-16 10:57:01 · 364 阅读 · 0 评论 -
hdu5067 Harry And Dig Machine(状压dp TSP裸题)
题意TSP裸题注意从左上角(0,0)出发题解挑战程序竞赛(二)看懂题意就是一通板子代码1(倒序)#include <iostream>#include <algorithm> #include <cstring>#include <cstdio>#include <cmath>#includ...原创 2019-01-13 16:04:15 · 294 阅读 · 0 评论 -
poj3254 Corn Fields(状压dp基础题)
题意一些地方可以种地(用1表示),一些地方不能(用0表示)相邻的1不能同时种地,问有多少种可行种地方案思路来源https://www.bilibili.com/video/av29915579/?spm_id_from=333.788.videocard.0题解判 左右不相邻(now&(now<<1))==0判 上下不相邻 (pre&a...原创 2019-01-13 18:40:08 · 238 阅读 · 0 评论 -
poj1185 炮兵布阵(状压dp)
思路来源https://blog.csdn.net/qq_34374664/article/details/54900865心得判断当前枚举的放1的位置a是否合法,既可以和原地图对应的十进制数b作a|b==b的判断也可以对地图取反,做a&(!b)==0的判断正确性显然 对于第一行和第二行就特殊讨论一下吧自己水平不够,没法合并 mdzz这种题真...原创 2019-01-13 20:46:28 · 225 阅读 · 0 评论 -
Codeforces Round #531 (Div. 3) F.Elongated Matrix(状压dp)
题意n<=16,m<=1e4给你一个n*m的矩阵,要求你交换其中一些行,行只能完整地被交换使得S型按列遍历,即第一行第一个到第二行第一个到最后一行第一个再到第一行第二个……这样形成一个遍历序列后使得相邻元素之差的绝对值最大思路来源https://blog.csdn.net/weixin_38686780/article/details/8619297...原创 2019-01-16 18:58:10 · 235 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 E.AC Challenge(一维状压dp)
题目n个问题,每个问题有ai,bi如果第t秒解决就会得到t*ai+bi的分数有一个si,代表前驱的数量,以下si个数,p1,p2,…,psi代表解决了这些问题,才能解决该问题可以不做完所有问题,问最后怎么使分数最大n<=20思路来源https://blog.csdn.net/u011620711/article/details/82315621...原创 2019-02-09 23:08:43 · 226 阅读 · 0 评论 -
hdu1565 方格取数(1) (状压dp入门)
题目题解先预处理所有合法状态(不相邻的)再预处理所有合法状态的sum值然后枚举上一行向下一行的转移其实自己的代码dp[i][state[j]]可以开成dp[i][j]以缩小空间,毕竟是离散化过的j,n=20的时候cnt=17710不知道是怎么O(n*cnt*cnt)过的……代码#include<iostream>#include<cst...原创 2019-02-12 15:39:56 · 296 阅读 · 0 评论 -
蓝桥杯 糖果(状压dp)
题目m种糖果,n个背包,每个包k个糖果问最少需要多少包,能凑齐所有的糖果n<=100,m<=20,k<=20思路来源归神&&马老师题解把糖果按位压,维护最小值最后查询所有位为1的状态的最小值注意状压的时候0-(m-1),要减个1,对状压dp还是不够敏感啊,看到m<=20都没反应这比之前做的状压dp简单多了啊,刷题量...原创 2019-03-24 21:32:53 · 770 阅读 · 0 评论 -
Gym 101915D Largest Group (二进制枚举/状压dp/二分图最大团)
题目两个大小为P(|P|<=20)的集合,每个集合是一个团给定一些二分图的边的关系N(N<=P*P),问最多选定多少个点,使得所选集合是一个团思路来源耀宗、励宁、马老师等https://www.cnblogs.com/qywhy/p/9745048.html题解首先,把边的关系压入数组集合,按位维护二进制枚举:每次去判断二进制枚举的左边集合,所对应的...原创 2019-04-11 00:52:53 · 481 阅读 · 0 评论 -
牛客练习赛49 B.筱玛爱阅读(状压/子集dp)
题目筱玛是一个热爱阅读的好筱玛,他最喜欢的事情就是去书店买书啦!一天,他来到一家有n(n<=15)本书的书店,筱玛十分快乐,决定把这家店里所有的书全部买下来。正巧今天店里在搞促销活动,包含m(m<=)个促销方案。每个促销方案是由指定的若干本书构成的集合,如果购买了该方案中所有的书,那么其中最便宜的一本书将免费。但是,每本书只能用于一个促销方案。作为店里的VIP,...原创 2019-07-06 14:33:07 · 514 阅读 · 0 评论 -
SPOJ - TLE Time Limit Exceeded(高维前缀和/状压dp)
题目给一个数组C,长度为n(n<=50),每个数字的范围是2^m(m<=15),然后要求构造一个数组a,满足1、a[i] % C[i] !=0 ;2、a[i] < 2^m ;3、a[i] & a[i+1] = 0;问满足条件的方案数有多少种。思路来源https://blog.csdn.net/WeYoungg/article/details/770...原创 2019-09-07 17:20:34 · 316 阅读 · 0 评论 -
“东信杯”广西大学第一届程序设计竞赛(同步赛)F-出装方案(二分图最大匹配/状压dp/最大费用最大流)
题目思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=37522548(MCMF)https://ac.nowcoder.com/acm/contest/view-submission?submissionId=37514575(状压dp)心得本来就是一个二分图最大权匹配的KM板子题...原创 2018-11-26 00:03:23 · 1403 阅读 · 0 评论