dp
oshawott_cute
这个作者很懒,什么都没留下…
展开
-
hdu5715XOR sum
/* 这道题目要求将n长度的序列分为m段,每段长度小于等于L,使得这些段的异或和的最小值最大 最小值最大,二分x,n分为m段每段异或和都大于等于x dp[i][k]=max(min(dp[j][k-1],A[i]^A[j]),dp[i][k]) {j属于 {1..i-1} AND (i-j<k)} } 然后用01字典树优化,保证去01字典树里找到和A[i]异或的最大的那一个 A[j]要在0...原创 2019-05-24 22:34:22 · 138 阅读 · 0 评论 -
单调队列优化多重背包
我们知道能用单调队列优化的DP问题需要满足: dp[i] = max / min (f[k])+ g[i] (k < i && g[i]是与k无关的变量) 多重背包问题多用二进制优化,优化后的复杂度为O(NVΣlogni)。多重背包问题的状态转移也能转化成此状态转移方程,从而利用单调队列优化,优化后的复杂度为O(NV)。 具体思路: 对于第i件物品: 已知体积为we,价值为...转载 2019-07-16 20:51:11 · 175 阅读 · 0 评论