摘要: 题意 给n个币的价值和其数量,问能组合成$1 m$中多少个不同的值。 分析 对$c[i] a[i] =m$的币,相当于完全背包;$c[i] a[i]=w; i) { dp[i] = Math.max(dp[i], dp[i w]+v); } } static void complete(int w, 阅读全文
posted @ 2018-10-21 23:40 xiuwenL 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题意 要构建一棵n个点的树,树的权值为所有结点的权值和,每个结点的权值为$f(d)$,d为结点的度数。 分析 n个结点的树,n 1条边,即度数和为2n 2。每个结点的度数至少为1,所以先令每个结点的度数为1。剩下n 2的的度数再分配掉,将这个过程转化为完全背包,每个度数可以出现的次数不限。dp[i] 阅读全文
posted @ 2018-10-21 18:56 xiuwenL 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题意:n件东西,有属性a和属性b。要选取若干件东西,使得$\frac{\sum a_j}{\sum b_j} = k$。在这个条件下,问$\sum a_j$最大是多少。 分析:可以将其转化为0 1背包,令$c[i] = a[i] k b[i]$ 等价于物品的重量,$a_i$为物品的价值。因为$c[i 阅读全文
posted @ 2018-10-21 10:05 xiuwenL 阅读(190) 评论(0) 推荐(0) 编辑