
dp
卧室踩被
The weakest OIer
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JZOJ 2679. 跨时代 【状压dp】【dfs】【背包】【7.6 A组 T1】
题目大意:给n个长度为l[i]的围栏要求围成一个面积最大的矩形【围栏可不用】解题思路:状压可以组成的边长然后暴搜Accepted code:Accepted\ code:Accepted code:#include<iostream>#include<cstdio>#include<cstring>using namespa...原创 2019-07-06 20:53:50 · 248 阅读 · 0 评论 -
10.29 A
题目解题思路:设f[k][n]f[k][n]f[k][n]为答案,那么至少包含一个1得答案为f[k−1][n−1]f[k-1][n-1]f[k−1][n−1],而一个1都不包含的则为f[k][n−k]f[k][n-k]f[k][n−k],答案f[k][n]f[k][n]f[k][n]自然就是f[k−1][n−1]+f[k][n−k]f[k-1][n-1]+f[k][n-k]f[k−1][n−...原创 2018-11-01 14:57:21 · 269 阅读 · 0 评论 -
10.27 Gift
题目:解题思路:01背包转移方程:(f[i+1][j]+f[i+1][j−a[i]]∗(j&amp;amp;gt;=a[i]))(f[i+1][j] + f[i+1][j-a[i]] * (j&amp;amp;gt;=a[i]))(f[i+1][j]+f[i+1][j−a[i]]∗(j&amp;gt;=a[i]))Accepted code:#include&amp;lt;cstdio&amp;gt;原创 2018-11-01 14:40:19 · 222 阅读 · 0 评论 -
选课
题目大意:选择M门课程,有一些课程有先修课(学完先修课后才可学这门课程),每一门课程有固定学分,求选M门课程所得最大学分解题思路:树形dp+一丢丢背包 转移方程 if(j−k−1&gt;=0)if(j−k−1&gt;=0)if (j-k-1>=0) f[x][j]=max(f[x][j],f[x][j−k−1]+f[i][k]);f[x][j]=max(f[x][j],f[x...原创 2018-09-07 21:35:31 · 249 阅读 · 4 评论 -
没有上司的舞会
题目大意:Ural大学有N名职员,编号为1~N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 H_i 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。解题思路:树形dp f[x][0]表示从以x...原创 2018-08-20 16:31:43 · 311 阅读 · 0 评论 -
Coins
题目大意:给定N个硬币,Ai表示第i个硬币的价值,Ci表示第i个硬币的数量。若从中选出若干个硬币把面值相加,设结果为S,则称“面值S能被拼成”。求1——M之间能拼成的面值有多少个。解题思路:dp 本题询问的是“可行性”(面值是否能被拼成) 设fj表示能拼成面值j,用直接拆分法直接求解会超时,我们发现: 前i-1中硬币就能拼成j,即在第i阶段开始前,变量F[j]=true。 ...原创 2018-08-20 11:40:37 · 435 阅读 · 0 评论 -
Making the Grade
题目大意:农夫约翰想改造一条路,原来的路的每一段海拔是A_i,修理后是B_i,花费|A_i – B_i|。我们要求修好的路是单调不升或者单调不降的。求最小花费。解题思路:dp+离散 设f[i][j]表示完成前i个数的构造,其中B[i]=j时,S的最小值 F[i][j]=min(F[i−1,k]+|Ai−j|)(0&lt;=k&lt;=j)F[i][j]=min(F[i−1,k]+|...原创 2018-08-19 20:20:46 · 2389 阅读 · 0 评论 -
Mr. Young's Picture Permutations
题目大意:给定N个学生,k排,每排分别有N1,N2,N3……Nk 合影时要求每一排从左到右身高递减,每一列从后到前身高也递减,问一共有多少种安排合影位置的方案解题思路:五维dp f[a1,a2,a3,a4,a5]表示各排从左端起分别占了a1,a2,a3,a4,a5个人时合影方案数量 然后我们枚举a1,a2,a3,a4,a5从0开始到N1,N2……N5 若a1 < N1 ...原创 2018-08-18 11:48:50 · 368 阅读 · 0 评论 -
激光炸弹
题目大意:一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标。现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y轴平行。若目标位于爆破正方形的边上,该目标将不会被摧毁。 解题思路:求二维前...原创 2018-08-13 11:47:01 · 166 阅读 · 0 评论 -
Telephone Lines 电话线
题目大意:在一个无向图中找出一条1到n的路径,我们可以选择K条边使其权值变为0,我们的目的是使得路径上第K+1大的边最小解题思路:解法一:我们用dp的思想dis[x][p]表示1到x中已经指定p条边权值为0,我们用SPFA对其进行转移,也就是说我们会从dis[x][p]中转移出两个状态:dis[y][p] 和 dis[y][p+1]怎么转移?因为dis[y][p]表示的是1到y中已经...原创 2018-11-30 21:33:00 · 275 阅读 · 0 评论 -
JZOJ 100047. 基因变异
题目大意:在一个单位时间里基因x(数字表示)可以有两种选择1.将数字转换为二进制,然后选择一位进行反转操作(1变0或0变1)2.将x xor y给出N个y[i] (可以选择),起点和终点,问起点最少要经过几个单位时间解题思路:我们发现,反转操作其实就是xor一个数所以有S xor x1 xor x2 xor …… xor xn= T我们求的是最小的n又因为xor是本身的逆运算...原创 2018-12-15 17:12:39 · 132 阅读 · 0 评论 -
JZOJ Day9 B组 T2 游历的路线
题目大意:有nnn个点,每个点之间的边权是一个周期。求从111出发经过mmm条边到nnn的最小权值解题思路:dpdpdp设fi,jf_{i,j}fi,j表示第iii天到达第jjj个点的最少花费则得出转移方程:fi,j=min(fi,j,&nbsp;fi−1,k+ak,j,(ai,j,0−1)&nbsp;mod&nbsp;k+1)f_{i,j} = min(f_{i,j},\ f_{...原创 2019-01-27 21:43:54 · 335 阅读 · 0 评论 -
SSLOJ 买装备 5月11日提高B组 T1
题目大意:mxy 沉迷于一个辣鸡游戏不可自拔。为了加强角色的实力,mxy 决定重新买一套装备。已知现在有 n 件装备,每件装备会ᨀ供一定的物理抗性和魔法抗性,并需要一定的价钱。mxy 想要保证至少有 a 的物抗和 b的魔抗,请你计算出满足条件所需的最少金额。(装备不可重复购买)Acceptedcode:Accepted code:Acceptedcode:#include<cst...原创 2019-05-17 19:28:54 · 232 阅读 · 0 评论 -
SSL 3.02 模拟赛 T1 猫咪的进化 【dp】【卡常】
题目大意:一共有ttt个单位时间,每个单位时间对应一个数值v[i]v[i]v[i]一只猫要进化为猫神,每个单位时间有三个选择:1.不叫,获得0002.叫一声,获得viv_ivi3.叫两声但是下一个单位时间必须不叫,获得viv_ivi2^22求最大能获得的数值之和解题思路:很明显的dpdpdp设fi,0/1/2f_{i, 0/1/2}fi,0/1/2对应在第iii个单位时间的...原创 2019-03-02 16:02:47 · 190 阅读 · 0 评论 -
旅行 【基环树】【贪心】 luogu P5022
传送门题目大意:有一棵树(可能为基环树),除了返回外只能去一次,去到任意点可以返回到上一个点,从任意一点出发,每到达一个新的点就记录下编号,求一种走法使得记录下来的编号字典序最小。解题思路:首先肯定从节点111出发接着我们分类讨论m=n−1m = n - 1m=n−1和m=nm = nm=n两种情况当m=n−1m = n - 1m=n−1时我们发现直接贪心是最好的选择所以嗯当m...原创 2019-03-01 20:54:54 · 312 阅读 · 0 评论 -
JZ Day11 T3 B
题目大意:小D是雅礼高一著名的神犇,在NOI同步赛中获得了满分的优异成绩,而全国没有任何其他人获得如此的成绩。某天晚上,高一内部在讨论一道题目,然而包括小D之内的各种神犇都毫无头绪,这时候,高二的人赢小T上来给高二进行了精彩的讲解。小D被小T的神犇气场所折服,他知道小T之所以没有同步赛满分是不屑于,于是他决定拜小T为师。一日小T正在给小D讲解后缀数组。“把一个字符串的所有非空后缀按字典序...原创 2019-01-30 21:31:44 · 212 阅读 · 0 评论 -
JZ Day12 T2 er
题目大意:小明在业余时间喜欢打电子游戏,不是星际和魔兽这些,是赛尔号一类的游戏。最近小明在玩一款新出的游戏,叫做■■■■■■■■。小明觉得游戏里自己的装备太垃圾了,每次都被大神虐,一怒之下充了■■元准备强化装备。这个游戏中用于强化装备的道具叫做强化符文。有以下3 种:赋值强化符文,对某个装备使用这个符文以后,装备威力值会变为一个常数。因为这个功能很IMBA,可以让一个垃圾装备变得非常牛■,...原创 2019-01-30 20:58:02 · 231 阅读 · 0 评论 -
JZ Day13 T3 游戏
题目大意:一个有很多头(题目描述就这么说的)的人喜欢到处乱顶,从iii处(顶)到jjj处就获得a[j]×(j−i)a[j]\times (j-i)a[j]×(j−i)对于60%的数据,n&amp;lt;=1000;对于100%的数据,n&amp;lt;=100000,0&amp;lt;=a[j]&amp;lt;=50。解题思路:60pts&amp;nbsp;O(n2)60pts\ O(n^2)60pts&am原创 2019-01-30 20:44:00 · 168 阅读 · 0 评论 -
JZOJ Day10 B组 T2 队伍统计
题目大意:nnn个人排队,mmm个条件(u,v)(u,v)(u,v)表示uuu要排在vvv前,求方案总数,每个方案不满足条件的个数不超过kkk解题思路:状压dpdpdp设fi,j表示排好了i个人已违反j个条件的排列数f_{i,j}表示排好了i个人已违反j个条件的排列数fi,j表示排好了i个人已违反j个条件的排列数转移方程:fi,j=(fi,j+flast,q−nok) mo...原创 2019-01-28 07:45:15 · 145 阅读 · 0 评论 -
JZOJ Day9 B组 T3 食物
题目大意:解题思路:多重背包 +++ 二进制优化先算出超过p pp至少要多少空间。然后在算出这个空间至少需要多少价钱。Accepted&nbsp;code:Accepted\ code:Accepted&nbsp;code:#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;iostream&gt;原创 2019-01-27 21:48:17 · 167 阅读 · 0 评论 -
Strange Towers of Hanoi
题目大意:求出N盘四柱Hanoi最优解解题思路:考虑三柱Hanoi d[n]表示N个盘子三柱的最优解 推出公式 d[n]=(d[n−1]<<1)+1d[n]=(d[n−1]<<1)+1d[n]=(d[n-1]f[n]=min(f[n],2∗f[i]+d[n−i])f[n]=min(f[n],2∗f[i]+d[n−i])f[n]=min(f[n],2*f[i...原创 2018-08-13 10:39:11 · 193 阅读 · 0 评论 -
Editor
题目大意维护一个整数序列的编辑器,有以下五种操作,操作总数不超过1066^6 1.I x:在当前光标位置之后插入一个整数x,插入后光标移动到x以后 2.D:删除光标之前的一个整数,即按下退格键Backspace 3.L:光标向左移动一个位置,即按下←键 4.R:光标向右移动一个位置,即按下→键 5.Q k:询问在位置k之前的最大前缀和,其中k不超过当前光标的位置解题思路:...原创 2018-08-15 11:34:58 · 206 阅读 · 0 评论 -
溜冰
题目大意:Smart迷上了溜冰,并准备参加国际溜冰比赛。国际溜冰比赛的赛道长L米。Smart在起点的速度是1米/秒,但他的速度是可以改变的,在每一米的速度可以是前一米的速度加1、减1,或者等于前一米的速度。在滑行的过程中,Smart会遇到N个转弯处,第i个转弯处位于距离出发点D[i]米处。为了安全,Samrt到达第i个转弯处的速度不能超过S[i]米/秒。Smart到达终点时的速度没有最大限制。...原创 2018-02-08 10:46:08 · 453 阅读 · 0 评论 -
最小步数
题目大意:从起点到终点有N步,如果“走”第K步,将会得到A[K]元钱,A[K]可能为负数。 你也可以花100元钱“跳过”当前的这一步,即不会得到A[K]。但是任何时刻身上的钱都必须是非负的。开始时,你身上共有0元。给定数组A,求在能到达终点的情况下最小需要走过(即不是用100元钱跳过)的步数。注意:最后一步必须走,不能选择跳过。解题思路:一开始,我想用贪心,发现我的水平做不出来~...原创 2018-02-08 10:57:08 · 335 阅读 · 0 评论 -
纪中模拟赛——接苹果
题目:很少有人知道奶牛爱吃苹果。农夫约翰的农场上有两棵苹果树(编号为1和2),每一棵树上都长满了苹果。奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果从树上落下。但是,由于苹果掉到地上会摔烂,贝茜必须在半空中接住苹果(没有人爱吃摔烂的苹果)。贝茜吃东西很快,所以她接到苹果后仅用几秒钟就能吃完。 每一分钟,两棵苹果树其中的一棵会掉落一个苹果。贝茜已经过了足够的训练,只要站在树下就一定...原创 2018-03-01 20:25:54 · 297 阅读 · 0 评论 -
花店橱窗布置
题目大意解题思路:不就是插花吗?求出动态转移方程,很容易啊。直接列出动态转移方程。**b[i][j]=max(b[i][j],b[i-1][k-1]+a[i][k]);i=1..f;j=i..v-f+i;k=i..j;**#include <cstdio>#include <cstring>#define r(i,a,b) for(int i=a;i<=b;i++)using nam原创 2017-12-30 14:42:39 · 384 阅读 · 0 评论 -
数的划分
题目大意:将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。 输出一个整数,即不同的分法。 【输入】 两个整数n,k(6解题思路:其实吧,这道题,恕我直言就是一道水题(被一顿暴揍之后)很难很难(不难你们看我博客干嘛?) 所以还是说说吧……(不知道怎么说) 毕原创 2017-12-30 14:29:11 · 334 阅读 · 0 评论 -
大盗阿福
题目大意:就是一个小偷偷东西,然后不能偷相邻的两家店铺听说他一偷相邻的两家店铺的现金,警报系统就响了,然后警察就来了,然后小偷就直接狗带。 题目说每家店铺都有现金那我们就假设每家店铺都有现金吧。 【输入】 输入的第一行是一个整数T(T≤50) ,表示一共有T组数据。接下来的每组数据,第一行是一个整数N(1≤N≤100,000) ,表示一共有N家店铺。第二行是N个被空格分开的正整数,表示每一家店原创 2017-12-30 10:48:21 · 448 阅读 · 0 评论 -
鸡蛋的硬度
题目大意:有一个傻X无聊的公司用扔鸡蛋的办法测试鸡蛋硬度,求最坏情况要扔几次,只能从第一层扔到第n层,如果这个鸡蛋在第n层没碎,在n+1层碎了,这个鸡蛋的硬度就是n。然后多事的小A又想着用二分,结果想到自己都烦还在想。(无聊的小A)然后又让你帮他解决问题。【输入】 输入包括多组数据,每组数据一行,包含两个正整数n和m(1≤n≤100,1≤m≤10),其中n表示楼的高度,m表示你现在拥有的...原创 2017-12-30 10:05:47 · 420 阅读 · 0 评论 -
方案数
题目大意:Smart老师今天特别开心,因为同学们考试考得都特别的好!于是Smart老师买了好多黑色和白色巧克力(可以认为数量无限)来奖励大家,让同学们自己来拿巧克力,但有如下限制: 1、每个人最少拿一块巧克力; 2、每个人只能拿一种颜色的巧克力; 3、拿黑色巧克力的人不少于C 个; 4、第i 个人最多拿a[i]个黑巧克力,或最多拿b[i]个白巧克力。 请问N(编号1~N)个同学拿巧克...原创 2018-02-08 10:23:21 · 254 阅读 · 0 评论 -
邮票
题目大意:你被提供一套不同面额的邮票,如{1,3,5},并规定最多能在一封信上粘贴的邮票数(如5张),你的目标是算出最大的可连续贴出的面值集合的元素个数。对{1,3,5}最多贴五张而言,下列面值是可达到的。 1: 1 6: 1+5 11: 5+5+1 16: 5+5+3+3 21: 5+5+5+3+3 2: 1+1 7: 5+1...原创 2018-02-08 10:11:01 · 244 阅读 · 0 评论 -
2018.3.24模拟赛——(5)得分
题目大意: 解题思路:贪心+01背包 转移方程: f[j]=f[j−a[i].x]+a[i].y∗(t−j+a[i].x);f[j]=f[j−a[i].x]+a[i].y∗(t−j+a[i].x);f[j]=f[j-a[i].x]+a[i].y*(t-j+a[i].x); 把它的“价值”计算出来,用t[i]/c[i] (a[i].x/a[i].y)计算出w[i] (a[i]...原创 2018-03-28 16:09:21 · 177 阅读 · 0 评论 -
矩阵 模拟赛C组
题目大意:求最小矩阵相乘次数 矩阵相乘次数定义: A(m·n)*B(n·p)的次数为m·n·p解题思路:区间dp 转移方程 f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+a[i]∗a[k+1]∗a[j+1]);f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+a[i]∗a[k+1]∗a[j+1]);f[i][j]=mi...原创 2018-07-06 19:24:48 · 161 阅读 · 0 评论 -
气象牛 C组模拟赛
题目:解题思路dp 先用题目的公式预处理er[i][j](i~j只选i和j) 然后 然后用k枚举0~i-1,计算出f[i]j 然后用f[i][j]计算出出ans[i][j] 转移方程: f[i][j]=min(f[i][j],f[k][j−1]+er[k][i]);f[i][j]=min(f[i][j],f[k][j−1]+er[k][i]); f[i][j...原创 2018-07-11 21:13:42 · 190 阅读 · 0 评论 -
数字对 C组模拟赛
题目大意:将(1,1)变为(n,i)(i&gt;0)变化形式 1.(a+b,a) 2.(a,a+b)解题思路:30分对于30%的数据, 1 &lt;= n &lt;= 1000 f[i][j]表示从(1, 1)变为(i,j)所需最少步数 使用n22^2dp轻松解决 用 f[i][j]表示a=i,b=j时所使用的最小代价 这样空间会炸 所以只能拿30...原创 2018-07-11 07:55:34 · 191 阅读 · 0 评论 -
分队问题 C组模拟赛
题目大意:有N个人,每个人都有一个要求a[i],意思是ta所在队伍人数必须大于或等于a[i]解题思路:dp/贪心 表示贪心打起来简单 从大到小排序一遍,然后贪心具体看源程序 dp的话只给出方程: f[i]表示前i名队员最多分成的队伍数量 f[i]=max(f[j])+1,j∈[0,i–a[i]]f[i]=max(f[j])+1,j∈[0,i–a[i]]f[i] = m...原创 2018-07-11 07:45:15 · 234 阅读 · 0 评论 -
电视游戏问题 C组模拟赛
题目:农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶叫兽的做法拿她们去电击戒瘾的,可是后来他发现奶牛们玩游戏之后比原先产更多的奶。很明显,这是因为满足的牛会产更多的奶。 但是,奶牛们在哪个才是最好的游戏平台这个问题上产生了巨大的分歧。一只奶牛想要买一台Xbox 360来跑《光晕3》;另外一只奶牛想要一台任天堂Wii来跑《任天堂明星大乱斗X》;第三只奶牛想要在PlayStation 3上面玩《...原创 2018-07-09 07:41:15 · 174 阅读 · 0 评论 -
景点中心 C组模拟赛
题目大意:镇海中学共有n个景点,每个景点均有若干学生正在参观。这n个景点以自然数1至n编号,每两个景点的编号均不同。每两个景点之间有且只有一条路径。选择哪个景点集中的学生,才能使所有学生走过的路径之和最小呢?解题思路:先以1为root搜一次,求出num[i]和ans[i],num[i]是从i到1的学生数量总和,ans[i]是从i到1的代价 然后再搜一次,每次加上(第一个景点的学生人数...原创 2018-07-08 07:48:25 · 249 阅读 · 0 评论 -
石子合并【dp】
题目:石子合并解题思路:dp 题目数据比较水,O(n4)O(n4)O(n^4)可以过 转移方程for (int i=n-1;i&gt;=1;i--) for (int j=i+1;j&lt;=n;j++) for (int k=i;k&lt;=j-1;k++) { f[i][j]=min(f[...原创 2018-06-25 21:14:04 · 226 阅读 · 0 评论 -
低价购买【dp】
题目:低价购买解题思路:数据比较水,O(n²)就能过 第二问求方案数,刚开始没想到,其实求方案数也是一类常见的dp问题。基于dp数组的dp。 转移方程 if (a[j]>a[i]&&b[j]>=b[i]) { b[i]=b[j]+1; maxn=b[i]>maxn?b[i]:...原创 2018-06-25 21:08:27 · 151 阅读 · 0 评论