dp
一星伴月
在沉默中努力,让成功自己发声
展开
-
动态规划的背包问题
传说中的背包有9讲,这里我们就介绍一下最基础的3讲01背包完全背包分组背包这三种背包是最经典的,也是我们经常碰到的,也是初学dp经常容易蒙圈的题目类型。01背包最经典的题目就是: 有n件物品,每件物品的重量为w[i],价值为v[i]。现有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。(其中每种物品都只有一件)我们设一个二维数组dp[i][j]来记录放入i...原创 2020-03-01 20:06:10 · 224 阅读 · 0 评论 -
P1466 集合 Subset Sums
题目链接:https://www.luogu.com.cn/problem/P1466题目的意思就是将1~n中的数分成两组,两组的和都为1~n的和的一半即n*(n+1)/2/2,不限制每组中数字的个数。我们将题目意思转化一下,我们取k(0<k<n)个数让他们的和为n*(n+1)/2/2,我们求一下满足的方案数即可,注意一下就是要将数组开到long,可能会溢出(我用int试了一下,有...原创 2020-02-23 19:37:20 · 273 阅读 · 0 评论 -
P1002 过河卒
这个道题应该可以作为dp的入门题目吧,虽然推出来的方程像递推式,思想才最重要的。题目说卒子只能向下和向右走,但是有些地方不能走,让我们求可以到达终点的路径数。有的同学会问dfs不就行了嘛,这题的数据小dfs当然可以,只不过太费时,dp大法好呀。我们先来推一下方程式,我们假定要找起点到(6,6)的路径数,那么,我们找出(5,6)和(6,5)的路径数不就行了嘛,他们的和不就是(6,6)的路径数嘛...原创 2020-02-22 12:40:38 · 167 阅读 · 0 评论