随笔分类 -  动态规划

DP
摘要:原题链接:统计上升四元组 动态规划: 其中f[i][j]代表的是截止到当前下标为i的数组下,大于等于j的个数,维护的话也是非常简单的一个线性dp,可知f[i][j]=f[i1][j]当前下标下大于等于j的个数是大于等于下标为i1状态下大于等于j的个数的。如果$ 阅读全文
posted @ 2023-03-07 19:55 xiaodangao 阅读(122) 评论(0) 推荐(0) 编辑
摘要:Red-Black Number 思路:我们发现每个格子有两种染色方式,所以一共是240种,不能通过,想到可以进行折半搜索,每次220种,然后再进行整合答案,能够通过。但有一种规模更小的搜索方法。我们设f(i,j,k,t)表示当前进行到第i个,当前被染红的格子的十进制表示 阅读全文
posted @ 2021-11-03 21:01 xiaodangao 阅读(98) 评论(0) 推荐(0) 编辑
摘要:思路:我们发现一共需要求两维东西,一个是宽度,另一个是高度,那么依据我们的经验,可以将高度首先进行一次排序。那么是由高到低排好,还是由低到高排好呢? 考虑由低到高,显然每一次加入一个东西i时,该东西一定是最高的,该东西加入的那一排,高度一定是h[i],但是有一个问题是我们还需要知道其他两维的 阅读全文
posted @ 2021-10-22 20:13 xiaodangao 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. Armchairs 思路:我们将0的位置放在一个数组中,将1位置放在一个数组中,我们规定每一个1位置都是有序的,即顺序不可以被改变,f(i,j)表示处理完前i个人,且第i个人坐在第j个板凳上的最小花费,显然$f(i,j) = min_f(i-1,p) + dis(a[i],a[j 阅读全文
posted @ 2021-06-03 09:51 xiaodangao 阅读(72) 评论(0) 推荐(0) 编辑
摘要:题目链接:1516C - Baby Ehab Partitions Again 思路:背包判断\frac{2}是否能够组成,如果不可以,答案显然,否则进行缩放,因为我们处理该规模/GCD的数比我们直接处理该规模的数的好处体现在,将该规模数除以GCD之后,绝对不可能全是偶数的存在,因为如果全是偶数 阅读全文
posted @ 2021-05-18 15:05 xiaodangao 阅读(55) 评论(0) 推荐(0) 编辑
摘要:水一发题解; 题目链接:902. 最短编辑距离 思路:f(i,j)表示第一个串只看前i个字符,第二个串只看前j个字符,将串1转化成串2的最小操作数,枚举最后一个字符的操作:如果最后一个字符的操作是删除,那么答案为f(i1,j)+1,否则如果最后一个字符的操作是插入,那么答案为$f(i,j- 阅读全文
posted @ 2021-05-17 13:21 xiaodangao 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. Explorer Space 思路:记忆化搜索。。。。。。。因为他说k步以内并且回到原点,并且可以走回头路,所以一定是找出到在i,j,k/2步能够到达的位置的最小价值,然后原路返回就是最佳答案。 Code: /* -*- encoding: utf-8 -*- ''' @Fi 阅读全文
posted @ 2021-05-14 21:45 xiaodangao 阅读(53) 评论(0) 推荐(0) 编辑
摘要:题目链接:G. The Galactic Olympics 思路:第二类斯特林数,可以用dp预处理,也可以根据通项公式求解; 通项公式:\({nk}= \sum_{i=0}^{k}\frac{{-1}^{k-i} i^n}{i!(k-i 阅读全文
posted @ 2021-05-12 09:42 xiaodangao 阅读(54) 评论(0) 推荐(0) 编辑
摘要:题目链接:D. Digits 思路:1e610dp每次更新以k为结尾的最大值就好了(最开始的想法是正确的),有一点是因为是乘法,所以必须进行取log操作,让乘法变成加法,才不会爆。然后需要注意的是进行存放方案的操作有些许的麻烦。 Code: #include<set> #in 阅读全文
posted @ 2021-05-08 20:24 xiaodangao 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题目链接:C. The Sports Festival 思路:区间DP,如果我们将这些数放在一个数轴上可以发现最优解的一些性质,比方说已排序后的序列[。。。。11,12,13,14],假设我们前面已经有选择过的数了,我们选择的时候一定是先选择13在选择14,因为,设没选择13之前的最小值为min 阅读全文
posted @ 2021-04-26 21:22 xiaodangao 阅读(173) 评论(0) 推荐(0) 编辑
摘要:题目链接:E. Colorings and Dominoes 思路:我们先考虑一种最简单的情况:oooooo,我们用1代表红色,0代表蓝色,我们先计算他对于5个o的情况来说,多增加了几个,因为一个多米诺骨牌占2格,所以形如000011这种情况,这在他的上一种情况(00001)中是显然多增加了1,那么 阅读全文
posted @ 2021-04-14 10:44 xiaodangao 阅读(76) 评论(0) 推荐(0) 编辑
摘要:题目链接:Accumulation Degree 题意:略 思路:利用一次dfs,可求出一点为源点的答案,我们将这一点设为x点,下一步dfs时,可以利用x点的答案推出他所有儿子节点的答案,因为x节点的答案已经知道,然后对于他每一个儿子节点(y),我们上一步dfs求出来他到除了x点以外的节点的答案(即 阅读全文
posted @ 2021-03-29 17:49 xiaodangao 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目链接:Acwing.10 有依赖的背包问题(树型DP,分组背包) 思路:模板题,从上到下考虑每一个节点,数组f[i][j]第一维表示选择第i个节点,第二维表示体积,然后我们对于一颗子树和他的若干儿子节点这样想,第一步,处理他的儿子节点,由于对于他每一个儿子节点,他只能选择一个体积,所以这就变成了 阅读全文
posted @ 2021-03-27 20:03 xiaodangao 阅读(60) 评论(0) 推荐(0) 编辑
摘要:虽然探索金字塔是极其老套的剧情,但是有一队探险家还是到了某金字塔脚下。 经过多年的研究,科学家对这座金字塔的内部结构已经有所了解。 首先,金字塔由若干房间组成,房间之间连有通道。 如果把房间看作节点,通道看作边的话,整个金字塔呈现一个有根树结构,节点的子树之间有序,金字塔有唯一的一个入口通向树根。 阅读全文
posted @ 2021-03-18 09:53 xiaodangao 阅读(99) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=1179 题意:略 思路:通过上一个石子合并的区间DP问题给了我思路(不熟悉or没写过的同学可以去刷Acwing.282),石子合并问题中两个相邻石子合并的valuesum,而本题的valueAopB,具体 阅读全文
posted @ 2021-03-15 19:52 xiaodangao 阅读(57) 评论(0) 推荐(0) 编辑
摘要:5105 Cookies 0x50「动态规划」例题 描述 圣诞老人共有M个饼干,准备全部分给N个孩子。每个孩子有一个贪婪度,第 i 个孩子的贪婪度为 g[i]。如果有 a[i] 个孩子拿到的饼干数比第 i 个孩子多,那么第 i 个孩子会产生 g[i]*a[i]的怨气。给定N、M和序列g,圣诞老人请你 阅读全文
posted @ 2020-12-11 15:29 xiaodangao 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Language:Making the Grade Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 14460Accepted: 6551DescriptionA straight dirt road connects two fie 阅读全文
posted @ 2020-12-07 10:59 xiaodangao 阅读(77) 评论(0) 推荐(0) 编辑
摘要:一个公司有三个移动服务员,最初分别在位置1,2,3处。 如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去。 某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工。 从 p 到 q 移动一个员工,需要花费 c(p,q)。 这个函数不一定对称,但保证 c(p,p) 阅读全文
posted @ 2020-12-07 10:04 xiaodangao 阅读(91) 评论(0) 推荐(0) 编辑
摘要:有 N" role="presentation" style="position: relative;">NN 个学生合影,站成左端对齐的 k" role="presentation" style="position: relative;">kk 排,每排分别有 N1,N2,&#x2026;,Nk" 阅读全文
posted @ 2020-11-20 17:35 xiaodangao 阅读(71) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示