
set || bitset
Chester_King
虽千万人,吾往矣。
展开
-
【BZOJ】3687 简单题 DP+bitset
题目传送门前几天的考试考到了bitset,于是我就去学了一发。大佬传送门,这位大佬已经讲的很清楚了,我就不再赘述bitset的功能和用法了。其实说白了,bitset就是一个可以位运算的bool数组罢了。回到这题,我们可以很容易想到的是DP,定义f[i[表示当前子集的算术和为i的子集构成方案数。状态转移方程也非常好想,f[j]+=f[j-a[i]]然后就是统计答案,若f[i]原创 2017-07-06 22:38:11 · 330 阅读 · 2 评论 -
【BZOJ】2342 [Shoi2011]双倍回文 manacher+set
题目传送门“马拉车”什么的好暴力啊……总感觉就是暴力做法,但是好像时间复杂度是O(len)的,比较强啊……对于这道题,我还是too young了,没想到w和wR是可以重叠的……首先我们要明白manacher算法,这个看看大佬的博客就行了:大佬传送门然后这题就变的比较水了,首先求出每两个字符间的回文半径p。然后考虑答案中的w wR w wR的第二个空格处,对于第三个字符串w,设它原创 2017-08-08 09:54:56 · 239 阅读 · 0 评论 -
【BZOJ】3991 [SDOI2015]寻宝游戏 树形DP+虚树+set
题目传送门其实这题并没有真正的用到虚树,只是用到了虚树的思想。首先考虑暴力树形DP,时间复杂度还是O(n×m)O(n\times m),必须要优化。然后我们把思路转移到虚树上,发现问题转化为改变一个节点是否为关键点,答案就是虚树上所有边权*2。我们考虑一个节点加入虚树产生的贡献,就是DFS序中和当前节点相邻的节点的路径长度*2,删除同理。那么我们每次维护改变的节点的贡献即可。可以用一个set来维护当原创 2017-12-24 19:17:59 · 345 阅读 · 0 评论