2019年8月20日

依赖背包变形(经典)——poj1155

摘要: 这个题用优化后的依赖背包做难以实现,所以用常规的泛化物品的和来做即可 每个节点的容量定义为这个节点下的叶子结点个数,dp[u][j]用来表示节点u下选取j个物品的最大收益,最后从m-0查询dp[1][i],一旦发现是非负数,i则是答案 需要注意的地方:初始化时将所有的dp[i][0]都赋值为0,一个 阅读全文

posted @ 2019-08-20 19:55 zsben 阅读(111) 评论(0) 推荐(0) 编辑

求最长的任意两元素差不超过M的子段——双指针+单调队列hdu4123

摘要: 换根dp的部分比较容易,难点在于求求最长的任意两元素差不超过M的子段 首先会想到双指针维护(尺取法),如果p1,p2间的max-min>M,那么p1向右移动,直到p1,p2间的max-min>M 这个过程可以用线段树(ST)来询问max,min 另外有一种更强大的方案,因为只要max,min,所以只 阅读全文

posted @ 2019-08-20 16:18 zsben 阅读(212) 评论(0) 推荐(0) 编辑

导航