- 博客(11)
- 收藏
- 关注
原创 动态规划-背包
⽐如 ,性价⽐最⾼的是i,但是选 i之后,t就不够选其他物品了,最⼤价值是10,但明显可以选j和k来置换,最⼤价值是 5+7=12。以下表为例,我们⾸先求出了物品1和物品2 的放置情况,那么对于第3个物品,如果不放,只需在前2件中取价格最⼤的放置情况即可, 如果放,也可以根据前2件的统计情况下搭配最优选择即可。有⼀个背包,最多可以承受P的重量,有n个物品,每个物品有两个属性,重量和价值,对于 第i个物品的重量是w[i],价值是v[i],问怎样放置物品,才能在背包的承受范围内使得背包内 的物品价值最⼤。
2024-12-21 17:21:26
438
原创 01背包问题变形
的情况下的最大价值为0, 基础模型的话,这样做是可以的,可以表示一件物品都不能选,所以价值为0。个物品不可能凑一个负数,至少是0 ,而体积值为0 时,是不需要选任何物品的,花费为0 ,也即。那时间复杂度和空间复杂度都会急剧增长。01背包的特点是,每件物品有选和不选两种决策。当然一个解决思路是,最多枚举到。看来方程并没有改变,说明求出来的还是基础模型的结果,两者该怎么区分呢?表示前i 件物品恰好装满容量j 的最大价值。,而不应该让其等于0就草草 了事。一件物品都不选,却想把。,言外之意,容量和为。
2024-12-20 20:45:24
275
原创 [USACO5.1] 乐曲主题Musical Themes题解
(某洛谷)我们用)个音符的序列来表示一首乐曲,每个音符都是范围内的整数,每个数表示钢琴上的一个键。很不幸这种表示旋律的方法忽略了音符的时值,但这项编程任务是关于音高的,与时值无关。许多作曲家围绕一个重复出现的“主题”来构建乐曲。在我们的乐曲表示法中,“主题”是整个音符序列的一个子串,它需要满足如下条件:1. 长度至少为个音符。2. 在乐曲中重复出现(可能经过转调,见下)。3. 重复出现的同一主题不能有公共部分。“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值。
2024-12-07 16:21:15
420
原创 二维dp心得(新人)(内含例题)
第一眼便能看出这是二维dp,于是定义f数组f[i][j],前i分钟j体力值下的max米,状态分为两种,跑or休息,即f[i-1][j-1]+a[i]or(f[i+j][0],f[i-1][j]),其他代码dddd(懂得都懂),找出方程需要对于较小规模的问题,可以列举一些具体的例子来找出规律;对于一些递归定义的问题,可以使用数学归纳法来推导动态转移方程。二维属于一维dp的发展,当我们无法将状态表示为一维数组时,我们可以。总的来说,二维dp并不难,学好一维的二维信手拈来。dp的核心是动态转移方程,方程是。
2024-11-30 16:18:59
261
1
原创 二分搜索归纳
二分搜索,也称为二分答案,是这些年非常容易被考到的算法。二分搜索需要满足以下条件才可以使用:1. 搜索的范围是确定的(可以是实数范围)2. 搜索的答案是有序的(或者说单调的)对于一些问题,我们难以直接求解,但该但答案在一个有序的范围内,我们则可以假设一个可行解,然 后判断这个解是否可行,如果可行,就去尝试一个更大的解,如果不可行,则尝试更小的解。尝试是以 二分搜索的方式逐步逼近最优解的。
2024-01-06 17:01:33
1184
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人