随笔分类 - dp
摘要:题意:求由R和F组成的矩阵中,最大的由F组成的矩阵面积。 分析: 1、hdu1506http://www.cnblogs.com/tyty-Somnuspoppy/p/7341431.html与此题相似。 2、将矩阵的每行看成1506中的坐标轴分别处理。 3、算出以该行为坐标轴,坐标轴上,每个由F组
阅读全文
摘要:题意:已知n个高度不一、宽度相同的矩形并列排放,求所形成的图形中最大的矩形面积。 分析: 1、对于每一个矩形,分别算出它左边连续比它高的矩形中最左边的下标,右边同理。通过(r[i] - l[i] + 1) * a[i]比较得到最大的矩形面积。 2、将一组高度依次降低的矩形看成一个整体,如果该矩形比这
阅读全文
摘要:题意:现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 分析:dp[i] 截止到第i张
阅读全文
摘要:题意:给出N个银行拥有的资产和偷该银行被抓的概率,求在最终被抓概率小于P的情况下,能偷走的最大资产。 分析: 1、成功逃跑才能偷走财产,且每一次偷都要成功逃跑最终才能计算偷走的最大资产,即该问题可转化为求最大的逃跑概率。 2、参见:http://www.cnblogs.com/tyty-Somnus
阅读全文
摘要:题意:求一个区间内,满足连续的奇数长度是偶数,连续的偶数长度是奇数的数的个数。
阅读全文
摘要:题意:求1~N中含有49的数字个数。
阅读全文
摘要:题意:求一个区间里,不含有4或62的数字个数。 分析: 1、dp[i][j] 截止到第i位,当前第i位数字为j时不含4或62的数字个数。 2、dfs的写法: 数位dp关键在于记录重复状态以便于记忆化搜索。
阅读全文
摘要:题意:构造一个由a组成的串,如果插入或删除一个a,花费时间x,如果使当前串长度加倍,花费时间y,问要构造一个长度为n的串,最少花费多长时间。 分析:dp[i] 构造长度为i的串需要花费的最短时间。 1、构造长度为1的串,只能插入,dp[1] = x。 2、当前串的长度i为偶数,可以 (1)长度为i/
阅读全文
摘要:题意:有n个字符串,只能将其逆转,不能交换位置,且已知逆转某字符串需要消耗的能量,问将这n个字符串按字典序从小到大排序所需消耗的最少能量。 分析:每个字符串要么逆转,要么不逆转,相邻两个字符串进行比较,从而可得4个状态转移方程。
阅读全文
摘要:题意:背包重量为F-E,有N种硬币,价值为Pi,重量为Wi,硬币个数enough(无穷多个),问若要将背包完全塞满,最少需要多少钱,若塞不满输出“This is impossible.”。 分析:完全背包。 (1)构造二维数组: dp[i][j] 背包重量为j时,前i种物品可得到的最大价值。 dp[
阅读全文
摘要:题意:01背包:有N件物品和一个容量为V的背包。每种物品均只有一件。第i件物品的费用是volume[i],价值是value[i],求解将哪些物品装入背包可使价值总和最大。 分析: 1、构造二维数组: dp[i][j] 前i件物品放入一个容量为j的背包可以获得的最大价值。 dp[i][j] = max
阅读全文
摘要:题意:给定n个木棍的l和w,第一个木棍需要1min安装时间,若木棍(l’,w’)满足l' >= l, w' >= w,则不需要花费额外的安装时间,否则需要花费1min安装时间,求安装n个木棍的最少时间。 分析: 1、将木棍按l排序后,实质上是求按w形成的序列中的最长递减子序列。 eg: 5 4 9
阅读全文
摘要:题意:所有的格子围成一个圈,标号为1~n,若从格子1出发,每次指令告知行走的步数,但可能逆时针也可能顺时针走,概率都是1/2,那么问走了m次指令后位于格子l~r(1≤l≤r≤n)的概率。 分析: 1、因为m次指令后不知道会走到哪,会有很多种可能,但是知道从哪里出发,所以起始状态是已知的,在最初的状态
阅读全文
摘要:题意:沿着x轴从0走到大于等于N的某处,每一步的步数由骰子(1,2,3,4,5,6)决定,若恰好走到x轴上某飞行路线的起点,则不计入扔骰子数。问从0走到大于等于N的某处的期望的扔骰子次数。 分析: 1、dp[i]表示从位置i到终点期望的扔骰子次数。 2、很显然倒着往前推,因为从起点0开始,扔骰子的次
阅读全文
摘要:题意:有两棵树,标号为1和2,在Tmin内,每分钟都会有一个苹果从其中一棵树上落下,问最多移动M次的情况下(该人可瞬间移动),最多能吃到多少苹果。假设该人一开始在标号为1的树下。 分析: 1、dp[x][y][z] 第x分钟移动了y次的情况下,现在位于标号为z的树下最多吃到的苹果数。 2、枚举所有的
阅读全文
摘要:题意:左右各n个端口,已知n组线路,要求切除最少的线路,使剩下的线路各不相交,按照左端口递增的顺序输入。 分析: 1、设左端口为l,右端口为r,因为左端口递增输入,l[i] < l[j](i < j),因此若要不相交,r[i] < r[j],由此可以得出,只要求出对应的右端口序列的最长上升子序列的长
阅读全文
摘要:题意:给定n种硬币的价值和数量,问能组成1~m中多少种面值。 分析: 1、dp[j]表示当前用了前i种硬币的情况下,可以组成面值j。 2、eg: 3 10 1 3 4 2 3 1 (1)使用第1种硬币,可以组成的面值0 1 2,eg:当前cnt[2]表示组成面值2使用了两(cnt[2])个第一种硬币
阅读全文
摘要:题意:有N个点,N-1条边,任意两点可达,由此形成了一棵树。选取一个点a,它可覆盖自己以及与自己相邻的点,选取尽量少的点a,使得树中所有点都被覆盖,即求树的最小点支配集。 分析: 1、对于每一个点cur,要想使其被覆盖,有三种情况: dp[cur][0] 在该点建立塔 dp[cur][1] 在该点的
阅读全文
摘要:题意:Bessie要运动N分钟,已知每一分钟可以跑的距离,每一分钟可选择跑或者不跑,若选择跑,疲劳度加1,但疲劳度不能超过M;若选择不跑,则每过一分钟,疲劳度减1,且只有当疲劳度减为0时可以继续跑。求运动N分钟后且疲劳度恰好为0时可以跑的最远距离。 分析: 1、dp[i][j] 第i分钟疲劳度为j时
阅读全文
摘要:题意:有k个气球,n层楼,求出至少需要多少次实验能确定气球的硬度。气球不会被实验所“磨损”。 分析: 1、dp[i][j]表示第i个气球,测试j次所能确定的最高楼层。 2、假设第i-1个气球测试j-1次所确定的最高楼层是a, 若第i个气球在测试第一次的时候摔破了,那摔破所在的楼层b<=a+1 dp[
阅读全文

浙公网安备 33010602011771号