01背包问题
问题描述如下,现在有N件物品,以及一个容量为V的背包,每个物品都有他们的价值,现在的问题就是在你背包装的下的情况下,怎么拿这些物品,使得你拿的物品的价值最大,其中每件物品你只能选择拿或者不拿。 上面的问题就是非常经典的"0,1"背包问题,对于这样的问题,我们通常可以使用动态
问题描述如下,现在有N件物品,以及一个容量为V的背包,每个物品都有他们的价值,现在的问题就是在你背包装的下的情况下,怎么拿这些物品,使得你拿的物品的价值最大,其中每件物品你只能选择拿或者不拿。 上面的问题就是非常经典的"0,1"背包问题,对于这样的问题,我们通常可以使用动态
这里只是做一个代码记录,不做背包详解,代码注释都有,应该一看就懂。首先是问题描述如下: 接下来是二维的动态规划和一维的动态规划,Java版本。import java.util.Scanner;import java.lang.*;public class Main{ public sta
最近事情比较多,所以就简单写一下题目内容 题目链接如,691. 贴纸拼词,题目截图如下:题目分析 这道题题目难度困难,最近事情比较多,我也没有仔细想,所以就拿的官方的代码,然后自己理解了一下。这里可以简化成动态规划的问题,首先是长度为m的字符串,拼接成该字符串,其需要的最少便签数目其实是从长度为
今天的每日一题是困难级别,写不出来,CTRL+C CTRL+V 解决问题,我只是发个博客记录一下题目内容 题目链接,1728. 猫和老鼠 II,题目截图如下:题目分析 官方题解,官方题解代码实现 c++代码实现如下:static const int MOUSE_TURN = 0, CAT_TU
今天的每日一题就是模拟的思路,不过看到这个题感觉有数学的方法可解,果然有!题目描述 题目链接,1823. 找出游戏的获胜者。题目截图如下:题目分析 首先我们理解下题目的意思,题目的意思就是,有n个小伙伴围成一圈玩游戏,然后随便给一个数k,k的范围为[1,500]。然后从第一个小伙伴开始数,数到k