D 设阈值$L$,预处理$i\le L$的祖先最优背包 对于一次询问,$i>L$的部分可以状压 E 显然,题目可以直接转化为$S=0,T=2^L-1$,\(A_i\in[0,2^T)\) 令$f(U)\(为集合大小\)\in[1,K]\(,集合中所有数\)\And U$相同的个数 \(ans=\su ...
分类:
其他好文 时间:
2020-06-28 22:51:38
阅读次数:
124
bzoj4182/luoguP6326 Shopping(点分治,树上背包) bzoj它爆炸了。 luogu 题解时间 如果直接暴力背包,转移复杂度是 \(m^{2}\) 。 考虑改成点分治。 那么问题来了点分治有什么优点呢? 每次从分治中心开始搜索进行dp,保证从根到当前点都被购买至少一件。 这样 ...
分类:
其他好文 时间:
2020-06-28 22:25:24
阅读次数:
66
数字组合 给定N个正整数$A_1,A_2,…,A_n$,从中选出若干个数,使它们的和为m,求有多少种选择方案。 这个问题是背包问题的一个变型: 设dp[i][j]为前i个数和为j的方案数,显然dp[0][0] = 1;即前0个数和为0的方案数为1。 状态转移方程: \[ dp[i][j]\\ =\\ ...
分类:
其他好文 时间:
2020-06-28 20:30:24
阅读次数:
49
题目做法大概就是点分治然后背包 前置知识 点分治 应用场景: 求树上距离为k的点对数|是否存在 路径为k且有限制条件 总之就是dfs暴力会超时的优化 点分治第一步首先要找到一棵树的重心 然后再根据重心来进行分治 judge i 距离当前根为i的点是否存在 dis i 点i与当前根的距离 点分治模板 ...
分类:
其他好文 时间:
2020-06-25 21:29:02
阅读次数:
48
The Prices Decscription 你要购买 \(m\) 种物品各一件,一共有 \(n\) 家商店,你到第 \(i\) 家商店的路费为 \(d[i]\),在第 \(i\) 家商店购买第 \(j\) 种物品的费用为 \(c[i][j]\) ,求最小总费用。 Input 第一行包含两个正整数 ...
分类:
其他好文 时间:
2020-06-25 19:53:26
阅读次数:
57
许多基础数据类型都和对象的集合有关。数据类型的值就是一组对象的集合,所有操作都是关于添加,删除或是访问集合中的对象。背包(Bag),队列(Quene)和栈(Stack) 它们的不同之处在于删除或者访问对象的顺序不同。 1. API Stack 和 Quene 都含有一个能够删除集合中特定元素的方法。 ...
分类:
其他好文 时间:
2020-06-23 21:30:30
阅读次数:
50
题目: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小 ...
分类:
其他好文 时间:
2020-06-23 13:20:42
阅读次数:
35
P1216 数字三角形 每个节点的值只受左上,右上两节点影响。索引从1开始,避免处理边界问题。 int n,ans,a[1005][1005],dp[1005][1005]; //pull: dp[i][j] = max(dp[i - 1][j - 1], dp[i - 1][j]) + dp[i] ...
分类:
其他好文 时间:
2020-06-21 20:09:12
阅读次数:
61
125. 背包问题 II 中文English 有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值. 问最多能装入背包的总价值是多大? 样例 样例 1: 输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4] ...
分类:
其他好文 时间:
2020-06-21 15:43:39
阅读次数:
51
dp题目整理 背包问题 榨取kkksc03 因为题目中有两个限制条件,所以并不能当做一般背包问题来做, 既然限制条件(类似于"体积")多了一个,那么现在维数也多开一维,同时表示其状态 我们又发现,这个题每种物品(需求)只能取一次,所以这是一道多维0/1背包题目 那么这题就很好做了 #include< ...
分类:
其他好文 时间:
2020-06-21 09:45:42
阅读次数:
35