随笔分类 - DP
摘要:$Sol$ $f_{i,j}$前$i$个垃圾,能活到时间$j$的最高垃圾高度.$t_i$表示第$i$个垃圾掉落的时间,$g_i$表示吃垃圾$i$能维持的时间,$h_i$表示堆垃圾$i$的高度. $f_{i,j}=max\{f_{i 1,j}+h_i,f_{i 1,j g_i}\}$. 注意初始化和转
阅读全文
摘要:$Sol$ 不知道为啥看起来就很$dp$的亚子.我们关心的只有$A$串当前用到哪一个,$B$串已经匹配到哪个位置,已经匹配的被分成了多少段.所以设$f_{i,j,k,0/1}$表示$A$串用到第$i$个,$B$串已经匹配到第$j$个,分成了$k$段,最后一段是否被断开. 瞎转移一波(这里就不详细讲了
阅读全文
摘要:$Sol$ 设$f_i$为到第$i$秒的方案数,显然$f_i=$在第$i$秒前爆炸的方案数+在第$i$秒爆炸的方案数+在第$i$秒停下的方案数+在第$i$秒走向下一个城市 的方案数.注意到第四个转移和当前在哪个城市有关,所以要另记一维$j$表示当前位置.于是$f_{i,j}=$第$i$秒前在$j$爆
阅读全文
摘要:$Sol$ 觉得这里是个很巧妙的地方吖,就是记下当前扩展点集的最大深度,然后强制下一步扩展的点集都是最大深度+1.这样做在当前看可能会导致误算答案导致答案偏大,但是整个$dp$完成后一定可以得到最优解. 怎么计算扩展点集的代价呢,显然是要扩展的点向已扩展的点里连最短边,这个可以暴力计算. 注意一个细
阅读全文
摘要:$Des$ 给定一个有向图,起点为$1$,终点为$n$,求和最短路相差不超过$k$的路径数量.有$0$边.如果有无数条,则输出$ 1$. $n\leq 10^5,k\leq 50$ $Sol$ 首先,有无数条边的情况一定是在与最短路相差不超过$k$的一条路上有$0$环. 先不考虑$0$边和$0$环,
阅读全文
摘要:背包学得太差了要好好复习总结一下 : ) ## $01$/完全 背包 背包问题:有一些物品,每个物品有花费和价值,一般来说求的是在花费不超过给定数的前提下求最大的价值. 一般来说会省略第一维,但是在一些问题转化成的背包问题中不要忘了这一维可能又会被利用起来. //01背包 v表示花费 w表示价值 g
阅读全文
摘要:$Sol$ 约定$pos$为老张所处的位置的路灯号,$ipos$. 显然,如果$i$和$j$都关了,那么它们之间的所有灯一定也都关了. 设$f[i][j][k]$表示关掉$[i,j]$的灯,现在在$k$位置($k=i$或$k=j$),所有路灯的功耗. 转移有两种,显然,懒得写了. 记搜即可. $Co
阅读全文
摘要:$Luogu$ $Sol$ 和$Poj1037\ A\ Decorative\ Fence$好像吖. $f[i][0/1]$表示前$i$个数,且选了第$i$个数,这个数相对于上一个数是下降(上升)的,这样的序列的最大长度. $f[i][0]=max(f[k][1])+1,k<i且h[k]>h[i]$
阅读全文
摘要:$Des$ • 有一排数量为N的方块,每次可以把连续的相同颜色的区间消除,得到分数为 区间长度的平方,然后左右两边连在一起,问最大分数为多少。 • n Code cpp include include include define il inline define Ri register int d
阅读全文
摘要:$Des$ 求对于正整数$n\leq 1e5$,{$1,2,3,...,n$}的满足约束条件:"若$x$在该子集中,则$2x$和$3x$不在该子集中."的子集个数. $Sol$ 是一道很妙的构造+状压$dp$题吖. 我最开始想这题的时候画了一个如下的图.对于每一个点,左儿子是它的两倍,右儿子是它的三
阅读全文
摘要:$Luogu$ $Description$ 给定一棵树,每两个距离为$2$的点之间可以产生"联合权值","联合权值"定义为这两个数的乘积.求最大的联合权值以及所有的联合权值之和.注意这两个数是有序的,翻译成人话就是求完和之后要$*2$. $Sol$ 想起了消防局的设立$ovo$. 距离为$2$的点,
阅读全文
摘要:$Luogu$ 去年我这题获得了$20$的好分数$ovo..........$ $Sol$ 现在来看其实非常显然叭,只要把能被别的数表示出来的数去掉就好了. $f[i]$表示$i$数能否被其他数表示.完全背包就好辣.但有一点不同的是$f[i]$是能否被其他数表示,而不是能否被表示.把$a[i]$从小
阅读全文
摘要:$Luogu$ $Sol$ 一直以为是每个点只能经过一次没想到居然是每条边只能经过一次$....$ 首先其实这题$55$分的部分分真的很好写啊,分别是链,数的直径和菊花图,这里就不详细说了. 使得修建的$m$条赛道中长度最小的赛道长度最大有了这句话显然就要考虑考虑二分.现在就是要考虑如何判断了. 任
阅读全文
摘要:$Poj$ $AcWing$ $Luogu$ $ps:$洛谷题目与$Poj$略有不同,以下$Description$是$Poj$版.题目的不同之处在于洛谷中雇用奶牛的费用不相同,所以不可以用贪心法,只能$DP$ $Description$ $Sol$ 就是区间覆盖问题$qwq!$ 1.$DP$做!
阅读全文
摘要:$AcWing$ $Description$ $Sol$ $AcWing$ $Description$ $Sol$ 首先显然是是以严格递增子序列的长度为阶段,由于要单调递增,所以还要记录最后一位的数值 $F[i][j]$表示前$i$个数中以$A_i$结尾的长度为j单调递增序列有多少个 $F[i][j
阅读全文
摘要:Luogu Description Sol 1.发现对于每个城市,小A和小B的选择是固定的,可以预处理出来,分别记为ga[],gb[] 2.并且,只要知道了出发城市和出发天数,那么当前城市和小A,小B各行驶的路程也是一定的,同样可以分别预处理出来 具体怎么预处理: 1.其实就是"邻值查找" 简单讲一
阅读全文
摘要:AcWing Description 求$N$个节点的无向连通图有多少个,节点有标号,编号为$1~N$. $1<=N<=50$ Sol 在计数类$DP$中,通常要把一个问题划分成若干个子问题,以便于执行递推. 一个连通图不容易划分,而一个不连通的无向图则很容易划分成结点更少的两部分.所以我们把问题转
阅读全文
摘要:AcWing Description 有个$H$行$W$列的棋盘,里面有$N$个黑色格子,求一个棋子由左上方格子走到右下方格子且不经过黑色格子的方案数. $1<=H,M<=1e5,1<=N<=2000$.输出对$1e9+7$去模后的结果即可 Sol 假设没有黑色格子,方案数就为$C_{H+W-2}^
阅读全文
摘要:Poj AcWing Description Sol 这题很数位$DP$啊, 预处理$+$试填法 $F[i][j][k]$表示用$i$块长度不同的木板,当前木板(第$i$块)在这$i$块木板中从小到大排在第$j$位,构成栅栏的方案数.$k=0$表示处于低位,$k=1$表示处于高位. $F[i][j]
阅读全文
摘要:Poj AcWing Description Sol 这题长得就比较像数位$DP$叭. 所以先用$DP$进行预处理,再基于拼凑思想,通过"试填法"求出最终的答案. 设$F[i][3]$表示由$i$位数字构成的魔鬼数有多少个,$F[i][j](0<=j<=2)$表示由$i$位数字组成的,开头有$j$个
阅读全文

浙公网安备 33010602011771号