11 2023 档案

摘要:我们考虑传统的区间最大子段和方法,维护最大前后缀和 ls,rs 和最大子段和 mx,这些东西直接区间加是不好维护的。但我们发现,设选择的长度是变量 x,区间加上的值为 k,这些东西都可以写成一个 kx+b 的一次函数形式,考虑维护这些一次函数。 具体的,我们在 阅读全文
posted @ 2023-11-29 21:07 Smallbasic 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一个粗略的想法是对于所有状态 (a,b,c) 之间连边,求出图之后跑最短路。 首先钦定 abc, 考虑转移有哪些情况:要么从两边到中间距离小的一个往中间跳缩小范围,要么中间往两边跳扩大范围。我们定义第一种到的状态为父亲,第二种到的状态为左右儿子,不难发现整个图是一棵二 阅读全文
posted @ 2023-11-21 20:47 Smallbasic 阅读(18) 评论(0) 推荐(0) 编辑
摘要:第一眼想到了minmax容斥可还行。。。 注意到 max 套个 min 很不好,我们考虑把 max 容斥掉,考虑: max(S)=TS(1)|T|+1min(T)注意到一个集合最小值的期望只和它的大小有关,对于一个大小为 k 的集合 阅读全文
posted @ 2023-11-21 20:38 Smallbasic 阅读(22) 评论(0) 推荐(0) 编辑
摘要:找规律害人害己。 设 f(k,x) 表示操作 k 次之后第 x 个左括号的位置,知道 f(k,x) 之后可以简单二分出答案。 首先考虑 f 的递推式,左括号的位置改变有两种情况。((->(X 和 ()->)(,对应过来就是 \(f(k+1,x)=\min(f( 阅读全文
posted @ 2023-11-08 21:07 Smallbasic 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一种常数较小的能在单次 O(logn) 时间内解决链修改链查询的数据结构。 普通的 LCT 也是 O(logn) 的,但是常数巨大。原因是它用辅助树维护了一个动态的虚实链剖分,在没有动态加边删边的问题中这显然是没有必要的。我们考虑将 LCT 强行静态化来减小长度。 具体的,我 阅读全文
posted @ 2023-11-07 20:31 Smallbasic 阅读(13) 评论(0) 推荐(0) 编辑
摘要:补一下往年的构造题。。。 k 大概是 n 的两倍往下,这启示我们每个栈最多只放两个元素。 首先考虑 k=2n2 的分,容易得到一个策略:留一个空栈不放,每个栈最多放两个。如果当前卡牌存在一个栈顶/栈底和它一样,那当前牌总是可以消掉的。否则当前栈中的卡牌一定两两不同,那一定还 阅读全文
posted @ 2023-11-07 20:10 Smallbasic 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示