摘要:
说明&Update 标有 远古博文 的不保证质量。 动态规划方向 说明: 目前大部分例题都堆在题单里,在算法介绍的文章里只有少量例题(甚至只有板子题),之后可能会考虑往每个专题的文章里添加更多例题或者为每个题单列一个简要目录(列出每题涉及的知识点)。 动态规划基本类型 待开坑。 DP优化 高维前缀和 阅读全文
摘要:
本人太菜,实在不会 T3,所以只有 T1,T2 的题解。 注:考场上只做出来了 Day1 T1,其他题参考了其他人的题解。 Day1 T1 电池检测 题面 有 个有电的电池和 个没电的电池,每次只能选择两个电池放进手电筒,只有这两个电池全有电才能让手电筒启动。问最坏情况下最少 阅读全文
摘要:
长链剖分 在长链剖分中重儿子的定义为:子树深度最大的儿子。 其余就和重剖一样了。 下面是核心代码: void dfs(int u){ mxdep[u]=0; //子树内最大深度 for(int i=head[u];i;i=Next[i]){ int v=to[i]; if(v==fa[u]) con 阅读全文
摘要:
61.[CEOI2020] 星际迷航 来自 动态规划题单。 当 时,我们思考怎么求出舰长是否必胜: 因为我们只能从 出发,所以如果我们以 为根,我们肯定只能一直往下走。 所以可以树形 DP,设 表示 点是否为先手必胜点 (下面简称为 阅读全文
摘要:
P6326 Shopping 题意等价于要买一个连通块。 首先如果我们能求出一个 dp 数组: 表示 子树内,有 元,一定要选 ,能得到的最大价值。 那么 就是一定选根的答案。 然后点分治即可。 接下来就是怎么在合理的 阅读全文
摘要:
第一个题单编辑到后面实在是太卡了,就新开了一个,以后应该也会 题为一个题单。 31.CF1580D Subsequence CF1580D Subsequence 不会笛卡尔树,但是看到题解区的妙妙解法...... 题目的式子非常大便,我们考虑把它翻译成人话: 一个子序列的价值为: \ 阅读全文
摘要:
1.CF1620F Bipartite Array CF1620F Bipartite Array 题意等价于:要把这些点分成两部分,每一部分之间都没有边相连,等价于把这个序列中分成两个上升子序列。 在DP时肯定要记录两个序列的末尾,但发现其中一个序列的末尾肯定是 或者 \(-a[ 阅读全文
摘要:
可能更好的阅读体验 适用场景 动态 dp 主要用来处理动态修改点权/边权,的树形dp题 或者 区间序列上的带修改的dp。 其核心都是把 dp 变成矩乘的形式,这样修改只需要更改某个矩阵,再用线段树等数据结构维护。 以板子题为例进行讲解。 【模板】"动态 DP"&动态树分治 这道题是简单版。 简单版的 阅读全文
摘要:
在看 wqs 二分前建议先去看另一篇博客——斜率优化,对凸包等知识点有所了解。 介绍 wqs 二分最初由王钦石在他的 2012 年国家集训队论文中提出,也叫"带权二分",或者"dp凸优化",而从 IOI 2016 的 Aliens 题目开始,这种方法开始逐步在竞赛圈中有了一定的地位。在国内我们一般称 阅读全文