简单DP入门学习 众所周知,DP(dynamic Programming)是在没有特定的套路,刚学的真的摸不着头脑~~(对,没错就是我)~~ 所以记录一下DP的学习过程(我枯了,大佬快救救孩子吧) 一、DP的典型题型 1、01背包 2、完全背包 3、最长上升子序列 3.1例题 最长上升子序列LIs ...
分类:
其他好文 时间:
2020-07-10 15:17:29
阅读次数:
87
题意:在集合中挑一些数,形成一个集合S,剩下的数形成另一个集合P,使得S>= P ,并且对于S中任意元素ai,S-ai<=P 问有多少种方案。 题目链接:https://nanti.jisuanke.com/t/41420 只要减S堆中最小的石头后满足条件,那么该取法就满足题意 设dp【k】为S堆总 ...
分类:
其他好文 时间:
2020-07-10 15:07:29
阅读次数:
62
背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大? 首先想到的,一般是穷举法,一个一个地试,对于数目小的例子适用,如果容量增 ...
分类:
编程语言 时间:
2020-07-09 00:51:57
阅读次数:
66
题目链接:https://codeforces.com/problemset/problem/687/C 题目大意:给你n个数,然后让这些数相加组合,然后在这些组合的数里可以再相加组合搞出给定 k,输出这些组合的数。 Examples Input 6 185 6 1 10 12 2 Output 1 ...
分类:
其他好文 时间:
2020-07-08 01:41:40
阅读次数:
87
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5188 题目大意:打比赛得积分,有n个题,要求达到w分,求最短时间,每个题有消耗时间t,得分v,以及一个限制l(完成该题的时间不能在l前面). emmm,这个需要贪心配合背包,我们知道的是,如果他写1道题 ...
分类:
其他好文 时间:
2020-07-07 22:10:53
阅读次数:
52
###1.P3961 [TJOI2013]黄金矿工 这道题么,首先处理一下角度 显然对于角度相同的黄金我们需要首先得到上面的黄金才能得到下面的 所以再处理一下角度相同的黄金把他们“捆绑”在一起 最后背包依次处理每个角度的黄金(角度相同只能选一个)就好了 ###2.P3145 [USACO16OPEN ...
分类:
其他好文 时间:
2020-07-07 10:10:33
阅读次数:
57
选择结点: dp[ i ] [ 0 / 1] 树上背包:f[ v ] [ k ] =f[ u ] [ k ]+ val; f [ u ] [ k ]= max( f[v ][k-1],f[u][k]) 常规:f[ i ] [ j ],以i为根的结点。。。 http://acm.hdu.edu.cn/ ...
分类:
其他好文 时间:
2020-07-07 00:06:49
阅读次数:
82
动态规划类问题主要分为两大类: 1.求最优解(典型的背包问题) 2.计数(统计方案) 以上两类都存在递推性质。 第一类的递推称为最优子结构 -- 当前问题的最优解取决于子问题的最优解。 当前问题的方案数取决于子问题的方案数时,也可以用动态规划解决。 第二类例子: 机器人走方格(leetcode63. ...
分类:
其他好文 时间:
2020-07-06 09:13:38
阅读次数:
54
http://acm.hdu.edu.cn/showproblem.php?pid=1059 多重背包题; 如果sum奇数直接continue;不是奇数则判断dp[sum/2]能不能到达; 即dp[sum/2]的方案数是否为0; 注意输出格式!!! 1 #include<bits/stdc++.h> ...
分类:
其他好文 时间:
2020-07-05 22:54:20
阅读次数:
81
Alg https://leetcode-cn.com/problems/largest-1-bordered-square/submissions/ 很简单, 0-1 背包的变形(所有的 DP 都是 01 背包变形...) DP 都挺简单,难点就是 : 找递减公式 找十级结果非递减情形时候的方案。 ...
分类:
其他好文 时间:
2020-07-05 20:57:24
阅读次数:
79