摘要:
MMP,差一点就做对了。 题目大意:给你一个树,对这个树的边进行编号,编号要求从0到n-1,不可重复,要求MEX(U,V)尽可能的小, MEX(x,y)的定义:从x到y的简单路径上,没有出现的最小编号。 题解: 只要让0,1,2这三个号不在同一条路径上就行。 如果说是一条没有分支的树,那么无论怎么编 阅读全文
摘要:
MMP,差一点就做对了。 题目大意:给你一个树,对这个树的边进行编号,编号要求从0到n-1,不可重复,要求MEX(U,V)尽可能的小, MEX(x,y)的定义:从x到y的简单路径上,没有出现的最小编号。 题解: 只要让0,1,2这三个号不在同一条路径上就行。 如果说是一条没有分支的树,那么无论怎么编 阅读全文
摘要:
题目大意: 值得注意的一点是题目要求的是这些子段之间的最大整数和。注意和Max Sum Plus Plus 这个题目的区别。 题解: 线性区间DP,对每一段考虑取或者不取。定义状态dp[i][j]指的是前i个数分为j段。 如果第j段不选的话dp[i][j]=dp[i-1][j],直接就是上一个状态的 阅读全文
摘要:
概率+0 1背包 要算成功的最大概率,那就是失败的最小概率,所以01背包直接让失败的概率最小就行了。 注意: 概率与概率之间是要相乘的,不是相加。 #include<bits/stdc++.h> using namespace std; const int N=1e4+7; int weight[N 阅读全文
摘要:
题目大意:一天有h个小时,一个人喜欢睡觉,一共睡n次,每次都睡h个小时,开始时间为0,间隔a[i]或a[i]-1个小时开始睡第i次觉,每天都有一个最好时间区间,问这n次觉,最多有多少次是在最好时间内睡的。 题解:定义状态dp[i][j]为第i次觉是在j时刻睡的,那么状态转移方程dp[i][j]=ma 阅读全文
摘要:
题目大意:有一个导航系统,会根据你当前的位置,规划到目的地的最短路线,给你一个有向图,和一条行驶路径,问你导航重新规划路径的最大次数和最小次数。 读题的时候题意特别不理解,何为最大次数,何为最小次数? 1 比如说当在一个点时,到终点的最短路线就那一个,也就说我只能走这一条,不用重新规划。 2 在一个 阅读全文
摘要:
题目大意:删除字符,当一个字符左边或者右边存在一个比它小“1”的字符那么就可以将这个字符删除,问最多能删除多少个字符 思路,:刚开始想的是,对于单调连续的字符,可以直接删除,比如,单点增的字符只保留前边的就行了,单调减的只保留后边的。。。然后知道不能删除为止。然后wa了一下午。。 正解是复杂度是O( 阅读全文
摘要:
题目大意: 第一行一个n,表示共n个月份,然后第二行分别表示一个工人的聘请工资,月薪水,解雇工资。第三行是n个月每个月需要的工人的最少数目。然后求最少花费 题解: dp[i][j] 表示第i个月聘请j个人需要的最少花费。 状态是怎么转移的呢? 当第i-1个月聘请k个人时。 如果k<j。需要聘请新人 阅读全文
摘要:
题目大意: 输入两个数n和m,n表示有n个数,这n个数是一个多项式的前n项,让输出这个序列的n+1,n+2,..n+m项。 题解:差分规律,一直差分,直到全为0或者只剩下一个数。然后再递推回去。 给出了n个数,最多可以求n-1行差分,从最后一行向上推,共n行。所以总复杂度O(n^2+n*m). #i 阅读全文
摘要:
题意: 输入n行数,没行由2*n个数,表示一个坐标(x,y)。 如果x和y 1表示从该点(i,j)出发,按照构造的前移动不会停下。 否则就要到点(x,y)处停下。 题解: 首先处理-1 枚举每个-1的坐标,判断四个方向是否存在-1的情况。如果不存在就可以结束了,否则就将移动方向保存到棋盘中。 然后处 阅读全文
摘要:
https://blog.csdn.net/someone_and_anyone/article/details/81044153 当串1 和 串2 的位置i和位置j匹配成功时, dp[i][j]=dp[i-1][j-1]+1,也就是说此状态由状态dp[i-1][j-1]转移而来,用数组记录为1, 阅读全文
|