![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
Gank_Wind
I AK IOI
展开
-
CF909C 解题报告
思路观察题目,我们可以发现当前这一层的位置选择只与上一层的位置和代码种类有关,那么我们可以设dp[i][j]表示第i层间隔为j个时的方案总数,同时用一个now来记录到第i层f的数量,表示最多能够间隔的距离那么最终答案就是∑i=1now\sum_{i=1}^{now}∑i=1nowdp[n][i]考虑两种状态1.第i-1层为f此时当前位置只能由dp[i-1][j-1]得来,...原创 2020-12-29 12:58:03 · 135 阅读 · 0 评论 -
“访问“美术馆
前言今天学习了树形DP,用这道练练手传送门初拿到题有些棘手,因为不知道如何表示状态,再仔细一推,发现与树形背包相似,所以我们设dp[now][k]表示以now为根结点时用了time分钟能获得的最大画数如果now是展室,设s为now的画数,k为选取的画数,那么dp[now][5k]=∑k=1sdp[now][5∗k−5]\sum_{k=1}^s{dp[now][5*k-5 ]}∑k=1sdp[now][5∗k−5]其中,time+5k<=m即:for(int i=1;i<=a[原创 2020-10-04 22:14:12 · 119 阅读 · 0 评论 -
浅谈树形DP
前言确实很浅树形DP顾名思义,在树上进行的动态规划被称为树形DP,而且往往以一个点为根结点的子树所获得的最大收益为状态,通常从深到浅进行状态转移(树的深度)例题:1.最大独立子集2.树的重心3.树的直径1.最大独立子集Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起参加宴会。输入格式第一行一个整数N。(原创 2020-10-04 13:25:48 · 138 阅读 · 0 评论 -
最长公共上升子序列 输出路径
前言昨天才看懂,寒假时候我也太菜了吧题目描述研究发现,大猩猩的基因序列和人的基因序列只有1.3%的区别,更进一步,不仅仅离人最近的大猩猩和人的基因序列高度近似,就连以打洞为生的老鼠和人的基因序列也有高达95%的相同序列。于是有魔法师提出一个大胆设想,即改变人类的某些特定基因以期产生超级人类。现在,他们要做的第一步是将两种不同生物的基因序列转换成两个整数序列,并试图确定他们的最大公共上升子序列的长度,例如有A序列为4 3 2 1 7 8 9,B序列为7 8 9 4 3 2 1,其最长公共子序列是4原创 2020-09-20 13:39:30 · 477 阅读 · 0 评论 -
传球游戏 题解
前言emmmmmmmm要说什么好呢传送门发现很多题解给出的过程太复杂了,因为一个人只能从左边或右边得到球,所以其实你只用理解为每个人得到球的方案数是他左边的人的方案数+右边的人的方案数就行了鸭~设一个二位数组dp[i[]j]来表示第i次传球时第j个人可能得到球的方案数,不难得出状态转移方程为dp[i][j]=dp[i−1][j+1]+dp[i−1][j−1]dp[i][j]=dp[i-1][j+1]+dp[i-1][j-1]dp[i][j]=dp[i−1][j+1]+dp[i−1][j−1]但原创 2020-08-07 21:13:44 · 345 阅读 · 0 评论 -
Flood Fill(洪水填充)
前言这道题很好的展现了中华汉字博大精深的特点题目题目描述N 个方块排成一排,第 i 个颜色为 Ci 。定义一个颜色联通块 [l,r] 当且仅当 l 和 r 之间(包括l,r)所有方块的颜色相同。 例如 [3,3,3] 有 1 个颜色联通块,[5,2,4,4] 有 3 个颜色联通块。 现在你可以选定一个起始位置 p ,每次将 p 所在颜色联通块的所有方块颜色改成另一种。这个操作可能将两个颜色联通块合并成一个。问最少需要多少步,能让 [1,n] 变成一个颜色联通块。输入格式输入的第一行包含一个正整数原创 2020-07-19 22:03:10 · 237 阅读 · 0 评论 -
分离与合体
题目描述经过在机房里数日的切磋,LYD 从杜神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试……杜神牛造了 个区域,他们紧邻着排成一行,编号 。在每个区域里都放着一把 OI 界的金钥匙,每一把都有一定的价值,LYD 当然想得到他们了。然而杜神牛规定 LYD 不能一下子把他们全部拿走,而是每次只可以拿一把。为了尽快得到所有金钥匙,LYD 自然就用上了刚学的分离与合体特技。一开始 LYD 可以选择 中的任何一个区域进入,我们不妨把这个区域记为 。进入后 LYD 会在 区域发生分离,从而分离成两原创 2020-07-19 20:39:45 · 247 阅读 · 0 评论 -
区间DP小结
前言是个毒瘤玩意儿区间DP属于线性dp的一种基础做题思路就是从长度为1的区间开始求出价值,然后再用长度为1的区间的价值求出长度为2的区间的价值…最后求出长度为n的区间的结果,算出答案。有时候需要用到搜索来辅助做题或者骗分在做题时要注意到题目的阶段,状态,决策,并且把题目转换为基础的使用lll,rrr左右端点求出状态的题型例题这里石子合并这道题符合区间dp的做法,首先定义一个变量len来表示区间的长度,然后用i来枚举dp数组的左端点,用前缀和记录每个子串的代价。再用一原创 2020-07-19 20:01:00 · 129 阅读 · 0 评论 -
低买题解
前言假期第一篇题解题目题目描述给定一段时间内股票的每日售价(正16位整数)。你可以选择在任何一天购买股票。每次你选择购买时,当前的股票价格必须严格低于你之前购买股票时的价格。编写一个程序,确定你应该在哪些天购进股票,可以使得你能够购买股票的次数最大化。例如,下面是一个股票价格时间表:Day 1 2 3 4 5 6 7 8 9 10 11 12Price 68 69 54 64 68 64 70 67 78 62 98 87如果每次购买都必须遵循当前股票价格严格低于原创 2020-06-20 13:27:00 · 509 阅读 · 0 评论 -
花园橱窗布置(路径保存)
前言假期第二篇题解题目描述魔法世界的人们对艺术的追求是无止境的,我们可以从路边花店的橱窗设计就可以看出来。假设以最美观的方式布置花店的橱窗,有F束花,每束花的品种都不一样,同时,至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,并从左到右,从1到V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边,花束可以移动,并且每束花用1到F的整数惟一标识,标识花束的整数决定了花束在花瓶中列的顺序,即如果I<J,则花束I必须放在花束J左边的花瓶中。例如,假设杜鹃花的标识数为原创 2020-06-20 16:24:47 · 269 阅读 · 1 评论 -
挂钩题解
前言这道挂壁钩是一道dp好题! 假期第三篇题解题目描述JOI君有N个装在手机上的挂饰,编号为1…N。 JOI君可以将其中的一些装在手机上。JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩。每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上。直接挂在手机上的挂件最多有1个。此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示。如果JOI君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数。JOI君想要最大化所有挂饰的喜悦值之和。注意不必要将所有的挂钩都挂上挂饰,而且一原创 2020-06-20 16:53:00 · 349 阅读 · 2 评论