Processing math: 100%
/* 返回顶部 */

随笔分类 -  动态规划————线性DP

摘要:题目描述 wobmajN个数据结构,第i个数据结构具有工业指数Ai和包容指数Bi(BiAi) 他会不断执行下面这个操作,直到无法再执行为止: 选择二元组(i,j),将第i个数据结构套进第j个数据结构里,其中Ai<Bj。 每个数据结构只能嵌套和 阅读全文
posted @ 2020-07-04 18:52 Mogeko 阅读(194) 评论(0) 推荐(0) 编辑
摘要:gate 设跳到i最少踩到的石子数为f[i],j ∈ (s,t), c[i]为i是否有石子。 dp方程:f[i] = min(f[i-j]+c[i]) 看起来很简单的样子? 但是这道题的数据范围比较奇怪,桥的距离有1e9,显然数组开不下… 不过石子的个数只有100,而且跳的距离只有1~10。 所以两 阅读全文
posted @ 2019-10-10 17:42 Mogeko 阅读(105) 评论(0) 推荐(0) 编辑
摘要:gate 四 重 循 环 暴 力 枚 举 因为最终状态是用完所有的牌…所以可以根据用了多少牌来dp 设f[i][j][k][l]表示每种牌用了多少张…它就可以从f[i-1][j][k][k],f[i][j-1][k][l]...转移过来 代码如下 #include<cstdio> #include< 阅读全文
posted @ 2019-10-08 16:58 Mogeko 阅读(152) 评论(0) 推荐(0) 编辑
摘要:gate 就这个破题dp+高精度...我de了好久/kk 设f[i][j]表示前i个数,用了j个*号,num(l,r)表示从第l位到第r位表示的数字 f[i][j] = max(f[i][j],f[k][j-1]*num(k+1,i)) 不用高精是60pts,代码如下: #include<cstdi 阅读全文
posted @ 2019-10-07 19:44 Mogeko 阅读(121) 评论(0) 推荐(0) 编辑
摘要:传送门 修改数组里的值,使数组(不严格)单调,且改动最小。 考虑动态规划。 上升和下降的方法都是一样的,以上升为例。 当修改一个数时,一定会把它修改成数组中出现过的某一个数。 那么把数组离散化一下,b[i]表示数组中第i大的数(这里可以用unique去重一下)。 那么只要枚举将每个数修改成其 阅读全文
posted @ 2019-06-09 10:41 Mogeko 阅读(139) 评论(0) 推荐(0) 编辑
摘要:传送门 这道题信息量好大啊 1.Dilworth定理 Dilworth定理:对于一个偏序集,最少链划分等于最长反链长度。 Dilworth定理的对偶定理:对于一个偏序集,其最少反链划分数等于其最长链的长度。 其实就是说,对于一个序列, 最大上升子序列长度 = 不上升子序列个数,最大不上升子序列长度 阅读全文
posted @ 2019-01-19 10:10 Mogeko 阅读(222) 评论(0) 推荐(0) 编辑
摘要:题目qwq (第一道蓝题) 先把第一个序列每个数出现的顺序记下来(数字本身不用记), 然后第二个序列的每个数都对照它的顺序,这样只要得到一个升序的序列就行了qwq 如果遇到出现顺序在前面的数,就用二分法找一下它的位置,然后把原来存下来的顺序覆盖掉 #include<cstdio> using nam 阅读全文
posted @ 2018-10-27 00:02 Mogeko 阅读(152) 评论(0) 推荐(0) 编辑
摘要:题目 (第一道绿题) 有点像最大子矩阵qwq 用前缀和存图,l,r代表横向的一段区间,区间和就是a[r]-a[l-1] 然后用一个k从上到下dp...因为每次l,r变化的时候原来的k就没有用了,所以k开一个表示第几行的一维数组,把最大值记下来就行qwq 特殊的是如果为0是不能选择的...改成-∞就可 阅读全文
posted @ 2018-10-26 23:37 Mogeko 阅读(180) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示