"题面" 树形 DP 的经典问题。 我们设 $dp_{i,j}$ 表示当前节点为 $i$,当前节点的子树(包含当前节点)最多装的体积是 $j$ 的最大价值。 我们遍历节点的过程就相当于做了一遍分组背包。 注意遍历完所有子节点后要更新一下状态。 ...
动态规划与背包问题 应用场景-背包问题 物品 重量 价格 吉他(G) 1 1500 音响(S) 4 3000 电脑(L) 3 2000 背包问题:有一个背包,容量为4磅 , 现有如下物品 要求达到的目标为装入的背包的总价值最大,并且重量不超出 要求装入的物品不能重复 动态规划算法介绍 动态规划(Dy ...
分类:
其他好文 时间:
2020-02-20 09:33:08
阅读次数:
64
494 目标和(转化为01背包) 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 。对于数组中的任意一个整数,你都可以从 + 或 中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例 1: 注意: 1. 数组 ...
分类:
其他好文 时间:
2020-02-17 14:08:46
阅读次数:
64
C - Piggy-Bank HDU - 1114 Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this ...
分类:
其他好文 时间:
2020-02-14 16:24:58
阅读次数:
72
题解【AcWing279】自然数拆分 标签(空格分隔): DP 背包 "题面" 因为题目中说参与加法运算的数可以重复,由此可以想到完全背包计数问题。 完全背包计数问题与 $01$ 背包计数问题只有一个不同: $01$ 背包计数问题的第二维循环是倒叙循环,而完全背包计数问题的第二维循环是正序循环。 这 ...
[TOC] 例题 "完美的集合" 技巧 点数 边数=1 现在如果你要在树上统计某种特定集合的数量,有一种比较简单的方法就是统计包括某个点的集合数量,加起来,减去包括某条边的集合,就可以得出最后的集合了。 DFS序转移 如果要求你在树上背包你打算怎么办,神犇就给出了一个很好的方法。 一个集合利用合并从 ...
分类:
其他好文 时间:
2020-02-09 20:16:30
阅读次数:
119
概述 分治FFT不是一个算法而是一种思想,一般指两种套路$CDQ$分治解决函数问题,分治+$FFT/NTT$合并背包 分治背包 问题 问题形如给出$n$种物品,第$i$种物品有$a_i$个,大小为$w_i$ 答案的生成函数即为$\displaystyle{\prod_{i=1}^n(1+a_i x^ ...
分类:
其他好文 时间:
2020-02-09 18:10:58
阅读次数:
57
题目链接: https://www.acwing.com/problem/content/2/ 题解: 关于DP问题,我们一般可以用一套模式去分析 1、分析状态表示f(i,j): 1)f(i,j)表示哪个集合?在01背包问题中,它表示选法的一个集合 2)i,j表示什么条件?在01背包问题中,它表示前 ...
分类:
其他好文 时间:
2020-02-09 12:01:25
阅读次数:
48
直接01背包硬刚,虽然容易理解,但是完全不适合附件多的情况 1 /* 2 1、只选主件 3 2、选主件和附件1 4 3、选主件和附件2 5 4、选主件和附件1.2 6 */ 7 #include <iostream> 8 #include<string> 9 #include<cstdio> 10 ...
分类:
其他好文 时间:
2020-02-07 22:20:09
阅读次数:
59