随笔分类 - 动态规划
摘要:$Description$ "题面" 求$[l,r]$有多少个数满足数位中出现长度$ =2$的回文数,比如$121、110$都满足 $l,r include include include define ll long long define re register define maxn 1010
阅读全文
摘要:$Description$ "题面" 给定$[L,R]$,求在$[L,R]$内满足下列条件的数的个数: $1.$长度为$11$,不含前导零 $2.$存在三个相邻的数相等 $3.$不能同时出现$4、8$ $Solution$ 数位$DP$我习惯于写递推版本,于是预处理就崩溃了 " " 发现预处理需要考
阅读全文
摘要:~~第一次手切$DP$紫题祭~~ $Description$ "题面" 给定两个数$a,b$,求$[a,b]$内,数码$0 9$出现的次数 $Solution$ 话说这道题就是 "P1554梦中的统计" 的强化版,记得这道题刚学$OI$的时候做过(指梦中的统计)。对于这道题而言,朴素做法只有$30p
阅读全文
摘要:属于数位$DP$入门级别的题目,但我做这类题不多,还是要总结一下这道经典题目 $Description$ "题面" 给定$a,b$,求$[a,b]$区间有多少个数满足:任意两个相邻数位之间的差的绝对值$ =2$ $a,b=2) dp[i][j]+=dp[i 1][k];//把0的情况也处理 } in
阅读全文
摘要:$Description$ "题面" 有$n(n include include include define re register define maxn 100010 using namespace std; inline int read() { int x=0,f=1; char ch=g
阅读全文
摘要:$Description$ "题面" 题意是给你一颗$n$个节点的树和$k(k\leq 20)$,每条边权是$1$,告诉你$n$个点的点权,输出到点$i$距离$\leq k$的所有点的点权和 $Solution$ 感觉很不可做,一开始考虑维护距离为$k$的点,然后跟着当前点往一个方向走,发现根本没法
阅读全文
摘要:$Description$ "题面" 给你一颗有根树,你只能增加一条边的边权,最后需要使得根到每个叶子节点的距离相等 $Solution$ 一道有点贪心意味的$DP$题,假设一开始根节点到叶子节点的最远距离为$d$,考虑到只能加边权不能减边权, 显然最终根节点到所有叶子节点的距离$d2$一定等于$d
阅读全文
摘要:树的直径 树的直径,是指树上最长的一条链。 求树的直径有两种方法 $1.DP$:$d1[u]$表示$u$到达子树中叶子节点的最长链,$d2[u]$表示$u$到达子树中叶子节点的次长链,两条链不能有交集,只需要对每个节点做以下更新同时维护最大值最小值即可 这样维护保证了不会出现交集,不用$d2[ev]
阅读全文
摘要:四边形不等式 使用范围:区间序列$DP$求最小值(一定是最小值) 对于动态规划转移方程 其中$w(i,j)$只受$i,j$取值影响 如果满足下面两个条件 $1.$区间单调性:如果对于$\forall i \leq i' $S(i,j 1)\leq S(i,j)\leq S(i,j+1)$ 考试时可以
阅读全文
摘要:$Solution$ 当$n$在$100$左右时,直接$O(n^3)$区间$DP$ 当$n$在$40000$左右时,需要用贪心算法: 加西亚 瓦克斯算法 ($Garsia\ Wachs$) 注:这个方法仅求石子合并的最小答案 这是大概的流程 这是关于$Garsia\ Wachs$算法的正确性证明:
阅读全文
摘要:下面这两道题非常相似,我本来以为可以双倍经验,结果看到数据范围就凉了 P3146传送门 P3147传送门 #$Description$ 在一个$1*n$的网格图中,每一个格子有一个权值,相邻两个格子如果权值相同可以合并,权值$+1$,相当于一维的$2048$小游戏,只不过合并后权值不是$*2$而是$
阅读全文
摘要:$Description$ "题面" $n$个同学按顺序排成一队,他们都有一个身高$H_i$,这个顺序称为初始队形 现在按照以下法则重新站队: 对于第一个同学,直接站到新队伍中,队友后面每个同学,假如在初始队伍中他比前面的同学高则站到新队伍最右边,否则站到新队伍最左边(数据保证每个同学身高不同)。所
阅读全文
摘要:$Description$ 有$n$个员工,需要从中选择$k$组员工,每组$2$人,$1$人组长了,$1$人组员。 每个员工有三个数值:$w,s,q$,$w$表示经验值,$s$表示薪水,$q$是意愿$q=1,2,3$ $q=1$表示该员工想当组长,$q=2$表示该员工想当组员,$q=3$表示该员工随
阅读全文
摘要:一道水题,我也不知道为什么要写博客,这应该是最后一次了 $Description$ 给你$n$个节点的树,要求你在上面选取一个联通块,使得点权和最大 $Soution$ 树形$DP$,我们实际上是在求一颗子树,用$dp[i]$表示以$i$为根的子树能得到的最大值即可 转移方程显然:$DP[i]=a[
阅读全文
摘要:题目描述 有一个$a b$的整数组成的矩阵,现请你从中找出一个$n n$的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 输入输出格式 输入格式: 第一行为$3$个整数,分别表示$a,b,n$的值 第二行至第$a+1$行每行为$b$个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一
阅读全文
摘要:$LIS$ 首先区分一组概念 子序列:一个序列的子集,可以是连续也可以是不连续的。 子串:一个序列的子集,必须是连续的。 最长上升子序列的意思就不多说了 $1.$朴素做法$O(n^2)$ 用$dp[i]$表示以$i$为结尾的最长子序列的长度 在遍历的同时让$j$从$1到i 1$遍历,如果$a[i]
阅读全文
摘要:$Translate$ 给出$n$个$5$元组,从中选出$k$组,使得在$k$组中$5$个位置,每个位置上最大数(在选择的$k$组中的最大值)之和最大,求这个和。 $Input$ (输入有多组数据) 第一行$T$为数据组数,每组数据的第一行为$n,k$,接下来$n(n=5$时,显然每个位置的最大值一
阅读全文
摘要:一道树形DP $Translate$ 有一颗$n$个节点的树 第$i$个节点权值为$a_i$ $(nv)$的v节点序号。 $Solution$ 很明显我们可以在$DFS$遍历树的时候记录子树和这个节点的权值和,我们要要将这个树分成三部分,每部分权值和都为$Sum/3$,所以当我们找到当前的和为$Su
阅读全文
摘要:题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序。 已知整个地下超市的所有通道呈一棵树的形状;某些通道之间可以互相望见。总经理要求所有通道的每个端点(树的顶点)都要有人全天候看守,在不同的通道端点安排保安所需的费
阅读全文
摘要:依旧是状态压缩DP(什么叫依旧是,这不是第一道吗) 题目大意 有N*M个方格,每个方格是平原(“P”)或者山地(“H”),如果是平原则可以布置炮兵 每个炮兵的攻击范围是向上向下两格,向左向右两格,以及自己共5格,在攻击范围内不能再布置炮兵,问最多布置多少炮兵 输入输出格式 输入格式: 第一行包含两个
阅读全文

浙公网安备 33010602011771号