ACM之动态规划
少年少年少年奋斗奋斗奋斗
不积跬步,无以至千里
展开
-
NYOJ 36 最长公共子序列
最长公共子序列时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合原创 2017-08-16 19:17:30 · 266 阅读 · 0 评论 -
XYNUOJ 1417: 最小乘车费用
1417: 最小乘车费用时间限制: 1 Sec 内存限制: 128 MB提交: 16 解决: 8[提交][状态][讨论版]题目描述某条街上每一公里就有一汽车站,乘车费用如下表:公里数12345678910费用122131404958697990101而一辆汽车从不行驶超过10公里。某人想行驶n公里,假设他可以任意次换车,请你帮他找到一种乘车方案使费用最小(10公里的费用比1公里小的情况是允许的...原创 2018-03-22 21:15:11 · 408 阅读 · 0 评论 -
XYNUOJ 竞赛总分
竞赛总分时间限制: 1 Sec 内存限制: 128 MB提交: 9 解决: 9[提交][状态][讨论版]题目描述学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助。我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉USACO...原创 2018-03-13 20:41:48 · 233 阅读 · 0 评论 -
XYNUOJ 最长上升子序列
最长上升子序列时间限制: 1 Sec 内存限制: 128 MB提交: 19 解决: 10[提交][状态][讨论版]题目描述给出一个由n个数组成的序列A[1..n],求最长单调上升子序列(LIS)的长度。LIS即求最大的一个子序列长度m,使得a1<a2<……<am且A[a1]<A[a2]<……<A[am]。输入两行:第1行:整数n (1<=n<=...原创 2018-03-13 20:43:07 · 369 阅读 · 0 评论 -
XYNUOJ 1428: 庆功会
1428: 庆功会时间限制: 1 Sec 内存限制: 128 MB提交: 4 解决: 4[提交][状态][讨论版]题目描述 为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。输入第一行二个数n(n<=500),m(m<=6000),其中n代表希望购买的奖品的种数,m表...原创 2018-03-23 20:05:05 · 499 阅读 · 0 评论 -
XYNUOJ 1435 混合背包
1435: 混合背包时间限制: 1 Sec 内存限制: 128 MB提交: 8 解决: 8[提交][状态][讨论版]题目描述 一个旅行者有一个最多能用V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn。有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。求解将哪些...原创 2018-03-23 20:21:35 · 207 阅读 · 0 评论 -
01背包,完全背包,多重背包
背包问题属于动态规划问题,之前一直不懂怎么做,专门刷了这方面的题发现如果套用模板还是挺容易的(渣渣只能套模板)背包问题题中都有一个固定的值,就是背包1.01背包就是每个物品只能用一次,这是一个01背包问题for(int i=0;i<n;i++){ for(int j=c;j>=a[i];j--){ dp[j]=max(dp...原创 2018-03-23 20:38:03 · 153 阅读 · 0 评论 -
nyoj 456 邮票分你一半
邮票分你一半时间限制:1000 ms | 内存限制:65535 KB难度:3描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在每张邮票的分值已经知道了,他们已经分好了,你知道最后他们得到的邮票分值和相差多少吗?输入第一行只有一个整数m(m<=...原创 2018-03-31 16:09:38 · 292 阅读 · 0 评论 -
xynuoj 1836 传纸条(一)
1836: 传纸条(一)时间限制: 2 Sec 内存限制: 64 MB[提交][状态][讨论版]题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小...原创 2018-04-16 20:03:22 · 167 阅读 · 0 评论 -
xynuoj 1799 skiing
1799: skiing时间限制: 3 Sec 内存限制: 64 MB[提交][状态][讨论版]题目描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 ...原创 2018-04-16 21:28:38 · 189 阅读 · 0 评论 -
nyoj 571 整数划分(三)
整数划分(三)时间限制:1000 ms | 内存限制:65535 KB难度:5描述整数划分是一个经典的问题。请写一个程序,完成以下要求。 输入多组输入数据。每组输入是两个整数n和k。(1 <= n <= 50, 1 <= k <= n)输出对于输入的 n,k;第一行: 将n划分成若干正整数之和的划分数。第二行: 将n划分成k个正整数之和的划分数。第三行: 将n划分成最大...原创 2018-04-16 21:31:20 · 206 阅读 · 0 评论 -
整数划分的五种情况(DP)
首先,根据百度百科的概念,整数划分,是指把一个正整数n写成为其中, 为正整数,并且 ; 为n的一个划分。如果 中的最大值不超过m,即 ,则称它属于n的一个m划分。并这里我们记n的m划分的个数为 。例如,当n=4时,有5个划分,即 , , , , 。注意: 和 被认为是同一个划分。根据n和m的关系,考虑一下几种情况:(一)当 时,无论m的值为多少 ,只有一种划分,即 。(...原创 2018-04-17 09:24:43 · 2606 阅读 · 0 评论 -
xynuoj 1804 括号匹配(二)
1804: 括号匹配(二)时间限制: 1 Sec 内存限制: 64 MB[提交][状态][讨论版]题目描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N<=10) 每组测试数据都只有一行,是一个字符串S...原创 2018-04-17 11:45:38 · 194 阅读 · 0 评论 -
xynuoj 1805 矩形嵌套
1805: 矩形嵌套时间限制: 1 Sec 内存限制: 64 MB[提交][状态][讨论版]题目描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一...原创 2018-04-17 14:57:36 · 306 阅读 · 0 评论 -
XYNUOJ 1416: 竞赛总分
1416: 竞赛总分时间限制: 1 Sec 内存限制: 128 MB提交: 12 解决: 11[提交][状态][讨论版]题目描述学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助。我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来...原创 2018-03-22 20:23:26 · 228 阅读 · 0 评论 -
XYNUOJ 1414 集装箱装载
1414: 集装箱装载时间限制: 1 Sec 内存限制: 128 MB提交: 21 解决: 13[提交][状态][讨论版]题目描述有一批共n个集装箱要装上艘载重量为c的轮船,其中集装箱i的重量为wi。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。输入第一行有2个正整数n和c。n是集装箱数,c是轮船的载重量。第2行中有n个正整数,表示集装箱的重...原创 2018-03-22 18:10:08 · 1443 阅读 · 0 评论 -
XYNUOJ 1418: NASA的食物计划
1418: NASA的食物计划时间限制: 1 Sec 内存限制: 128 MB提交: 12 解决: 10[提交][状态][讨论版]题目描述 航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食品都有各自的体积、质量以及所含卡路里,在告诉你体积和质量的最大值的情况下,请输出能达到的食品方案所含卡路里的最大值,当然每个食品只能使用一次.输入第一行两个数体积最大值(<...原创 2018-03-17 14:17:14 · 343 阅读 · 0 评论 -
NYOJ 171 聪明的kk
聪明的kk时间限制:1000 ms | 内存限制:65535 KB难度:3描述聪明的“KK”非洲某国展馆的设计灵感源于富有传奇色彩的沙漠中陡然起伏的沙丘,体现出本国不断变换和绚丽多彩的自然风光与城市风貌。展馆由五部分组成,馆内影院播放名为《一眨眼的瞬间》的宽银幕短片,反映了建国以来人民生活水平和城市居住环境的惊人巨变。可移动“沙丘”变戏法 的灵感源于其独原创 2017-08-17 16:23:39 · 223 阅读 · 0 评论 -
常见的动态规划问题分析与求解
转自http://www.cnblogs.com/wuyuegb2312/p/3281264.html动态规划(Dynamic Programming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优解的过程很难统一,并不像回溯法具有解决绝大多数问题的银弹(全面解析回溯法:算法框架与问题求解)。为了解决动态规划问题,只能靠多练习转载 2017-08-17 17:24:09 · 1002 阅读 · 0 评论 -
NYOJ 17 单调递增最长子序列
单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklm原创 2017-08-18 08:01:50 · 239 阅读 · 0 评论 -
NYOJ 79 拦截导弹
拦截导弹时间限制:3000 ms | 内存限制:65535 KB难度:3描述某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。原创 2017-08-18 09:35:39 · 307 阅读 · 0 评论 -
NYOJ 49 开心的小明
开心的小明时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规原创 2017-08-18 17:38:35 · 287 阅读 · 0 评论 -
NYOJ 16 矩形嵌套
矩形嵌套时间限制:3000 ms | 内存限制:65535 KB难度:4描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩原创 2017-08-19 19:34:49 · 234 阅读 · 0 评论 -
动态规划 所有题型的总结
转自http://www.cnblogs.com/George1994/p/6710675.html1 动态规划1.1 定义动态规划的核心是状态和状态转移方程。在记忆化搜索中,可以为正在处理的表项声明一个引用,简化对它的读写操作;动态规划解决的是多阶段决策问题;初始状态→│决策1│→│决策2│→…→│决策n│→结束状态和分治法最大的区别在于:适合转载 2017-08-25 11:18:14 · 469 阅读 · 0 评论 -
NYOJ 325 zb的生日
zb的生日时间限制:3000 ms | 内存限制:65535 KB难度:2描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb立刻下定决心买了一堆西瓜。当他准备把西瓜送给C小加和never的时候,遇到了一个难题,never和C小加不在一块住,只能把...原创 2017-08-22 11:31:58 · 260 阅读 · 0 评论 -
(转)动态规划和贪心算法的区别
转自http://blog.csdn.net/jarvischu/article/details/6056387动态规划和贪心算法的区别2009-07-27 13:18动态规划和贪心算法的区别动态规划和贪心算法都是一种递推算法 均有局部最优解来推导全局最优解 不同点: 贪心算法: 1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略转载 2017-08-24 08:36:21 · 759 阅读 · 0 评论 -
NYOJ 106 背包问题
背包问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1输入第一行输入一个正整数n(1随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1输出输出每组测试数据中背包内的物品的价值和,每次输出占一行。样例输入13 155原创 2017-08-24 10:32:35 · 325 阅读 · 0 评论 -
XYNUOJ 最长公共子序列
问题 G: [动归基础]最长公共子序列时间限制: 1 Sec 内存限制: 128 MB提交: 8 解决: 7[提交][状态][讨论版]题目描述 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=<x1, x2,…, xm>,则另一序列Z=<z1, z2,…, zk>是X的子序列是指存在一个严格递增的下标序列 <i1, i2,…...原创 2018-03-15 19:05:01 · 312 阅读 · 0 评论 -
ACM动态规划总结
转自:http://blog.csdn.net/hjf1201/article/details/78495883动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的...转载 2018-03-17 08:42:15 · 247 阅读 · 0 评论 -
hdoj 2602 Bone Collector
Bone CollectorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 73997 Accepted Submission(s): 30766Problem DescriptionMany years ago , in Teddy...原创 2018-03-17 11:17:44 · 189 阅读 · 0 评论 -
xynuoj 好兄弟
好兄弟时间限制: 1 Sec 内存限制: 64 MB题目描述 小明和小明明玩游戏后为了照顾小明明的游戏体验,小明准备将赢来的游戏币分给小明明一些。这些游戏币有不同的面值,他想把这些游戏币分成两份,并且使这两份游戏币的分值和相差最小(就是小明得到的游戏币分值和与小明明的差值最小),现在每张游戏币的分值已经知道了,他们已经分好了,你知道最后他们得到的游戏币分值和相差多少吗?输入第一行只有一个整数m(...原创 2018-04-25 20:20:39 · 425 阅读 · 0 评论