摘要: 翻转并乘二后的最小极差(二分答案 + 分类讨论) 在写到这道题的时候,二分思维其实已经有进步了,但是问题还是出现在二分检查的过程中,编程细节中的处理,要多写多见多悟 一、题目描述 给定一个长度为 n 的正整数数组 a。 你可以进行至多一次操作:选择一个区间 [l, r],将该区间翻转,并且区间内的所 阅读全文
posted @ 2026-11-12 11:55 leaderling 阅读(4) 评论(0) 推荐(0)
摘要: RGB 三元组求和(线段树 + 分治合并) 一、题目描述 给定一个长度为 N 的非负整数序列 A,以及一个由 R, G, B 组成的字符串 S。 需要处理 Q 次操作: 1 i x:将 A[i] 修改为 x。 2 l r:查询在区间 [l, r] 中,所有满足 l <= i < j < k <= r 阅读全文
posted @ 2026-11-03 11:52 leaderling 阅读(7) 评论(0) 推荐(0)
摘要: Dijkstra 算法 后续可能会有更新…… 一、算法文字说明(笔记整理) 普通堆实现的 Dijkstra 算法,时间复杂度 O(m * log m),m 为边数。 distance[i] 表示从源点到 i 点的最短距离,visited[i] 表示 i 节点是否从小根堆弹出过。 准备好小根堆,小根堆 阅读全文
posted @ 2026-10-27 11:36 leaderling 阅读(7) 评论(0) 推荐(0)
摘要: 线段树模板:区间加法与区间最小值(Lazy Segment Tree) 一、题目描述 给定一个长度为 N 的非负整数序列 A。处理 Q 次查询,查询有以下两种类型: 1 l r x:把区间 [l, r] 内的所有数加上 x 2 l r:输出区间 [l, r] 内的最小值 对应题目:AtCoder L 阅读全文
posted @ 2026-10-27 11:35 leaderling 阅读(9) 评论(0) 推荐(0)
摘要: 不太整齐的队伍(查找区间mex 双指针 / 线段树) 一、题目描述 给定一个长度为 n 的非负整数数组 a。 对于一个连续区间 [l, r],记 S 为区间内出现过的标签集合,mex(S) 表示不属于 S 的最小非负整数。 求满足 mex(S) <= K 的连续区间的最大长度。 对应题目:牛客网 不 阅读全文
posted @ 2026-10-20 22:56 leaderling 阅读(12) 评论(0) 推荐(0)
摘要: 上帝造题的七分钟(线段树 + 区间开方 + 势能分析剪枝) 一、题目描述 维护一个正整数数列,支持两种操作: 0 l r:把区间 [l, r] 中的每个数开平方(下取整) 1 l r:询问区间 [l, r] 的和 注意:输入中可能出现 l > r,此时要交换 l 和 r。 对应题目:洛谷 P4145 阅读全文
posted @ 2026-10-14 23:23 leaderling 阅读(6) 评论(0) 推荐(1)
摘要: 宾馆房间(线段树 + 最长连续空房) 一、题目描述 有 n 个房间(编号 1 ~ n),初始全为空。 维护两种操作: 操作 1(查询入住):1 x 在 1 ~ n 中找长度为 x 的连续空房 找到后,在这 x 个空房中住人 输出这段连续空房的最左端房间号 如果找不到,输出 0 操作 2(退房):2 阅读全文
posted @ 2026-10-14 19:43 leaderling 阅读(10) 评论(0) 推荐(0)
摘要: Alice 的花瓶(线段树 + 二分) 本文用于整理 ACM 博弈论相关知识点与题目,方便自己和队友查阅。 持续更新中…… 一、题目描述 有 N 个花瓶,编号 0 ~ N-1。Alice 有两种操作: 操作 1(放花):1 A F 从花瓶 A 开始,依次尝试 A, A+1, ..., N-1 遇到空 阅读全文
posted @ 2026-10-14 16:10 leaderling 阅读(7) 评论(0) 推荐(0)
摘要: 掉落的方块(离散化 + 线段树) 一、题目描述 在二维平面的 x 轴上放置一些方块,每个方块用一个 [left, sideLength] 表示: 左侧边与 x 轴上坐标 left 对齐 边长为 sideLength 每个方块从比目前所有方块都高的位置沿 y 轴下落,直到: 落到另一个方块的顶边,或 阅读全文
posted @ 2026-10-13 10:37 leaderling 阅读(23) 评论(0) 推荐(0)
摘要: 归并分治 本文用于整理 ACM 博弈论相关知识点与题目,方便自己和队友查阅。 持续更新中…… 一、什么是归并分治 归并分治是分治思想最典型的应用之一,核心流程是: 分(Divide):把序列从中间切成两半 治(Conquer):递归处理左半和右半 合(Merge):把两个有序子序列合并成一个有序序列 阅读全文
posted @ 2026-10-10 11:34 leaderling 阅读(8) 评论(0) 推荐(0)