摘要:
2025.2.27 比较不尽人意的一天 模拟赛开赛后先看了所有题,T2题意描述的不清楚(其实也是自己露看了条件)导致题目没有理解,这时候已经有点急了,然后再来看了T3,一看是计数dp,直接就慌了,其实不应该慌的, 阅读全文
摘要:
treap 首先每个点有键值和优先级 键值为节点本身的权值,优先级为每个节加入时所赋予的随机权值 对于树上一个节点左儿子的键值小于本节点的键值小于右节点的键值,对于键值来说是一颗二叉查找树 对于优先级来说一个节点的优先级要大于它的两个儿子的优先级,本质上是一个大根堆,用随机权值赋值是用来使深度接近l 阅读全文
摘要:
扫描线 P5490【模板】扫描线 & 矩形面积并 (并非板子题 有人说它是板子题,但我认为它比二维数点复杂多了 首先考虑最暴力的暴力,我们暴力用矩形覆盖每一个点,然后再统计哪些点被覆盖了 然后我们采用二维数点的思想,对 \(x\) 一维进行从小到大模拟,这样对于 \(y\) 轴就是一个序列,当 \( 阅读全文
摘要:
最大流 基本概念 原点s,汇点t,流量,容量 最大流问题原型:水渠问题,有一些水渠,由很多阀门连接,阀门控制水的流速,水渠内水单向流动,给定起点和终点,求最大流速 容量:每条边最大流速 流量:每条边水的流速 最大流:从s到t的最大流量 增广路:一条从s到t的可行路径 原理 每次找到一条增广路后就将整 阅读全文
摘要:
一本通题解 T2: 再也不想碰这道题了。。。写了一下午。 我们先设状态 \(dp[i][j]\) 表示前i个刷匠,考虑了前 \(j\) 个木板后所获得的最大价值(\(j\) 个木板可以有空余)。 然后枚举前 \(i\) 个刷匠,枚举每一条木板。 对于一条木板可以此刷匠根本不刷,或不刷当前木板,状转方 阅读全文
摘要:
状压dp 应用背景以集合为状态,集合一般可以用二进制表示,用二进制的位运算处理 集合问题一般是指数复杂度的,例如:1.子集问题,设n个元素没有先后关系,那么一共有 \(2^n\) 个子集;2.排列问题,对所有n个元素进行全排列,共有 \(n!\) 个排列 状态压缩:主要就是dp的一种状态,与dp转移 阅读全文
摘要:
树形dp 树上做dp非常常见,因为树本身有子结构性质(树和子树) 一般解题思路:先把树转化为有根树(如果不连通的树,就加一个虚拟根,它连接所有孤立的树),然后在做dfs,递归到叶子节点,再一层层返回信息,就在这一步做dfs P2015 二叉苹果树 定义状态 \(dp[u][j]\) 表示以节点u为根 阅读全文
摘要:
数位dp T3: 应该先从这道题入手数位dp,首先理解数位dp,dp了什么东西 它是把一个数从低位拆到高位,相当于是较低位的方案数是较高位的子问题 个人认为数位dp写记忆化搜索更容易理解一点 看这道题,首先我们让我们分别求 \(0~9\) 在 \(l~r\) 出现的次数,我们先把 \(0~9\) 分 阅读全文
摘要:
区间dp 先在小区间上进行dp得到最优解,然后再合并小区间的最优解求得大区间的最优解,解题时,先解决小区间的问题,再将小区间合并为大区间,合并操作一般是将两个相邻区间合并 注:合并顺序从小区间到大区间,因该先从小到大枚举区间的长度,递推出j在哪里 一本通题解 T3: 2025.1.23补档: 我之前 阅读全文