动态规划
星 海
这个作者很懒,什么都没留下…
展开
-
金币收集问题
金币被放在1到n编号的格子中,一个人从第一个格子出发,有m张卡片,共4种,卡片上的数字1-4,表示可以走的步数。求到达终点获得的最大金币数。原创 2022-10-05 21:36:02 · 304 阅读 · 1 评论 -
red中正常的e,最少修改次数
red字符串中正常的e,最少修改次数。原创 2022-08-20 17:32:35 · 238 阅读 · 0 评论 -
连续子数组
给定一个元素为0或1的数组nums,一个非负整数n表示最多有n次机会,将指定位置的0变为1或者1变为0。试问,经过最多n次转换后,最长的连续为1或0的子数组的长度。dp[i][j]表示第i次转换,以j为结尾的最长的子数组的长度。动态规划假定先考虑,将0转为1,求最长的连续为1的子数组。...原创 2022-07-25 21:45:48 · 879 阅读 · 0 评论 -
贴纸拼词--动态规划
贴纸拼词 我们有 n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。 您想要拼写出给定的字符串 target ,方法是从收集的贴纸中切割单个字母并重新排列它们。如果你愿意,你可以多次使用每个贴纸,每个贴纸的数量是无限的。 返回你需要拼出 target 的最小贴纸数量。如果任务不可能,则返回 -1 。 注意:在所有的测试用例中,所有的单词都是从 1000 个最常见的美国英语单词中随机选择的,并且 target 被选择为两个随机单词的连接。 public class App { public.原创 2022-05-14 23:06:39 · 99 阅读 · 0 评论 -
分糖果问题
0-1背包问题,将N袋糖果分成两份,使得两份的糖果数一样。输出每份的糖果数,以及每份的糖果中,每袋的颗数。 import java.util.HashMap; import java.util.Scanner; public class Test { public static void main(String[] args){ Scanner in=new Scanner(System.in); int N=in.nextInt(); int[] n原创 2022-04-16 18:33:50 · 335 阅读 · 0 评论 -
长度为k的子序列
长度为k的子序列中,和为偶数的个数。 import java.util.*; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); int t=in.nextInt(); for(int i=0;i<t;i++){ int n=in.nextInt(); int k原创 2022-04-12 22:47:53 · 369 阅读 · 1 评论