随笔分类 -  dp

摘要:题目传送门 思路: 先看一个大牛的题解 题解里面对矩阵的构造已经写的很清楚了,其实就是因为在每个字符串都有固定的很多中状态,刚好可以用矩阵来表达,所以$(i,j)$这种状态可以通过两个相邻的矩阵的$min(i,k)+(k,j)$得到,取最小值即可,由于这是一个区间问题,所以用线段树来维护区间的矩阵运 阅读全文
posted @ 2019-09-09 20:35 光芒万丈小太阳 阅读(237) 评论(0) 推荐(0)
摘要:题目传送门 题意:每天能往存钱罐加任意实数的钱,每天不能多于起那一天放的钱数。如果某一天的钱数恰好等于那天的特价商品,则可以买,求最后的最大快乐值。 思路:先来一段来自出题人的题解: 显然的贪心:如果第$i$天买完,准备在第$j$天买,那么显然最优是在$i+1$到j天放$wi/(j-i)$的钱。 于 阅读全文
posted @ 2019-03-19 21:27 光芒万丈小太阳 阅读(287) 评论(0) 推荐(0)
摘要:题面传送门 题目大意:将一个长度为n的序列分为k段,使得总价值最大,一段区间的价值表示为区间内不同数字的个数 思路: 显然的dp。 先想到一个朴素的状态转移方程 $dp[i][k]=max(dp[j][k-1]+val[j+1][i])$,$0<=j<i$ $dp[i][k]$表示到第i为,截取了k 阅读全文
posted @ 2019-02-28 23:31 光芒万丈小太阳 阅读(165) 评论(0) 推荐(0)
摘要:题目传送门 题意简述:(来自洛谷) 有n个城市坐落在一条数轴上,第ii个城市位于位置ai​. 城市之间有m辆卡车穿行.每辆卡车有四个参数:si​为起点编号,fi​为终点编号,ci​表示每行驶1个单位长度需要消耗的油量,ri​表示可以在路途中加油的次数. 当卡车到达一个城市的时候可以将油加满(当然也可 阅读全文
posted @ 2019-02-03 14:56 光芒万丈小太阳 阅读(246) 评论(0) 推荐(0)
摘要:题目传送门 题目大意: 有k种颜色,每个颜色ci可以涂个格子,要求相邻格子颜色不能一样,求方案数。ci<=5,k<=15. 思路: 题目里最重要的限制条件是相邻格子颜色不能相同,也就是当前格子只和上一个格子有关,那么对于还剩相同个数的颜色,如果都和上一个颜色不一样的话,那么这几种颜色都是一样的。如果 阅读全文
posted @ 2018-11-26 22:35 光芒万丈小太阳 阅读(199) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:总共有k次弹出宝物的机会,宝物共有n种,弹出不同的宝物的概率相同的,是每个宝物都有价值,和选择这个宝物的限制(必须具有特定的宝物),问最后的最优期望是多少。 思路:“正向推概率,反向推期望。”,一看数据范围就知道肯定是状压。 这里推荐一个大佬的博客 https://blog.c 阅读全文
posted @ 2018-11-18 17:27 光芒万丈小太阳 阅读(127) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:中文题面。 思路:又是格子,n又只有9,所以肯定是状压dp,很明显上面一行的摆放位置会影响下一行,所以先预处理出怎样的二进制摆放法可以放在上下相邻的两行,这里推荐使用bitset,否则会比较麻烦。然后dp的数组是f[ i ][ x ][ j ],表示第i行已经放置了x个国王,第 阅读全文
posted @ 2018-11-18 09:29 光芒万丈小太阳 阅读(193) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:给出一个长度为n的数组,这个数组有的数是给出的,有的数是固定的,且范围都在[1,200]之间,要求这个数组中,每一个数字都小于等于 前后两个数字的最大值,求方案数mod p。 思路:一眼看出是个dp,但是不太擅长这个,看了大佬的题解,又加上了一些自己的思考。 由于这个数组每一个 阅读全文
posted @ 2018-11-08 22:11 光芒万丈小太阳 阅读(439) 评论(0) 推荐(0)
摘要:题目传送门 题目大意: 给出n*m的网格,有红蓝两种颜色,每个格子都必须被染色,当一个格子被染成蓝色后,这个格子左上方的一块都必须被染成蓝色,问最后的方案数量。 思路: 按照题目条件,如果有一个格子被染成了红色,则这个格子的右下方要全部被染成红色,也就是这个给出的网格能让我们染色的,是一个左上方和右 阅读全文
posted @ 2018-08-28 21:24 光芒万丈小太阳 阅读(591) 评论(0) 推荐(0)