随笔分类 - DP(背包)
摘要:状态很差脑子不清醒了,柿子一直在推错。。。。 。。。 不难发现这个题实际上是一个完全背包 问题在于n太大了,相应的有质数的数量不会超过7个 假设要求sigema(1~plen)i pi*ci=n 的方案数 令xi=ci/(S*pi),yi=ci%(S/pi),注意yi<S/pi 则等价于sigema
阅读全文
摘要:类似墨墨的等式 设f[2][j][k]表示a[i].c是否和当前颜色相同,到当前枚举到的颜色为止,颜色数为j,对mnv取模为k的最小数 这是个无限循环背包,用spfa优化
阅读全文
摘要:请不要去改题目给的输入,不然你会wa穿。。。 这么故弄玄虚的题目,肯定要先转换问题 看到这个不断的除2想起别人家的线段树的写法。。。x的两个孩子是x<<1和x<<1|1 然后问题就转换成给你一棵树,你可以增加树的权值,要让树上每一条长度为k+1的链上的点权和%m都等于0 先%m把取值范围降到[0,m
阅读全文
摘要:这个题意花里胡哨的zzzzz 其实它是个树啊。。。然后看一下范围很显然是一个树背包啦 设f[i][j]表示以i为根的子树分成j段 对于当前两个子树合并,可以合出max(j1,j2)~j1+j2范围的段数 难点就在于怎么计算方案了(是真的没有想到啊T_T) 方程是这样的:singema f[x][i]
阅读全文
摘要:之前模拟赛好像出过,然而我只会信仰打表找规律 现在再看的的话,容易把问题转换成把n拆成多个数,不同的最小公倍数个数 然而搞出来我还是不是很会,发现自己分组背包没学好。。。 素数对于最小公倍数的贡献是要取要么不取的区别,而对于空间的占用多次取是关于指数的 那么可以把p,p^2,p^3……p^q看成一组
阅读全文
摘要:垃圾卡常卡空间题毁我青春 这题先转化一下,变成取一些数的异或和为所有数的异或和的方案数 然后这明显是个背包 然而O(nmd)过不去啊,这里一个优化,就是给a[i]排序,那么能够影响的范围只能到a[i]的最高位 由于d的那一维是%d循环的,直接背包就会有锅,又开不下滚动数组,就只能特殊处理%d==0的
阅读全文
摘要:太假了居然过了样例就A了 这个做法应该是一个O(n^4)的,相信大家都看出来了 这是一个树背包的问题,相信大家也都看出来了 然而怎么背包是个问题QWQ,因为选择了一个点建伐木场,就会影响父亲节点的决策 我只会O(n^2kmaxW)(相当于O(n^5))假设到了当前点有多少木头没有被运到伐木场....
阅读全文
摘要:秉承ACM团队合作的思想懒,这篇blog只有部分题解,剩余的请前往星感大神Star_Feel的blog食用(表示男神汉克斯更懒不屑于写我们分别代写了下...) C. Cloud Computing 扫描线搞一搞区间(主席树也OK啊,只是空间玄学,主席树理论空间nlogn实际上开小那么10倍8倍没什么
阅读全文
摘要:跟着大佬做题。。 这题也是有够神仙了。观察一下性质,c很小而f是一个限制条件(然而我并不会心态爆炸) %了一发,就是把电脑和订单一起做背包,订单的c视为负而电脑的v为负,f由大到小排序做背包
阅读全文
摘要:这题第一步肯定就是并查集啦。 对于一个块分成两个集合,相同和不同 然后进行背包二选一 但是有两种情况得开二维 然而出答案的时候也不能省,因为有可能没选好就到答案。。 主要是麻烦。。。很麻烦。。。
阅读全文
摘要:背包。 我本来想的是一维挂饰一维钩子,但是发现空间好像会炸,但其实钩子那维开到n就可以了,再多也没用
阅读全文
摘要:这题很强,get到新姿势dp套dp。 f[j][k]表示第i个串,枚举到第j个位置涂了k次的最优解。 那么O(n^3)搞定。 然后我挂在背包了。。。 就是拿dp完的值去背包。好像不能直接空间T的背包,要每个串记录转移,原因不明。
阅读全文
摘要:10.5重回bzoj。刷了这道背包DP交了10次。 不过这个真的是一道好题。(也许是我DP太烂) 由于钱数较小,容易想到,f[i]表示花了i元所有的展示策略个数。然而在DP的时候却有一个问题,我们枚举买的皮肤个数维护背包时,有可能同一个英雄不同皮肤数叠乘,这样就不对了,所以DP时先从后将更新的位置枚
阅读全文