随笔分类 -  DP

摘要:AC通道 非常好的 $ dp$ 题, 在复健运动中居然没想出来这么 $dp$。值得记录。详情看代码 #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long template <class 阅读全文
posted @ 2022-09-20 23:55 雪之下,树之旁 阅读(26) 评论(0) 推荐(0)
摘要:二分 + \(dp\) 的好题。 首先,要求最大直径最小,我们肯定会想到二分最大直径。 难点就在于怎么 \(check\)。由于正确性过于显然,二分可行性证明就略了吧。 记录数组 \(dp_u\) 表示在 \(u\) 号点,其子树中所有点到达 \(u\) 号点的最大链长。转移时,考虑其和子树之间的关 阅读全文
posted @ 2020-12-02 17:26 雪之下,树之旁 阅读(143) 评论(0) 推荐(0)
摘要:身为两个死对头,这题很好地将贪心和 \(dp\) 结合了起来。 首先考虑一下买一个东西对之后所有东西的影响。不难发现,当我们所买的东西相同的时候,肯定是先买影响最小物品最划算。所以我们要 排序。 现在,我们就把问题转化为了: 如何买一堆物品,每个物品有一个价值,且价值取决于之后所购买的物品的数量,使 阅读全文
posted @ 2020-12-01 10:16 雪之下,树之旁 阅读(108) 评论(0) 推荐(0)
摘要:前提 看懂这篇题解,您需要: 1、线段树基本操作 2、不错的$dp$能力 3、$STL$ 入门函数 题目分析 首先,题目中的关键点就是这个式子: $abs(x_i-x_j) \ge$ $w_i+w_j$。 如果分别比较两个点间的距离和权值和,感觉是不可避免的$O(N^2)$枚举了(不排除是我太蒟了) 阅读全文
posted @ 2020-08-27 15:59 雪之下,树之旁 阅读(300) 评论(0) 推荐(0)
摘要:洛谷AC通道! 一看题目,肯定就是状态压缩的题目。 设$f_{i,k}$表示: 在第$i$行的时候,二进制状态$k$下的方案数量。 首先,我们要保证一个状态下在自己那一行是合法的,那么用$g_i$记录状态$i$是否合法。 继续,我们还要保证上下两行不能有相邻的边,即$(j$ & $k) == 0$, 阅读全文
posted @ 2020-08-12 22:10 雪之下,树之旁 阅读(152) 评论(0) 推荐(0)
摘要:T1: 序章-弗兰德的秘密 洛谷AC通道! 首先熟悉一下同构的定义: 1、两棵树节点个数相等。 2、两棵树的以根节点的儿子为根子树对应同构。如下图,为两 棵同构的有根树。 看复杂度,我们一般会想到用$O(N^2)$的算法吧。 那么,考虑树形DP。 设 $f_{i,j}$表示两棵树分别以$i, j$为 阅读全文
posted @ 2020-07-24 19:13 雪之下,树之旁 阅读(155) 评论(0) 推荐(0)
摘要:洛谷AC通道! 题目让我们求最小染色数量,很容易想到dp。 设 $f_{i, 1/0}$ 表示第i个点染黑、白的最小数量, 初始值均为1(自己一条路)。如果这个点为叶子节点,即已经规定了第一个染色点,那么相反颜色的f因设为inf(不能选择它)。 那么,如何选根? 看下图(转载的hhh),无论我们选择 阅读全文
posted @ 2020-07-21 18:12 雪之下,树之旁 阅读(182) 评论(0) 推荐(0)
摘要:方格取数 传纸条 两道题其实都差不多(DP方程都一样), 所以讲限制条件稍微多一点的传纸条。 首先,对题目进行翻译,我们完全可以把所谓来回,看做两次只能往右往下的完全不重复路线。 我们设 $f_{i,j,k,l}$ 表示第一次走到点 $(i , j)$ ,第二次走到点 $(k, l)$ 的最大和。 阅读全文
posted @ 2020-07-10 14:33 雪之下,树之旁 阅读(154) 评论(0) 推荐(0)
摘要:一道很好的DP入门题,~~适合像我这种学了大半年却还不会DP的人。~~ 首先,题目要求我们将书本按照高度排序,在这里我们可以用结构体实现。 其次才是重点,推DP方程。 题目中说抽走K本书,我们不妨转换一下: 从n本书中留下(n - k)本。 然后,寻找每本书之间的关系: 对于第一本书,如果留下,花费 阅读全文
posted @ 2020-07-10 13:40 雪之下,树之旁 阅读(175) 评论(0) 推荐(0)
摘要:洛谷题目传送门!! 题目的N这么小,当然是选择用状压DP啦! 等等,我好像不会状缩。。。。 首先,我们当然是要写状态转移方程了!! 那么,如果我们设 f[s] 状态s下,所要的最小花费,那么很显然有状态转移方程: (s为总集合) f[(1 << j) | s] = f[s] + num[i] * d 阅读全文
posted @ 2020-05-29 14:45 雪之下,树之旁 阅读(188) 评论(0) 推荐(0)
摘要:luogu传送门 题目描述: 某大学有n个职员,编号为1~n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ri​,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯 阅读全文
posted @ 2020-05-22 20:45 雪之下,树之旁 阅读(209) 评论(0) 推荐(0)
摘要:luogu AC通道! (官方数据) 题目描述 小智家里来了很多的朋友,总共有N个人,站成一排,分别编号为0到N-1,小智要给他们分糖果。但 是有的朋友有一些特殊的要求,有的人要求他左右的两个人(左边一个、右边一个,一共2个人)的 糖果数都比他的多,有的人要求他左右的两个人的糖果数都比他的少。同时小 阅读全文
posted @ 2020-05-15 19:26 雪之下,树之旁 阅读(415) 评论(0) 推荐(0)
摘要:luogu AC传送门(官方数据) 题目描述 小智最喜欢旅行了,这次,小智来到了一个岛屿众多的地方,有N座岛屿,编号为0到N-1,岛屿之间 由一些桥连接,可以从桥的任意一端到另一端,由于岛屿可能比较大,所以会出现一些桥连接的是同 一个岛屿,岛屿之间也可能有多座桥连接,每条桥有一个长度,小智有一个习惯 阅读全文
posted @ 2020-05-15 19:04 雪之下,树之旁 阅读(384) 评论(0) 推荐(0)
摘要:洛谷题目传送门!! 洛谷博客!! 这道题感觉是一个很另类的DP 至少我的做法是这样的。 重要前置思想:把A存成字符串!!! (应该也没人会想着存成int和long long 吧) 首先,我们定义状态f[i][j]: 当我们处理A字符串到第i个位置时,我们还差j就能使式子的和等于B。 于是,开始想手摸 阅读全文
posted @ 2020-05-04 00:24 雪之下,树之旁 阅读(211) 评论(0) 推荐(0)
摘要:AC通道! 题目大意: 给定两个长度分别为 n 和 m 的字符串 A 和 B,选取 A 中的 k 个子串,使这 k 个子串按照先后顺序连接起来后等于 B 子串。 输入输出样例 输入 #1 6 3 1 aabaab aab 输出 #1 2 输入 #2 6 3 2 abaab aab 输出 #2 7 输 阅读全文
posted @ 2020-04-24 23:27 雪之下,树之旁 阅读(122) 评论(0) 推荐(0)
摘要:luogu题目传送门! 首先,硬求可行方案数并不现实,因为不好求(去年考场就这么挂的,虽然那时候比现在更蒟)。 在硬搞可行方案数不行之后,对题目要求的目标进行转换: 可行方案数 = 总方案数 - 不合格方案数。 题目多看几眼,(求最大最小方案数量这种套路),DP无疑。 首先考虑列的限制,发现若有不合 阅读全文
posted @ 2020-04-18 19:00 雪之下,树之旁 阅读(198) 评论(0) 推荐(0)