摘要: 分块基础 分块思想 分块是一种思想,而不是一种数据结构。 分块的基本思想是,通过对原序列的划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 ——OI Wiki 区间修改,区间查询 预处理 将原序列分成若干段,对于每一个「块」预处理它 的和,左右端点 对于没一个元 阅读全文
posted @ 2025-08-01 15:50 wmq2012 阅读(28) 评论(0) 推荐(0)
摘要: 前言 二维状态压缩动态dp的核心在于处理行间状态依赖,通常用于网格类问题(如棋盘覆盖、放置问题等)。 核心思想 重点 1.状态设计 将当前行和前一行的状态共同编码,以处理行间约束 如何选择状态维度以覆盖所有约束条件 2.状态转移方程 通过位运算判断状态间的合法性,推导转移条件。 行间约束,确保合法; 阅读全文
posted @ 2025-08-01 14:51 wmq2012 阅读(12) 评论(0) 推荐(0)
摘要: 集合 全集:所有数字全选的情况,U表示,U=(1<<m)-1 补集:一般成为A的补集=U-A,表示为U^A 交集:两个集合共同选择的部分, A&B 并集:两个集合所有的选择,A|B 空集:一定是左右集合的子集 子集:A集合表示一种选择的情况,子集叫做B集合,A集合的子集 真子集:不包含A集合本身 A 阅读全文
posted @ 2025-08-01 14:51 wmq2012 阅读(11) 评论(0) 推荐(0)
摘要: P2015 f[u][i]表示u号节点保留j个树枝的最大苹果数,以1为根,最终答案为f[1][m]。 转移时有3种情况 1 全部转移给左儿子,因为u保留了i个树枝,那么全部转移给左儿子时,左儿子只能用i-1个树枝,也就是f[v1][i-1],因为联通根和左儿子还有一条边,答案在加上这条边上的苹果树w 阅读全文
posted @ 2025-08-01 14:50 wmq2012 阅读(12) 评论(0) 推荐(0)
摘要: 分类 选点 最大独立集:在树上选取一些点,使得点之间两两之间没有边相连,求能选取的最多点数或最大点权。 最小点覆盖:选取最少的点,使得树中的每条边都至少有一个端点被选中。可通过最大独立集的关系转化求解,因为树上的最大独立集与最小点覆盖互补。 选线 ............ 树上背包 ........ 阅读全文
posted @ 2025-08-01 14:49 wmq2012 阅读(5) 评论(0) 推荐(0)