随笔分类 - DP-线性DP
摘要:https://vjudge.net/problem/HDU-4261 对于一个长2000的数列划分最多25个块,每块代价为块内每个数与块内中位数差的绝对值之和,求最小总代价。 套路化地,设$f[i][j]$表示第$i$位,划了$j$块最小代价。然后dp。$O(n^3k)$不必说。($logn$和$
阅读全文
摘要:https://vjudge.net/problem/POJ-2374 吐槽。在这题上面磕了许久。。英文不好题面读错了qwq,写了个错的算法搞了很久。。A掉之后瞥了一眼众多julao题解,**,怎么想的方法都比我简单,码量还小?太菜了太菜了,把自己烂方法记下来滚了。 题意内容说简单点其实就跟小时候玩
阅读全文
摘要:众所周知,这个人太菜了,所以她又来切水题了。 显然设计状态表示第$i$朵花放第$j$瓶中的最大价值。然后瞎转移一波是n三方的,加个前缀max变成n方就水过去了。 当然这题可以搜索剪枝的。 虐lyd书上水题好爽。。
阅读全文
摘要:众所周知,由于这个人太菜了,所以她又来切上古水题了。 显然最多$40^4$种状态,暴力跑出可以拼出多少种状态,然后按序号从小到大对应的状态瞎转移即可。 我知道我想繁了,但是不想改了,因为思路一出来,没有再想直接无脑秒掉的,所以您可以大呼本人是菜鸡。
阅读全文
摘要:如题。$N \leqslant 5000$。 感觉自己思路永远都是弯弯绕绕的。。即使会做也会被做繁掉。。果然还是我太菜了。 递减不爽,先倒序输入算了。第一问做个LIS没什么说的。第二问统计个数,考虑什么时候是重复计算的。$g[i]$表示第$i$个数结尾的LIS长度的方案(不重复)。当统计时dp到一个
阅读全文
摘要:求给定序列中长度为M的上升子序列个数。$N,M<=1000$。 很容易想到方法。$f[i,j]$表示以第$i$个数结尾,长度为$j$的满足要求子序列个数。于是转移也就写出来了$f[i][j]+=f[k][j-1]$ $(k<i且A_k<A_i)$。边界$f[0][0]=1$。 然后这是$O(N^2
阅读全文
摘要:https://vjudge.net/problem/POJ-3171。(有价值的区间全覆盖问题) (lyd例题)朴素DP很好想,$f[i]$表示将右端点从小到大排序后从$L$(要求覆盖的大区间)到第$i$个区间的右端点都覆盖完成时最小化费。无解则为INF。然后利用排序、右端点单调性,每次枚举前面d
阅读全文
摘要:http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5105%20Cookies 大概有一个初步状态的设计想法,第一维dp到
阅读全文
摘要:http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5104%20I-country rt,求给定格子数的凸连通块最大价值。
阅读全文
摘要:给定一个 N*M 的矩阵A,每个格子中有一个整数。现在需要找到两条从左上角 (1,1) 到右下角 (N,M) 的路径,路径上的每一步只能向右或向下走。路径经过的格子中的数会被取走。两条路径不能经过同一个格子。求取得的数之和最大是多少。N,M≤50。 由于走两条路径,可以直接把两个人未知设计入状态中。
阅读全文
摘要:http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5102%20Mobile%20Service 终于会做一道了。。 $f
阅读全文
摘要:给个$n<=2000$长度数列,可以把每个数改为另一个数代价是两数之差的绝对值。求把它改为单调不增or不减序列最小代价。 话说这题其实是一个结论题。。找到结论应该就很好做了呢。 手玩的时候就有感觉,改造出来的数列的元素会不会全是原来数列里有的数?弄了几组发现没问题,但是还是踟蹰不前,不敢下手。。然后
阅读全文
摘要:恭喜我已经正式沦为pj组选手QwQ 标题两个题其实不一样的。这是ch 这是hdu 一、CH上的:裸题,求LICS。n<=3000 经典普及组dp题,题解烂大街了。所以对于这题,只讲细节: $1.A_i=B_j时的转移(或者说继承)f[i][j]=f[i-1][j]可有可无。$ $可以想到两个末尾相等
阅读全文
摘要:若干人左对齐站成最多5行,给定每行站多少个,列数从第一排开始往后递减。要求身高从每排从左到右递增(我将题意篡改了便于理解233),每列从前向后递增。每个人身高为1...n(n<=30)中的一个数(互不不同)。求可行方案数。(地址点我qwq); 做了lyd书dp这一章的第一题,就不会qwq。。果然菜的
阅读全文
摘要:有一点小转化的题,在设计dp状态时还是有点费脑筋的。 地址。 依题意,首先可以知道肯定要扩展域的并查集(明摆着的嘛)。一个"好人"域,一个"坏人"域,每句话分两种情况考虑连边。假设是yes,同域连边,否则异域连边(经典模型嘛)。然后就是要考虑如何验证是否有$x$个好人$y$个坏人的唯一解存在。这取决
阅读全文
摘要:地址戳这。N根木棍待处理,每根有个长x宽y,处理第一根花费1代价,之后当处理到的后一根比前一根长或者宽要大时都要重新花费1代价,否则不花费。求最小花费代价。多组数据,N<=5000 本来是奔着贪心来做的。首先按照套路想到排序,长优先宽再次从小到大。由于要不浪费,尽量按照顺序去找,第一次把花费仅为1的
阅读全文
摘要:最近智商有点不在线。其实一直不在线。 题目 先是想用$f[i][j][k][0/1/2]$表示摆了i行时有j列空着,k列有了一个炮,且当下摆了0/1/2个的状态,转移方程写的出来但是极其繁琐。于是又设法听取评讲者题解修改状态,最后的012完全可以删去。那么仍可以表示这一行那些列摆过1个,那些列摆过0
阅读全文

浙公网安备 33010602011771号