求关于 x
同余方程 的最小正整数解。
Link-Cut Tree 学习笔记
Link-Cut Tree 是一种用来维护动态森林连通性的数据结构,适用于动态树问题。它采用类似树链剖分的轻重边路径剖分,把树边分为实边和虚边,并用 Splay 来维护每一条实路径。Link-Cut Tree 的基本操作复杂度为均摊 ,但常数因子较大,一般效率会低于树链剖分。
「BZOJ 1251」序列终结者 - Splay
给定一个长度为 N
的序列,每个序列的元素是一个整数。要支持以下三种操作:
- 将
[L,R]
这个区间内的所有数加上V
。 - 将
[L,R]
这个区间翻转,比如1 2 3 4
变成4 3 2 1
。 - 求
[L,R]
这个区间中的最大值。最开始所有元素都是0
。
「NOIP2006」金明的预算方案 - 背包 DP + 树形 DP
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的。
如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。金明想买的东西很多,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是10元的整数倍)。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。
「BZOJ 2442」修剪草坪 - 线性 DP + 单调队列
FJ 有 N
()只排成一排的奶牛,编号为 1
到 N
。每只奶牛的效率是不同的,奶牛 i
的效率为()。
靠近的奶牛们很熟悉,因此,如果 FJ 安排超过 K
只连续的奶牛,那么,这些奶牛就会罢工去开派对。因此,现在 FJ 需要你的帮助,计算 FJ 可以得到的最大效率,并且该方案中没有连续的超过 K
只奶牛。
「CodeVS 3269」混合背包 - 背包 DP + 单调队列
背包体积为 V
(<= 200,000),给出 N
(<= 200)个物品,每个物品占用体积为 Vi
,价值为 Wi
,每个物品要么至多取 1
件,要么至多取 Mi
(> 1
)件,要么数量无限,求装入背包内物品总价值的最大值。
「NOIP2003」数字游戏 - 划分 DP
在你面前有一圈整数(一共 n
(≤ 50)个),你要按顺序将其分为 m
(≤ 9)个部分,各部分内的数字相加,相加所得的 m
个结果对 10 取模后再相乘,最终得到一个数 k
。游戏的要求是使你所得的 k
最大或者最小。