
dp
文章平均质量分 75
Ju_Ruo
这个作者很懒,什么都没留下…
展开
-
UVA1633 禁止回文子串
给出n<=400,k<=10,问长度为n且不含长度>=k的回文子串的01串有多少个dp的过程有点像模拟构造的过程,可以发现一个长度>=k的回文子串一定包含一个长度为k或k+1的回文子串,所以构造的时候我们就防患于未然,禁止构造出长度为k或k+1的回文子串,那么更长的就不会出现了#include<iostream>#include<cstdio>#...原创 2018-05-11 20:46:07 · 416 阅读 · 0 评论 -
【树形dp】5.6 Week8 移动棋子
题目大意:你有一棵 n 个点的有根树,每条边都是带权的,其中 1 号点是这棵树的根。你开始你把一个棋子放在 1 号点位置。接下来你可以做如下的事情:• 将这个棋子移向它的某个儿子。代价为这条边的权值。• 将这个棋子跳回 1 号节点。这个操作不需要任何代价。• 在这个棋子所在的位置设立存档点。注意你只能在整棵树上设立一个存档点,如果之前在某个节点上设立过存档点,那么原来的存档点会消失。这个操作不需要...原创 2018-05-08 16:53:22 · 290 阅读 · 0 评论 -
2018浙江省赛 括号序列
题意你有 n 个元素排成一行,每个元素都由一个括号 (左括号或右括号) 和一个权值构成,我们将第 i 个元素记作(si; vi),其中 si 为 “(” 或者 “)”,vi 为一个整数 (可能为负数)。你每次可以选择一对相邻的元素,对应的括号为 “()”,即找到一个 k(1 k < n),满足 sk 为 “(” 且 sk+1 为“)”。你可以交换第 k 和 k + 1 个元素 (包括括号和...原创 2018-05-07 20:30:12 · 474 阅读 · 0 评论 -
【dp&贪心】UVA1228 整数传输
贪心1:首先可以规定,k(待接收数)中的所有0和1均按原顺序接收,即每个数不会比k中它前面的同类数早被接收,因为每一个这样的情况,都可以调整成按原顺序接收,所以这种情况得到的数删去对答案没有影响例如上图,调整两个0的接收顺序,会发现两个数的最大时间延迟会变小,更容易符合条件贪心2:每当需要接收一个0或1时,一定接收k中还未被接收的最靠左的,因为这个数早晚都要接收,留到后面接收容易超出时间限制。所以...原创 2018-05-04 17:06:58 · 366 阅读 · 0 评论 -
方块消除 UVA10559
题意:给一排方块,每个方块有一个颜色,每次可以选几个连续颜色相同方块消除,得分为方块数平方,求最大总得分。按照一般的序列dp思路,dp[i][j]应当从dp[i][k]和dp[k][j]中转移(i<=k<=j),但本题中可能两边都剩下方块一起消,无法转移,状态也不好表示。我预处理时先用分块的思想,把颜色相同的小块分为一个大块。所以这个题以[i,j]这个区间中最后一个方块j怎样消除为决策...原创 2018-04-28 19:27:55 · 576 阅读 · 0 评论 -
【dp&减少状态】轻松爬山 UVA12170
题意,给定n(<=70)座山的高度和d(<=1e9),每座山可以花x的代价使高度增加x或减少x,使得两座相邻的山高度差<=d,求最小代价,无解输出impossible首先大致想到,可以用f(i,k)表示已经调整完了第i座山,第i座山调整成了高度k,花费的最小代价但是很明显,k的范围是1e9,显然不通,所以就要想办法简化这一维当n=3,只能调整第二座山,第二座山调整后的范围应为(h...原创 2018-04-26 19:21:22 · 283 阅读 · 0 评论 -
【dp&技巧】书架 UVA12099
题意,n(<=70)本书,每本书有一个高度(<=150),宽度(<=30),把他们分到书架里的三层,每层的高度就是这层里所有书的最大高度,宽度就是所有书的宽度和。ans=三层高度和*三层宽度最大值,求ans最小值又是一道ACM毒瘤好dp,最近做dp感觉出来了点规律,很多时候可以制定一些规则,使无论怎样都有最优答案都能满足这些规则,这样减少了最优答案的数量dp自然就简化了。所以在这...原创 2018-04-24 21:48:04 · 337 阅读 · 0 评论 -
【状压dp&预处理难】Fun Game UVA1204
题意:一群小孩(至少两个)围成一圈做游戏。每一轮从某个小孩开始往他左边或者右边传手帕。一个小孩拿到手帕后在手帕上写上自己的性别,男孩写B,女孩写G,然后按照相同的方向传递给下一个小孩,每一轮都可能在任何一个小孩写完后停止,现在游戏已经进行了n轮,已知n轮中每轮手帕上留下的字,问最少可能有几个小孩。ACM的题果真好题。书上说的已经非常好了,首先把能被包含的串去掉,这些串对答案没有贡献。剩下的工作就是...原创 2018-04-23 23:13:38 · 224 阅读 · 0 评论 -
【状压dp】UVA1252二十个问题
题目大意:有n件物品,每件物品有m个特征,可以对特征进行询问,询问的结果是得知某个物体是否含有该特征,要把所有的物品区分出来(n个物品的特征都互不相同)至少需要多少次询问?考虑状态的表示,可以用一个集合s1表示已经询问过的特征集合,s2表示已经确定物体有的特征集合。在每个状态下,考虑询问哪个特征。首先明确一个问题,在一个状态下,问哪个特征是由你决定,但得到什么回答就不一定了。比如询问一个所有物体中...原创 2018-04-15 19:17:14 · 194 阅读 · 0 评论 -
【状压dp】校长的烦恼UVA10817
又是一道看题就懵逼抄题解的题每个状态可以用三个集合表示,没有人教科目集,只有一个人教科目集,至少两人教科目集,可以发现任意两个集合可以推出来第三个,为了方便我选了前两个然后另一维是当前已经对前i个老师做完决策了,对每个老师有选和不选两种决策,但是前M个必须选。所以当没人教科目集和只有一人教科目集为空集时和所有老师都考虑完时为边界怒交一发,不出意外又WA。然后看了一眼debug不过的数据发现,有一种...原创 2018-04-15 17:09:45 · 309 阅读 · 0 评论 -
【背包dp】团队分组UVA1627
今天上午很神奇地被两个dp用小错误卡了一上午。。。题意:给出每个人是否认识另外的人(可能单向认识),分两组让每组中的人互相认识,使两组人数差最小并输出方案把每对不是互相认识的人连边,代表他们不能分到一个组,这样的话连通分量可能有很多个,然而各个连通分量之间是互不影响的,所以分别二分图染色就可以,然后统计两种颜色在这个连通分量里分别有多少人。这样就把人分成了k个组,每个组中可以让染黑色的人去Team...原创 2018-04-15 14:08:10 · 406 阅读 · 0 评论 -
【树形dp】完美的服务UVA1218
一道树形dp卡了这么久。。。题意:一个书中,每个点都可以安服务器,问最少多少服务器可以使每个不是服务器的点恰好只与一个服务器相邻把每个点分情况讨论1.自己安服务器 2.自己不安,父节点安,这样所有子节点不能安 3自己不安,父节点不安,这样有且只有一个子节点安设dp[i][0]为i及其子树,当i安服务器时最少服务器。dp[i][2]表示i的父亲安儿子不安,dp[i][1]表示i的一个儿子安父亲不安d...原创 2018-04-15 10:53:04 · 254 阅读 · 0 评论 -
UVA4847排序二叉树
题意:给出n,给出一种排列, 问有多少个排列,依次插入二叉查找树后和它形态一样(最普通的不旋转,别想多)首先明确,在一个排列中,一个数后面的数,比它小的一定在它左子树,比它大的一定在右子树。所以在这棵排序二叉树中,如果一个节点的左子树中每个节点确定了插入顺序,右子树中每个节点规定了插入顺序,那么对于这个节点来说,只要它后面每个小于它的数,在小于它的中排名不变,比它大的数同理,那么无论怎样排列都不会...原创 2018-04-05 17:35:04 · 185 阅读 · 0 评论