
动态规划
苟岂
任何一个伟大的目标,都有一个微不足道的开始。——洛谷新手村
展开
-
【集训Day1 测试】选择课题
选择课题(bestproject) 【问题描述】 Robin 要在下个月交给老师 n 篇论文,论文的内容可以从 m 个课题中选择。由于课题数有限,Robin 不得不重复选择一些课题。完成不同课题的论文所花的时间不同。具体地说,对于某个课题 i,若 Robin 计划一共写 x 篇论文,则完成该课题的论文总共需要花费 Ai*x^Bi 个单位时间(系数 Ai 和指数 Bi 均为正整数)。给定与每一个课原创 2017-08-15 15:59:16 · 395 阅读 · 0 评论 -
【CPLUSOJ】【动态规划】最短回文串
【问题描述】如果一个字符串正过来读和倒过来读是一样的,那么这个字符串就被称作回文串。例如abcdcba,abcddbca就是回文串,而abcdabcd不是。你要解决的问题是:对于任意一个字符串,输出将这个字符串变为回文串需要插入的最少字符个数,比如,ab3bd只需要插入2个字符就可以变为一个回文串。【输入格式】第一行是一个整数N第二行是一个长度为N字符串S【输出格式】一行一个整数,...原创 2018-05-08 18:59:00 · 626 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】垃圾陷阱(挖坑等填,未完成)
垃圾陷阱 (well) 卡门——农夫约翰极其珍视的一条Holsteins奶牛——已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D (2 卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。 每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。 假设卡门预先知道了每个垃圾扔下的时间t(0小于t小于等于1000原创 2018-02-06 21:15:05 · 447 阅读 · 0 评论 -
【2018寒假集训 Day2】【2019.5.11更新】【动态规划】花店橱窗布置(FLOWER)
花店橱窗布置(FLOWER) 提交文件名:flower 问题描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目。花束可以移动,并且每束花用1到F的整数标识。如果I 每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果,并以美学值(一个整数)来表示,空置花原创 2018-02-06 21:10:47 · 374 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】抢金块
抢金块 输入文件:gold.in 输出文件:gold.out 问题描述: 地面上有一些格子,每个格子上面都有金块,但不同格子上的金块有不同的价值,你一次可以跳S至T步 。如果S=2,T=4。你就可以跳2步、3步或4步,告诉你这些后,你从第一个格子起跳,必须跳到最后一个格子上,请你输出最多可以获得的金块的总价值。输入格式: 第一行是格子个数, 第二行是S和T ,保证T大于S。原创 2018-02-06 21:00:20 · 651 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】回文字
回文字(palin) 问题描述: 如果一个单词从前和从后读都是一样的,则称为回文字。如果一个单词不是回文字,则可以把它拆分成若干个回文字。编程求一个给定的字母序列,最多要分割成几部分,使每一部分都回文字。 输入格式: 输入文件有且只有一行,包含一个字符串。字符串由小写英文字母组成(a-z),长度不超过100。 输出格式: 输出文件只一行,为最少的回文字个数。输入 样例1:anab原创 2018-02-06 20:49:18 · 763 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】维修栅栏
维修栅栏 问题描述: 小z最近当上了农场主!不过,还没有来得及庆祝,一件棘手的问题就摆在了小z的面前。农场的栅栏,由于年久失修,出现了多处破损。栅栏是由n块木板组成的,每块木板可能已经损坏也可能没有损坏。小z知道,维修连续m个木板(这m个木板不一定都是损坏的)的费用是sqrt(m)。可是,怎样设计方案才能使总费用最低呢?小z想请你帮帮忙。 输入格式: 输入文件的第一行包含一个整数n原创 2018-02-05 18:58:03 · 1812 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】又上锁妖塔
又上锁妖塔 (tower.in/tower.out) [题目描述] 小D在X星买完了想要的东西,在飞往下一个目的地的途中,正无聊的他转头看了看身边的小A,发现小A正在玩,可是小A很奇怪,他一直在锁妖塔的周围转来转去,可是就是不进去,于是小D问他:“你在干什么?怎么不上去?”小A说:“我在想怎么从锁妖塔外面爬上去”(倒…) 锁妖塔的建造很特别,塔总共有n层,但是高度却不相同,这造成了小A爬过每原创 2018-02-05 13:42:33 · 445 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】钱币兑换(exchange)(自己翻译的2333)
钱币兑换(exchange) 问题描述: Dave偶然获得了未来几天的美元(dollars)与马克(marks)之间的兑换率。例如Dave开始有100marks,请编写个程序帮助Dave找出最好的买卖marks或dollars的方案,使Dave最后一天有最多的marks。 输入格式: 输入文件的第一行有个自然数N, 1 ≤ N ≤ 100,表示Dave知道未来兑换率的天数。 下面N行每行原创 2018-02-05 08:57:18 · 582 阅读 · 0 评论 -
【Luogu P2563】【集训Day 4 动态规划】质数和分解
题目链接:Luogu P2563 质数和分解(prime) 【问题描述】 任何大于 1 的自然数 N,都可以写成若干个大于等于2且小于等于 N 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 这里所谓两个本质相同的表达式是指可以通过交原创 2017-08-13 14:51:26 · 914 阅读 · 2 评论 -
【集训Day4 动态规划】【2018寒假集训 Day4 更新】蛙人
蛙人 (ple) 蛙人使用特殊设备潜水。设备中有一个气瓶,分两格:一格装氧气,另一格装氮气。留在水中有时间的限制,在深水中需要大量的氧气与氮气。为完成任务,蛙人必须安排好气瓶。每个气瓶可以用它的重量和含有气体的体积来描述。蛙人要完成任务,就需要特定数量的氧气与氮气。要完成任务,他所需带的气瓶的总重量最少是多少呢? 例如:蛙人有下述五个气瓶。每个气瓶表述为:氧气的体积,氮气的体积(以“升”为单位原创 2017-08-13 14:11:45 · 797 阅读 · 0 评论 -
【2018寒假集训 Day2】【动态规划】挖地雷
挖地雷(Mine) 在一个地图上有N 个地窖(N【输入格式】 N {地窖的个数} W1,W2,……WN {每个地窖中的地雷数} X1,Y1 {表示从X1可到Y1,保证xi小于yi} X2,Y2 …… 0 ,0 {表示输入结束} 【输出格式】 K1-K2-……-Kv {挖地雷的顺序} MAX {最多挖出的地雷数} 【输入样例】Mine.in 6 5 10 20 5 4 5原创 2018-02-03 19:55:51 · 608 阅读 · 0 评论 -
【集训Day4 动态规划】轮船问题
轮船问题(ship) 【问题描述】 某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉(如果两条航线交叉,将有很大机会撞船)。兴建哪些航线以使在安全条件下有最多航线可以被开通。 【输入格式】(ship.in...原创 2017-08-23 10:25:14 · 2017 阅读 · 1 评论 -
【Luogu P1048 Luogu P1016】采药/疯狂的采药
采药/疯狂的采药 两道模板题,分别是0-1背包和完全背包。0-1背包二维:dp[i][j]=max(dp[i-1][j-time[i]]+v[i],dp[i-1][j]); 由于i的状态由i-1的状态转移而来,那么可以省去物品的维度。 但是重量/容积维度的循环j必须倒序进行,否则可能使物品被重复选。 大家可以自己思考一下为什么。 一维:dp[j]=max(dp[j-time[i]]+v[i原创 2017-08-13 15:42:42 · 444 阅读 · 0 评论 -
【Luogu P1164】小A点菜
题目原链接: Luogu 小A点菜 【解题思路】 常规的0-1背包,不过是求装满整个背包的方案数,只要把0-1背包的状态转移方程稍微改一下就行。因为要求方案数,那么把方程中的max换成sum就行。 【解题反思】要注意变量的含义和题目所问的问题【参考程序】#include<iostream>#include<cstdio>using namespace std;int v,n,a[2原创 2017-08-20 10:49:45 · 397 阅读 · 0 评论 -
【NHOI2018】扑克游戏
【问题描述】 有一种别样“小猫钓鱼”扑克游戏。有 N 张牌,每张牌都有一个花色和点数。游戏的规则:扑克接龙时,若前面有同样花色的牌,你可以将这两张牌连同之间的牌都取走,得到的分值为取走牌点数之和。这里说的是可以,不是必须。给定扑克接龙的顺序,求最多的得分。 【输入格式】 第一行一个整数 N。 第二行 N 个整数,依次表示 1~N 张牌的花色。 第三行 N 个整数,依次表示 1~N 张牌的...原创 2018-06-11 18:20:35 · 1696 阅读 · 0 评论