随笔分类 -  线性dp

摘要:有n件物品,每件物品有三个属性a[i], b[i], c[i] (a[i]<b[i])。 再给出q个询问,每个询问由非负整数m, k, s组成,问是否能够选出某些物品使得: 1.对于每个选的物品i,满足a[i]<=m且b[i]>m+s。 2.所有选出物品的c[i]的和正好是k。 ##输入格式 第一行 阅读全文
posted @ 2020-07-19 06:28 HISKrrr 阅读(133) 评论(0) 推荐(0)
摘要:##题目大意 *小花所在的班有 n名同学(任何两位同学身高不相同),正准备排成一列纵队,但他们不想按身高从矮到高排,那样太单调,太没个性。 *他们希望恰好有 k对同学是高的在前,矮的在后,其余都是矮的在前,高的在后。如当 n=5,k=3 时,假设5 人从矮到高分别标为 1,2,3,4,5,则 (1, 阅读全文
posted @ 2020-07-10 10:20 HISKrrr 阅读(137) 评论(0) 推荐(0)
摘要:##题目大意 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道、一辆停在轨道底部的电梯、和电梯内一杆控制电梯升降的巨大手柄。 Nescafe之塔一共有N层,升降梯在每层都有一个停靠点。手柄有M个控制槽,第i个控制槽旁边标着一个数Ci,满足C1<C2< 阅读全文
posted @ 2020-07-05 20:19 HISKrrr 阅读(216) 评论(2) 推荐(0)
摘要:##题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大。N、M从键盘输入,输出最大值及一种划分方式。 ##输入格式: 第一行一个正整数T(T<=10000),表示有T组数据。 接下来T行每行两个正整数N,M。 ##输出格式 对于每组数据 第一行输出最大值 阅读全文
posted @ 2020-06-23 21:18 HISKrrr 阅读(243) 评论(0) 推荐(0)
摘要:题目大意:有一个长度为N的字符串,要求用K个乘号将其分成K+1个部分,求各个部分相乘的最大值 输入:第一行输入N和K,第二行输入一个长度为N的字符串 算法分析 1. 这个题只是一个简单的dp(甚至连区间dp都不是) 2. dp[i][j]表示前i个数字里面用了j个乘号,而枚举的状态k表示前k个数字用 阅读全文
posted @ 2020-06-23 20:56 HISKrrr 阅读(172) 评论(0) 推荐(2)