随笔分类 -  DP

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要:LXXVI.高速公路 简直恶心到爆炸…… 首先,暴力的DP是非常简单的。设$dis_x$表示位置$x$到根的距离,则有 \(f_x=\min\limits_{y\text{ is an ancestor of }x}f_y+p_x(dis_x-dis_y)+q_x\) 暴力一敲,期望得分$40%$。 阅读全文
posted @ 2021-03-30 19:33 Troverld 阅读(57) 评论(0) 推荐(0)
摘要:LXXV.[USACO20FEB]Help Yourself G 思路: 考虑将线段按照左端点排序。 设$f[i]$表示前$i$个线段的复杂度之和。 则$f[i]=2*f[i-1]+2^{sum[l_i-1]}$。其中$sum_i$是右端点$\leq i$的线段数目,$l_i$是$i$线段的左端点。 阅读全文
posted @ 2021-03-30 19:31 Troverld 阅读(57) 评论(0) 推荐(0)
摘要:LXXIV.[USACO18DEC]Sort It Out P 集合中的数一定是某一条LIS的补集,这点还是比较好想的。 我们要集合的字典序最小,就是让集合的补集的字典序最大。 最大就可以考虑按位处理LIS中的数。 我们从后往前求LIS。我们设$f[i]$表示以当前位置开头的LIS的长度以及数量(类 阅读全文
posted @ 2021-03-30 19:29 Troverld 阅读(62) 评论(0) 推荐(0)
摘要:LXXIII.[USACO19DEC]Greedy Pie Eaters P 考场上写了个暴力贪心(因为看到题面中的 greedy ……)然后光荣爆炸…… 因为$n\leq 300$,考虑区间DP。 设$f[i][j]\(表示有且只有区间\)[i,j]\(里的\)\pi$被吃完后的最大收益。 则我们 阅读全文
posted @ 2021-03-30 19:28 Troverld 阅读(149) 评论(0) 推荐(0)
摘要:LXXII.[HEOI2016/TJOI2016]序列 说实话我对于这道题应该归到DP还是树套树时曾经纠结了很久 我们回忆一下正牌的LIS: 对于$\forall j<i\ \land\ a_j\leq a_i$,$f[i]$可以从$f[j]$转移过来。 现在,我们设$mx_i,mn_i$分别表示位 阅读全文
posted @ 2021-03-30 16:54 Troverld 阅读(59) 评论(0) 推荐(0)
摘要:LXXI.[ABC163F]path pass i 思路: 反向考虑。我们计算出不包含任何颜色为$i$的节点的路径的数量,再用总路径数一减就行。 则,我们删去所有颜色为$i$的节点,整棵树就会被分成许多连通块。则不经过任何一个颜色为$i$的节点的路径数量,就是$\sum\dfrac{(\text{连 阅读全文
posted @ 2021-03-30 16:53 Troverld 阅读(117) 评论(0) 推荐(0)
摘要:LXX.[USACO5.5]贰五语言Two Five 这题已经在我的收藏夹里面吃了大半年的灰了 发现当表格填到某个地方后,它一定是呈现出一条逐行递减的轮廓线的。 因此,我们设$f[a][b][c][d][e]$表示第$1$行填了$a$个……第$5$行填了$e$个的方案数。 则只有$5\geq a\g 阅读全文
posted @ 2021-03-30 16:52 Troverld 阅读(74) 评论(0) 推荐(0)
摘要:LXIX.[USACO18JAN]Stamp Painting G 思路: 发现任何具有一段长度大于等于$K$的相同颜色区间的串都是合法的(这个区间被看作最后一次染色的目标)。 因此反向思考,我们求出所有不具有长度大于等于$k$的相同颜色区间的串数量,然后用总数量(\(M^N\))减一下即可。 我们 阅读全文
posted @ 2021-03-30 16:47 Troverld 阅读(96) 评论(0) 推荐(0)
摘要:LXVIII.[USACO17JAN]Subsequence Reversal P 思路: 发现,翻转一个子序列,就意味着两两互换子序列里面的东西。 于是我们就可以设$f[l][r][L][R]\(表示:\)\max[1,l)=L,\min(r,n]=R$时的最长长度。 则边界为:$L>R$时,\( 阅读全文
posted @ 2021-03-30 16:45 Troverld 阅读(43) 评论(0) 推荐(0)
摘要:LXVII.[USACO15JAN]Moovie Mooving G 思路1. 设$f[i][S]$表示在第$i$场(注意是场,不是部)电影时,已经看了$S$里面的电影是否合法。 然后贪心地取$|S|$最小的状态保存。光荣MLE了,\(21\%\)。 代码: #include<bits/stdc++ 阅读全文
posted @ 2021-03-30 16:44 Troverld 阅读(61) 评论(0) 推荐(0)
摘要:LXVI.[USACO09MAR]Cleaning Up G $n^2$的DP非常eazy,考虑如何优化。 首先,答案一定是$\leq n$的,因为一定可以每一个数单独划一组,此时答案为$n$。 则一组里面最多只能有$\sqrt$个不同的数,不然平方一下就超过$n$了。 因此我们可以设$pos_i$ 阅读全文
posted @ 2021-03-30 16:42 Troverld 阅读(73) 评论(0) 推荐(0)
摘要:LXV.[USACO20OPEN]Sprinklers 2: Return of the Alfalfa P 首先,一个合法的方案,肯定是有一条从左到右向下延伸的轮廓线: 例如: 其中,蓝色系格子是玉米,红色系格子是苜蓿;浅蓝色位置必须放玉米喷射器,深红色格子必须放苜蓿喷射器。深蓝和浅红格子放不放均 阅读全文
posted @ 2021-03-30 16:41 Troverld 阅读(58) 评论(0) 推荐(0)
摘要:LXIV.CF1059E Split the Tree 我们假设对于每个位置,已经求出了它可以往上延伸的长度$len[x]$,然后考虑DP。 设$g[x]$表示子树被分完后的最小边的数量。再设$f[x]$表示当这个数量最小时,点$x$能够往上延伸的最长长度。 这运用了贪心的思想:因为$g[x]$少一 阅读全文
posted @ 2021-03-30 16:39 Troverld 阅读(47) 评论(0) 推荐(0)
摘要:LXIII.CF1029E Tree with Small Distances 我们发现,如果一个点与$1$连了边,那么它的儿子们以及它的父亲都会变成合法的。 因此我们可以设$f[i][0/1/2]$表示:$i$的某个儿子中有边/$i$自己有边/$i$的父亲应该有边的最小值。 转移: \(0\):可 阅读全文
posted @ 2021-03-30 16:38 Troverld 阅读(44) 评论(0) 推荐(0)
摘要:LXII.CF908D New Year and Arbitrary Arrangement 思路: 期望题果然还是恶心呀…… 我们设$f[i][j]$表示当串中有$i$个a和$j$个ab时的方案数。为了方便,设$A=\dfrac{P_a+P_b},B=\dfrac{P_a+P_b}$。 显然,可以 阅读全文
posted @ 2021-03-30 16:37 Troverld 阅读(101) 评论(0) 推荐(0)
摘要:LXI.CF868F Yet Another Minimization Problem 这种题一般来说只有决策单调性一种优化方法。不过,决策单调性可以有很多种应用,例如单调队列或是斜率优化。这题可以选择比较少见的分治优化。 明显,可以设$f[i][j]$表示前$i$个位置分成$j$段的最大收益。显然 阅读全文
posted @ 2021-03-30 16:35 Troverld 阅读(73) 评论(0) 推荐(0)
摘要:LX.CF837D Round Subset 思路: 设$f[l][i][j][k]$表示: 前$l$位,选出$j$个,这$j$个物品能否拥有$j$个$5$和$k$个$2$(bool型) 接下来开始削减位数。 第一维可以直接$01$背包掉。现在只剩$f[i][j][k]$三维。 因为这是bool,我 阅读全文
posted @ 2021-03-30 16:32 Troverld 阅读(74) 评论(0) 推荐(0)
摘要:LIX.CF815C Karen and Supermarket 思路:一看就是树DP。 设$f[i][j][0/1]$表示: 在以$i$为根的子树中,选了$j$个物品,并且从$i$到$1$的路径上的点 没有/有 全部选上的最小花费。 则初始$f[i][0][0]=0$,\(f[i][1][1]=c 阅读全文
posted @ 2021-03-30 16:31 Troverld 阅读(130) 评论(0) 推荐(0)
摘要:LVIII.CF767C Garland 有两种可行方法: 对于一个点,它存在两个儿子,使得这两个儿子的子树中个存在一棵子树,它们的$size$都是$1/3$。 对于一个点,它的$size$是$2/3$,并且它的子树中存在一个子树,它的$size$是$1/3$。 然后我们只需要对于每个节点记录$ha 阅读全文
posted @ 2021-03-30 16:29 Troverld 阅读(61) 评论(0) 推荐(0)
摘要:LVII.CF809D Hitchhiking in the Baltic States 设$f_i$表示长度为$i$的LIS结尾的最小值。为了方便,设$g_i$表示前一个物品的$f_i$(即滚动数组); 则对于一个$[l,r]$的物品: 对于$g_<l$的位置,有$f_i=\max(g_i,l)$ 阅读全文
posted @ 2021-03-30 16:28 Troverld 阅读(46) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页