简单DP入门学习 众所周知,DP(dynamic Programming)是在没有特定的套路,刚学的真的摸不着头脑~~(对,没错就是我)~~ 所以记录一下DP的学习过程(我枯了,大佬快救救孩子吧) 一、DP的典型题型 1、01背包 2、完全背包 3、最长上升子序列 3.1例题 最长上升子序列LIs ...
分类:
其他好文 时间:
2020-07-10 15:17:29
阅读次数:
87
http://poj.org/problem?id=3181 高精+背包 完全背包求方案数则只需dp[ j ] + = dp[ j - w[ i ] ]即可;任意一种背包方案计算都只需将max变为+; 这道题要注意,求方案数一般有很多,不mod,就自己看看数据是否超内存; dp[ i ]存放前18位 ...
分类:
其他好文 时间:
2020-07-05 00:49:16
阅读次数:
92
HDU 3092 题目大意 将一个数 \(s\) 写成很多数相加,求这些数的 \(lcm\) 最大 $\$ $\$ \(Solution\) 网上的题解我真是emm???直接复述一遍结论就离谱。这道题重点难道不是在发现这个结论吗?完全背包谁不会啊??忍不住吐槽了kkk 首先一定要手玩几个例子,比如 ...
分类:
其他好文 时间:
2020-07-04 22:36:37
阅读次数:
64
完全背包问题是每件物品有无限个 完全背包问题的状态表示和01背包问题一样 dp[i][j]表示只看前i个物品,总体积<= j的最大价值 状态计算: 按照第i个物品选了多少个来分 然后综合起来就是 k是枚举的第i个物品的个数,k = 0, 1, 2,... 三层循环的二维做法 1 #include < ...
分类:
其他好文 时间:
2020-07-02 13:46:43
阅读次数:
45
题目 https://www.luogu.com.cn/problem/P1616 题目分析 完全背包 代码 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int f[10000002], v ...
分类:
其他好文 时间:
2020-06-13 21:40:53
阅读次数:
63
问题描述: 有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 ...
分类:
其他好文 时间:
2020-06-04 21:55:11
阅读次数:
72
https://www.luogu.com.cn/problem/P2563 完全背包。 预处理出来 $200$ 以内的素数。 以每个素数为物品进行背包。 时间复杂度:$O(200\times \sqrt{200}+200\times \frac{200}{\ln 200}+T)\approx O( ...
分类:
其他好文 时间:
2020-05-23 18:23:07
阅读次数:
72
题目: 大致题意: 这是完全背包。 而且是加了点东西的完全背包。 f[i]表示总资产i的最大利息值。 按照完全背包的模板来n次就能找出正确答案。 在完全背包的循环执行完毕后则需要用s加上f[s],因为f[s]只是总资产s的利息。 那么代码便是: ...
分类:
其他好文 时间:
2020-05-21 00:04:01
阅读次数:
59
Coin Change Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16592 Accepted Submission(s): 5656 Pr ...
分类:
其他好文 时间:
2020-04-29 21:49:18
阅读次数:
56
0-1背包 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 重要的点在于:每种物品仅有一件,可以选择放/不放 子问题:f[i][v]表示前i件物品恰好放入一个 容量为v 的背包可以获得的最大价值。 状态转移方程(递推式):f[i] ...
分类:
其他好文 时间:
2020-04-26 22:29:57
阅读次数:
92