DP
文章平均质量分 59
RCyyds
这个作者很懒,什么都没留下…
展开
-
备战2023蓝桥国赛-饼干
备战2023蓝桥国赛原创 2022-12-16 16:38:28 · 1327 阅读 · 1 评论 -
备战2023蓝桥国赛-传纸条
备战2023蓝桥国赛原创 2022-12-12 16:09:18 · 3558 阅读 · 0 评论 -
备战2023蓝桥国赛-移动服务
备战2023蓝桥国赛原创 2022-12-04 16:40:58 · 258 阅读 · 0 评论 -
备战2023蓝桥国赛-Beautiful Land
备战2023蓝桥国赛原创 2022-11-11 20:03:06 · 216 阅读 · 0 评论 -
备战2023蓝桥国赛-Who killed Cock Robin
备战2023蓝桥国赛系列原创 2022-11-11 11:01:51 · 1284 阅读 · 0 评论 -
备战2023蓝桥国赛-psd面试
备战2023蓝桥国赛系列原创 2022-11-10 21:02:59 · 236 阅读 · 0 评论 -
G - Supermarket
传送门:Supermarket题意:有n件商品,每件商品的利润为p_i,销售日期的截止时间为d_i(即只能在d_i时间前销售该物品)。一天只能销售一件物品。问这n件商品的最大利润为多少思路:具体见代码和注释。代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 10010;in原创 2022-05-30 16:14:35 · 195 阅读 · 0 评论 -
F - True Liars (种类并查集+DP)
传送门: True Liars题意:给出n对关系,p1个好人,p2个坏人。要求根据n对关系中找出好人有哪些,若方案唯一,则逐个输出好人,最后输出end;若方案不唯一/找不到,那么输出no思路:第一次碰到这种类型的题目,想了很久没什么思路,参考了其他人的博客才弄懂了。以下为所参考博客的思路:通过简单的分析可以得出,对于每对关系(x,y,yes/no),若关系为yes,则x和y属于同一类人;若关系为no,则x和y属于相反类人。根据初步的n对关系,我们只可以推出哪些属于同一类人,哪些属于相反类人,原创 2022-05-30 10:24:51 · 203 阅读 · 0 评论 -
POJ 1159 Palindrome(LCS变形)
传送门:Palindrome题意:给你个字符串,问最少加入多少字符可以让这个字符串变成回文字符串。思路:s为给定的字符串,e为s的逆序字符串。最少需要补充的字母数 = 原序列s的长度 — s和e的最长公共子串长度。原因仔细想想应该可以想出来。这道题就变成求s和e的最长公共子串长度。也就是LCS问题。在这里要注意定义二维数组空间会超限的,由于在LCS问题中都是相邻两个数进行比较,所以可以用滚动数组来优化空间。代码:#include<iostream>#include<原创 2022-05-16 16:41:42 · 373 阅读 · 0 评论 -
POJ 1080 Human Gene Functions(LCS变形)
传送门:Human Gene Functions题意:给你两个基因序列,你可以添加-,使得这两个序列相等且匹配值最大。匹配值计算见题目图片。思路:类似于LCS,在这里我们只考虑三种情况:1.a[i]与’-‘匹配时,dp[i][j]=dp[i-1][j]+val(a[i],’-‘)2.a[i]与b[j]匹配时,dp[i][j]=dp[i-1][j-1]+val(a[i],b[i])3.’-‘与b[j]匹配时,dp[i][j-1]+val(b[j],’-')在这里要注意怎么初始化,具体见代码。原创 2022-05-16 09:45:01 · 134 阅读 · 0 评论 -
POJ 1260 Pearls
传送门:Pearls题意:有c种不同品质的珍珠,分别给出各种珍珠的需求数目num和单价price,对于采购人员来说,要购买足够多数量的各种珍珠,但每种珍珠可以购买或者是要求的种类,或者是品质更好的珍珠。同时,为了避免有人只买一个珍珠,所以无论购买完成哪一种珍珠,都要交付10*price的额外成交价。 输入时以珍珠的递增价格输入。 要求计算购买足够的珍珠(可以以要求的品质购买,也可以选一些品质更高的珍珠)所需要的最小金钱。思路:这道题的意思有点难理解,写的时候我都不知道为啥可以以同一个价格来买原创 2022-05-15 16:17:23 · 186 阅读 · 0 评论 -
POJ 1836 Alignment
传送门:Alignment题意:使原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。思路:就是使新队列的高度呈三角形分布,不过允许最高的两个人高度相等。假设第i位最高第i位左边是严格递增的序列,右边严格递减。所以我们要求两个dp数组,一个记录从左到右的最长上升子序列,另一个记录从右到左的最长上升子序列。在这里要注意并不是单纯的dp1[i]+dp2[i],而是dp1[i]+dp2[j],还有就是当i==j时,dp1[i]+dp2[j]还要再减一,具体原因自己再想想就知道了原创 2022-05-14 16:27:45 · 136 阅读 · 0 评论 -
POJ3267-The Cow Lexicon
传送门:The Cow Lexicon题意:给出一个主串,w个子串,问最少在主串删除多少字母,可以使其匹配到子串的单词序列。思路:定义dp[i]表示从第i个字母到最后一个字母所删除的字母数。然后从后往前循环遍历模拟判断即可。具体见代码和注释。在这里要注意一下我写的dp[i]的意义,我的是左闭右闭的区间!还有就是由于dp数组和主串子串数组下标起始位不同,所以写起来有点难理解。代码:#include<iostream>#include<stdio.h>#include&原创 2022-05-14 10:28:11 · 143 阅读 · 0 评论 -
poj1276 Cash Machine(多重背包变形)
传送门: Cash Machine题意:给你争取要获得的钱数, 货币种类和每种货币的数量, 求在不超过给的钱数的情况下,获得尽量多的钱。思路:一开始我是用常规动态规划的思路来写这道题的,定义dp[i][j]:用第i种货币所能支付的不超过j的钱数的最大钱数。但在实际写的过程中因为担心空间超限,所以我把它降为一维了。状态转移方程为:dp[j]=max(dp[j],dp[j-k✖dk[i]]+k✖dk[i]);可这种写法是会超时的,时间复杂度为O(nk✖N✖cash),即10的9次方。我们要想办法优化它原创 2022-05-13 16:43:56 · 703 阅读 · 1 评论 -
POJ1837-Balance(01背包变形)
传送门: Blance题目大意:给你一根杠杆,轴在中心标记位0,中心左边,从左到右标记-15,-14,…,-1,中心右端,1,2,3,…,15,表示到中心的距离。现在给你c个挂钩,g个砝码。告诉你挂钩位置和每个砝码的重量,要求用完所有砝码。问:使得杠杆平衡的方案数是多少?思路:01背包问题的变形题。在01背包中dp[i][j]表示放入第i个物品背包体积为j的最大价值,而在这里dp[i][j]表示放入第i个砝码(前面i-1个砝码都已放入)平衡度为j的最大方案数。平衡度指的是balance=左臂长(负原创 2022-05-13 10:40:30 · 557 阅读 · 0 评论 -
kuangbin专题十二 基础DP
kuangbin专题十二 基础DPA - HDU1024 Max Sum Plus PlusA - HDU1024 Max Sum Plus PlusB - HDU1029 Ignatius and the Princess IVC - HDU1069 Monkey and BananaD - HDU1074 Doing HomeworkE - Hdu1087 Super Jumping! Jumping! Jumping!F - Hdu1114 Piggy-BankG - HDU1176 免费馅饼H -原创 2022-03-08 16:37:58 · 463 阅读 · 0 评论 -
完全背包问题(模板题)
有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22原创 2021-10-21 17:06:30 · 212 阅读 · 0 评论 -
01背包问题(模板题)
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22原创 2021-10-21 16:02:25 · 304 阅读 · 0 评论 -
DP专题集
DP专题集1.题目描述2.AC代码3.个人看法4.原题链接1.题目描述题目描述Bobo has a sequence of integers s1, s2, …, sn where 1 ≤ si ≤ k.Find out the number of distinct sequences modulo (109+7) after removing exactly m elements.输入描述:The input consists of several test cases and is term原创 2021-10-04 17:49:12 · 79 阅读 · 0 评论