- 博客(1876)
- 资源 (86)
- 收藏
- 关注

原创 【动态规划】B4336 [中山市赛 2023] 永别|普及+
你做了一个梦,梦里有一个字符串,这个字符串无论正着读还是倒着读都是一样的,例如:$\tt abcba$ 就符合这个条件。但是你醒来时不记得梦中的字符串是什么,只记得它是另一个字符串 $S$ 的子序列,你想知道梦中字符串最长是多少。提示:字符串 $A$ 是字符串 $B$ 的子序列当且仅当从 $B$ 中删除若干个字符(可以不删)后可以变成 $A$。例如:$\tt acd$ 是 $\tt achda$ 的子序列,因为从 $\tt achda$ 中删去第 $3$ 个和第 $5$ 个字符后就是 $\tt ac
2025-06-09 08:28:23
1093
45

原创 【分治法 容斥原理 矩阵快速幂】P6692 出生点|普及+
这款游戏的地图可以抽象成一张有 $n$ 行 $m$ 列的网格图,网格图上有 $k$ 个障碍点,相邻两点间边长为 $1$。游戏开始时~~小 L~~、小 W 和小 H 会**各自**随机出生在一个点。当然,他们**不会出生在障碍点**。~~经常开局死的~~小 L 看着小 W 和小 H 每次在地图上汇合时经过的路径,很想知道他们每次出生后两个人之间的期望距离。(这里的距离指两点间[曼哈顿距离](https://www.luogu.com.cn/blog/xuxing/Distance-Algorithm),即
2025-06-06 07:00:00
1617
54

原创 【图论 拓扑排序 贪心 临项交换】P5603 小 C 与桌游 题解|普及+
这个桌游的地图可以被抽象成一个 $n$ 个点,$m$ 条边的**有向无环图**(**不保证连通**),小 C 在这个地图上行走,小 C 能走到某个点当且仅当能够到达这个点的所有点都已经被小 C 走到。小 C 会走到每个点恰好 $1$ 次,并且他能走到哪些点与他当前所在的点没有关系(即可以走到与当前所在的点没有连边的点,只要满足之前的条件)。小 C 每走到一个标号比之前走到的点都大的点,他就会有 $\frac{1}{2}$ 的概率从对手那里拿到 $1$ 块筹码,有 $\frac{1}{2}$ 的概率给对手
2025-06-02 07:00:00
1882
70

原创 【博客之星2024】何志丹盘点2024及徬徨2025
2024年发布博文728篇,基本上每天都2篇;目前有6篇博文处于待发布状态;这些天比较忙,所以草稿箱的博文急剧减少,只有182篇。几乎全部是原创,全部是自己刷题(力扣、洛谷)的题解。起初,只能先做题,做完题后,总结;现在水平略有提高,先写题解,再编码,提交通过后,再更新题解。
2025-01-23 07:00:00
5085
163
原创 【中位数贪心】 P11854 [CSP-J2022 山东] 宴会|普及+
今人不见古时月,今月曾经照古人。梦回长安,大唐风华,十里长安花,一日看尽。唐长安城是当时世界上规模最大、建筑最宏伟、规划布局最为规范化的一座都城。其营建制度规划布局的特点是规模空前、创设皇城、三城层环、六坡利用、布局对称、街衢宽阔、坊里齐整、形制划一、渠水纵横、绿荫蔽城、郊环祀坛。而所谓的十里长安街,位于长安城的中轴线上,即唐长安城的朱雀大街,又称承天门大街。唐朝官员们住在各个“坊”里,上朝下朝都需要通过朱雀大街。为了保持各大家族的联系和友谊,各官员往往会每月办一次宴会。为了方便描述,我们把朱雀大
2025-06-10 07:00:00
497
原创 【图论 博弈论】P9725 [EC Final 2022] Chase Game 2|普及+
庞教授和寿教授喜欢玩追逐游戏。游戏地图由 $n$ 个房间和 $n-1$ 条双向通道组成。游戏地图是连通的。这意味着地图形成一棵树。一开始,庞教授在房间 $u$,而寿教授在房间 $v$($u\neq v$)。庞教授和寿教授轮流玩游戏,寿教授先开始。在自己的回合中,玩家知道自己所在的位置和另一个玩家的位置,可以决定留在当前房间或者移动到与当前房间直接通过通道相连的另一个房间。当庞教授和寿教授在同一个房间时,寿教授被庞教授抓住。庞教授和寿教授足够聪明。庞教授希望在有限的回合内抓住寿教授。寿教授不希望在
2025-06-10 07:00:00
368
1
原创 【动态规划 数论】P9759 [COCI 2022/2023 #3] Bomboni|普及+
Iva 是一个狂热的糖果迷!在她面前是一块填满糖果和障碍的 $n\times n$ 的土地。Iva 目前在左上角。通过向右或向下移动,她要前往右下角。Iva 目前所在的格子没有障碍。在每个格子中写了一个数字表示此地为糖果或障碍。Iva 会吃掉所有经过的糖果(包括起点和终点的糖果)并且将糖果对应的数字相乘。Iva 知道她自己最喜欢的数字是 $k$,所以她希望这个乘积结果能被 $k$ 整除。她想知道一共有多少条这样的路径。由于答案可能很大,她只想知道答案模 $998244353$ 的结果。
2025-06-09 08:26:52
805
原创 【强连通分量 缩点】P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G|普及+
题目背景本题测试数据已修复。## 题目描述每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果 $A$ 喜欢 $B$,$B$ 喜欢 $C$,那么 $A$ 也喜欢 $C$。牛栏里共有 $N$ 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以当明星。## 输入格式第一行:两个用空格分开的整数:$N$ 和 $M$。接下来 $M$ 行:每行两个用空格分开的整数:$A$ 和 $B$,
2025-06-08 17:00:00
778
1
原创 【强连通分量 缩点 拓扑排序】P3387 【模板】缩点|普及+
给定一个 �n 个点 �m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。输入格式第一行两个正整数 �,�n,m。第二行 �n 个整数,其中第 �i 个数 ��a i 表示点 �i 的点权。第三至 �+2m+2 行,每行两个整数 �,�u,v,表示一条 �→�u→v 的有向边。输出格式共一行,最大的点权之
2025-06-08 07:00:00
1585
1
原创 【强连通分量 缩点 最长路 拓扑排序】P2656 采蘑菇|普及+
小胖和 ZYR 要去 ESQMS 森林采蘑菇。ESQMS 森林间有 $N$ 个小树丛,$M$ 条小径,每条小径都是单向的,连接两个小树丛,上面都有一定数量的蘑菇。小胖和 ZYR 经过某条小径一次,可以采走这条路上所有的蘑菇。由于 ESQMS 森林是一片神奇的沃土,所以一条路上的蘑菇被采过后,又会长出一些新的蘑菇,数量为原来蘑菇的数量乘上这条路的“恢复系数”,再下取整。比如,一条路上有 $4$ 个蘑菇,这条路的“恢复系数”为 $0.7$,则第一~四次经过这条路径所能采到的蘑菇数量分别为 $4,2,1,
2025-06-07 17:00:00
584
1
原创 【强连通分量 拓扑序 分层图】 P4645 [COCI 2006/2007 #3] BICIKLI|普及+
题目背景一场自行车比赛将要在一个遥远的地方上举行。## 题目描述这个地方有 $n$ 个城镇,从 $1\sim n$ 编号,其中有 $m$ 条**单向**道路连接它们。比赛将在 $1$ 号城镇开始并在 $2$ 号城镇结束。主办方想知道,一共有多少条不同的路线?## 输入格式输入第一行为两个整数 $n,m$,意义如题目描述所示。接下来的 $m$ 行,每行两个整数 $a,b$,描述一条从 $a$ 到 $b$ 的道路。两个城镇间可以有多条道路。
2025-06-07 07:00:00
606
原创 【图论 强连通分量】P1653 [USACO04DEC] Cow Ski Area G|普及+
约翰的表哥罗恩生活在科罗拉多州。他近来打算教他的奶牛们滑雪,但是奶牛们非常害羞,不敢在游人组织的度假胜地滑雪。没办法,他只好自己建滑雪场了。罗恩的雪场可以划分为 $W$ 列 $L$ 行 $(1\le W\le 500, 1\le L\le 500)$,每个方格有一个特定的高度 $H(0\le H\le 9999)$。奶牛可以在相邻方格间滑雪,而且不能由低到高滑。为了保证任意方格可以互通,罗恩打算造一些直达缆车。缆车很强大,可以连接任意两个方格,而且是双向的。而且同一个方格也可以造多台缆车。但是缆车的建造
2025-06-06 15:30:00
890
3
原创 【二分图 染色法 BFS】B4188 [中山市赛 2024] 参数拟合|普及+
B4188 [中山市赛 2024] 参数拟合## 题目描述在《机械设计与制作》课程中,Jimmy 制作了一款机械臂作为期末作业。在测试与改进阶段,immy 通过实验测得了他设计的机械臂的尺寸、硬度、灵活度、最大抓力等 $n$ 个参数 $A_1, A_2\dots A_n$。根据理论计算,机械臂的最佳性能参数为 $B_1, B_2\dots B_n$。为了提高机械臂的性能,拿到更高的分数,Jimmy 决定调整机械参数。由于机械臂各个部件间具有关联性,修改某个参数的同时也会影响到另一个参数。具体来说,
2025-06-05 17:00:00
2441
3
原创 【二分图】P3386 【模板】二分图最大匹配|普及+
模板】二分图最大匹配## 题目描述给定一个二分图,其左部点的个数为 $n$,右部点的个数为 $m$,边数为 $e$,求其最大匹配的边数。左部点从 $1$ 至 $n$ 编号,右部点从 $1$ 至 $m$ 编号。## 输入格式输入的第一行是三个整数,分别代表 $n$,$m$ 和 $e$。接下来 $e$ 行,每行两个整数 $u, v$,表示存在一条连接左部点 $u$ 和右部点 $v$ 的边。## 输出格式输出一行一个整数,代表二分图最大匹配的边数。
2025-06-05 07:00:00
656
原创 【二分图 图论】P9384 [THUPC 2023 决赛] 着色|普及+
给出一个 $n$ 个节点的无向完全图,你需要给每条边标上一个 $0 \sim 9$ 的数字,使得图上不存在一个三元环或五元环满足:其上所有边的数字相同。
2025-06-04 17:00:00
683
1
原创 【图论 分层图 BFS】P5663 [CSP-J2019] 加工零件|普及+
凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有 $n$ 位工人,工人们从 $1 \sim n$ 编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带。如果 $x$ 号工人想生产一个被加工到第 $L\,(L \gt 1)$ 阶段的零件,则**所有**与 $x$ 号工人有传送带**直接**相连的工人,都需要生产一个被加工到第 $L - 1$ 阶段的零件(但 $x$ 号工人自己**无需**生产第 $L - 1$ 阶段的零件)。如果 $x$
2025-06-04 07:00:00
870
原创 【分层图 最短路 迪氏堆优化最短路】B4165 [BCSP-X 2024 12 月初中组] 贸易|普及+
这个世界上一共有 $n$ 个国家,这些国家之间经常有贸易往来,于是为了方便,有 $m$ 条道路连接这些国家,每条道路连接两个国家,使得这两个国家之间可以轻松进行往来。有了这些道路之后,商人在国家之间会赚取到更多的利润,所以为了限制商人的财富,国家之间制定了一个规则。商人经过每条道路,需要上交这条路对应的过路费 $w_i$,商人从起点国家到达目的地国家时,会返还给他走的路径上的过路费最大的那条路的费用 $\max w_i$ 减去过路费最小的那条路的费用 $\min w_i$。现在,有 $k$ 个商人要
2025-06-03 17:00:00
1361
2
原创 【分层图最短路】P8724 [蓝桥杯 2020 省 AB3] 限高杆|普及+
限高杆## 题目描述某市有 $n$ 个路口,有 $m$ 段道路连接这些路口,组成了该市的公路系统。其中一段道路两端一定连接两个不同的路口。道路中间不会穿过路口。由于各种原因,在一部分道路的中间设置了一些限高杆,有限高杆的路段货车无法通过。在该市有两个重要的市场 $A$ 和 $B$,分别在路口 $1$ 和 $n$ 附近,货车从市场 $A$ 出发,首先走到路口 $1$,然后经过公路系统走到路口 $n$,才能到达市场 $B$。两个市场非常繁华,每天有很多货车往返于两个市场之间。市长发现,由于限
2025-06-03 07:00:00
767
原创 【数学 逆序对 构造】P12386 [蓝桥杯 2023 省 Python B] 混乱的数组|普及+
## 题目描述给定一个正整数 $x$,请找出一个尽可能短的仅含正整数的数组 $A$ 使得 $A$ 中恰好有 $x$ 对 $i, j$ 满足 $i < j$ 且 $A_i > A_j$。如果存在多个这样的数组,请输出字典序最小的那个。## 输入格式输入一行包含一个整数表示 $x$。## 输出格式输出两行。第一行包含一个整数 $n$,表示所求出的数组长度。第二行包含 $n$ 个整数 $A_i$,相邻整数之间使用一个空格分隔,依次表示数组中的每个数。
2025-06-02 17:00:00
830
2
原创 【拓扑排序】P6560 [SBCOI2020] 时光的流逝|普及+
这个游戏是在一个有向图(不保证无环)上进行的。每轮游戏开始前,她们先在图上选定一个起点和一个终点,并在起点处放上一枚棋子。然后两人轮流移动棋子,每次可以将棋子按照有向图的方向移动至相邻的点。如果谁先将棋子移动至终点,那么谁就胜利了。同样,如果谁无法移动了,那么谁就失败了。两人轮流操作,请问,他们是否有必胜策略呢? 答案为一个整数 `0` 或 `1` 或 `-1`,其中 `1` 表示(先手)有必胜策略,`-1` 表示后手有必胜策略,`0` 表示两人均无必胜策略。
2025-06-01 17:00:00
891
1
原创 【拓扑排序 高精度】P7113 [NOIP2020] 排水系统
对于一个城市来说,排水系统是极其重要的一个部分。有一天,小 C 拿到了某座城市排水系统的设计图。排水系统由 $n$ 个排水结点(它们从 $1 \sim n$ 编号)和若干个单向排水管道构成。每一个排水结点有若干个管道用于汇集其他排水结点的污水(简称为该结点的汇集管道),也有若干个管道向其他的排水结点排出污水(简称为该结点的排出管道)。排水系统的结点中有 $m$ 个污水接收口,它们的编号分别为 $1, 2, \ldots , m$,污水只能从这些接收口流入排水系统,并且这些结点没有汇集管道。排水系统
2025-06-01 08:30:15
524
原创 【拓扑排序 离散化】P9981 [USACO23DEC] Minimum Longest Trip G|普及+
Minimum Longest Trip G## 题目描述Bessie 正在奶牛大陆上旅行。奶牛大陆由从 $1$ 到 $N$ 编号的 $N$($2 \le N \le 2\cdot 10^5$)座城市和 $M$($1 \le M \le 4\cdot 10^5$)条单向道路组成。第 $i$ 条路从城市 $a_i$ 通向城市 $b_i$,标签为 $l_i$。由城市 $x_0$ 开始的长度为 $k$ 的旅程被定义为一个城市序列 $x_0,x_1,\ldots,x_k$,对于所有的 $0 \le i
2025-05-31 17:00:00
890
1
原创 【拓扑排序】P7150 [USACO20DEC] Stuck in a Rut S|普及+
Stuck in a Rut S## 题目描述Farmer John 最近扩大了他的农场,从奶牛们的角度看来这个农场相当于是无限大了!奶牛们将农场上放牧的区域想作是一个由正方形方格组成的无限大二维方阵,每个方格中均有美味的草(将每个方格看作是棋盘上的一个方格)。Farmer John 的 $N$ 头奶牛($1≤N≤1000$)初始时位于不同的方格中,一部分朝向北面,一部分朝向东面。每一小时,每头奶牛会执行以下二者之一: - 如果她当前所在的方格里的草已经被其他奶牛吃掉了,则她会停下(并从这个
2025-05-31 07:00:00
863
原创 【有向图 拓扑排序 】P8405 [COCI 2021/2022 #6] Naboj|普及+
Naboj## 题目描述Šikić 先生是一位化学老师,他正在用 $n$ 个金属球和 $m$ 根铜导线做实验。他将一些对金属球用导线相连,使这些球(直接或间接地)与其他球都相连。他想要教学生关于电荷的知识,因此他将通过按顺序给金属球充电来演示它。Šikić 先生可以让每个球带上正负电荷的一种。当一个金属球带负电荷时,与这个金属球相连的所有导线中的电子都将被排斥到与该导线相连的另一个金属球上。反过来,当一个金属球带正电荷时,与这个金属球相连的所有导线中的电子都将受这个金属球的吸引。无论导线的先前状态
2025-05-30 15:30:00
964
原创 【有向树 拓扑排序】P9386 [THUPC 2023 决赛] 大纲|普及+
大纲## 题目描述小 I、小 O 和小 N 是 ION 大纲的编写者,小 I 负责给每个知识点定难度。ION 大纲计划列入 $n$ 个知识点,其中小 I 按照自己的认识给其中部分知识点定好了难度,还有部分知识点没有定难度。知识点之间有依赖关系,这个依赖关系恰好构成了一棵以 $1$ 为根的外向树,知识点 $x$ 指向知识点 $y$ 表示 $x$ 依赖 $y$。**依赖关系不具有传递性。**你需要告诉小 I 目前确定下来的难度是否合理。我们认为确定下来的难度是合理的当且仅当存在一个给所有未确定
2025-05-30 07:00:00
1680
原创 C++并集查找
本文介绍了并查集(Union-Find)数据结构的基本概念和实现方法。主要内容包括:1) 并查集的基本操作find和union,用于处理动态连通性;2) 暴力实现方法及其时间复杂度分析;3) 两种优化策略:启发式合并(UNION BY RANK)和路径压缩(PATH COMPRESSION);4) 可撤销并查集的实现思路;5) 提供了三种封装类代码实现:普通并查集、实时更新节点的并查集、无向图并查集。文章通过数学归纳法证明了合并操作的正确性,分析了不同实现的时间复杂度,并给出了详细的C++代码实现,适合算法
2025-05-29 07:15:00
3501
61
原创 【并集查找 启发性合并】P8710 [蓝桥杯 2020 省 AB1] 网络分析|普及+
小明正在做一个网络实验。他设置了 $n$ 台电脑,称为节点,用于收发和存储数据。初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。给出小明连接和测试的过程,请计算出每个节点
2025-05-29 07:00:00
1601
1
原创 【并集查找 有向图 逆序思考】P8359 [SNOI2022] 垃圾回收|普及+
通常的情况下,编程语言在管理内存时进行如下的选择:- 让用户进行手动内存管理(C、C++、Rust 等),这会收获很好的性能,但是给用户提供了很大的编程负担。- 使用垃圾回收系统(Java、Go 等),这需要维护一个运行时系统,并且在内存使用和程序性能方面造成了许多不可预测的负担。尽管存在许多的问题,目前最通用的自动化内存管理手段始终为 Tracing Garbage Collector。这种做法的最基础的思路是维护对象间的引用关系,形成一张图,每次回收时通过扫描引用关系推导出已经无法被访问到的对
2025-05-29 07:00:00
992
原创 【并集查找】8210 [THUPC 2022 初赛] 造计算机|普及+
小R和小C听说贵系有一门造计算机的课之后吓得连夜提交了退学申请。开玩笑的啦!正处于大一的他们对这门课不但不害怕,甚至有些想笑。他们超强的动手能力甚至驱使他们想造一个玩意玩玩。当然由于他们毕竟才大一,计算机专业课基本上都没上过,经过长时间的艰苦奋战,他们终于造出了一个奇怪的玩意:这台计算机只有 $n$ 个内存单元,反而有足够多个寄存器。内存单元的编号从 $1$ 到 $n$ ,寄存器从 $n+1$ 开始往上编号。每个内存单元和寄存器可以存储一个整数。目前他们已经设计好了一类指令:`swap i,
2025-05-29 07:00:00
1399
原创 【并集查找 拓扑序】P9013 [USACO23JAN] Find and Replace S|普及+
Bessie 正在使用世界上最先进最伟大的文本编辑器:miV!她想将一个仅由大写和小写英文字母组成的字符串转换为一个新的字符串。每一次操作,miV 可以将字符串中所有的字母 $c_1$ 替换成另一种字母 $c_2$。例:对于字符串`aAbBa`, 如果将其中的 `a` 替换成 `B`, 那么字符串会变为`BAbBB`。Bessie 非常地忙碌, 所以对于给出的 $T(1 \le T \le 10)$ 组测试数据, 请输出她至少需要多少次操作才能把原字符串转换为新字符串。
2025-05-29 07:00:00
1604
原创 【最短路 并集查找】P9327 [CCC 2023 S4] Minimum Cost Roads|普及+
作为新当选的基奇纳市市长,Alanna 的首要任务是改善城市的道路规划。基奇纳当前的道路规划可以表示为 $N$ 个交叉路口和 $M$ 条道路的集合,其中第 $i$ 条道路的长度为 $l_i$ 米,每年维护费用为 $c_i$ 美元,并连接交叉路口 $u_i$ 和 $v_i$。为了制定计划,Alanna 必须选择保留和维护的 $M$ 条道路的一个子集,该计划的费用是该子集中所有道路的维护费用之和。为了降低城市的年度支出,Alanna 希望将计划的费用最小化。然而,城市还要求她最小化交叉路口之间的旅行距离
2025-05-29 07:00:00
1744
原创 【二分图 扩展域并集查找】P1525 [NOIP 2010 提高组] 关押罪犯|普及+
S 城现有两座监狱,一共关押着 $N$ 名罪犯,编号分别为 $1\sim N$。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 $c$ 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 $c$ 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 S 城 Z 市长那里。公务繁忙的 Z
2025-05-29 07:00:00
576
原创 【二分图 扩展域并集查找】P11409 西湖有雅座|普及+
孙亦谐准备建西湖雅座来开饭馆。他有 $n$ 个零件,零件的大小均为 $h\times w$。零件从 $1 \sim n$ 编号。对于一个大小为 $h \times w$ 的零件,其可视为一个 $h$ 行 $w$ 列的矩阵 $w$。若用 $a_{i,j}$ 来表示这个矩阵中第 $i$ 行第 $j$ 列的元素。对于 $\forall a_{i,j}$,都有 $a_{i,j}\in \left \{ 0,1\right } $。则编号为 $i$ 的零件的面积为: $S\left(i\right) =
2025-05-29 07:00:00
651
原创 【单调栈 双连通 并集查找】P12169 [蓝桥杯 2025 省 C/Python A/Java C] 登山|普及+
小蓝正在登山,山峰的高度构成 $n$ 行 $m$ 列的正整数矩阵,$a_{i,j}$ 表示第 $i$ 行第 $j$ 列格子 $(i,j)$ 上的山峰的高度。小蓝以一种特别的方式进行登山,如果他此刻在第 $p$ 行第 $q$ 列的格子 $(p,q)$ 上,那么下一步可以选择:1. 走到格子 $(i,q)$,满足 $a_{i,q} < a_{p,q}$ 且 $i > p$;2. 走到格子 $(i,q)$,满足 $a_{i,q} > a_{p,q}$ 且 $i < p$;3. 走到格子 $(p,j)$,满
2025-05-29 07:00:00
1521
原创 【可撤销并集查找】P12274 [蓝桥杯 2024 国 Python B] 设计|普及+
小蓝是 H 市的市长,她正在用设计软件规划 H 市的道路建设。小蓝可以选定两个地区,用一条双向道路将这两个地区连接。由于预算等因素的动态变化,小蓝经常需要拆除一些已经建设好的道路,同时,她希望知道对于当前的两个地区,是否存在一条由多条道路组成的路径能够连接这两个地区。
2025-05-29 07:00:00
624
4
原创 【并集查找 逆向思考】P8097 [USACO22JAN] Farm Updates G|普及+
Farmer John 经营着总共 $N$ 个农场($1\le N\le 10^5$),编号为 $1\ldots N$。最初,这些农场之间没有道路连接,并且每个农场都在活跃地生产牛奶。由于经济的动态性,Farmer John 需要根据 $Q$ 次更新操作($0\le Q\le 2\cdot 10^5$)对他的农场进行改造。更新操作有三种可能的形式:- `(D x)` 停用一个活跃的农场 $x$,使其不再生产牛奶。- `(A x y)` 在两个活跃的农场 $x$ 和 $y$ 之间添加一条道路。
2025-05-28 17:00:00
1243
原创 【并集查找 最小生成树】P8191 [USACO22FEB] Moo Network G|普及+
农夫约翰有 $N$ 头牛($1\le N\le10^5$) 它们在农场里分布的极其的远,因此希望你建立一个通讯网络,便于它们更容易地交换电子短信(当然,这些短信都包含 `moo` 的变形体,即数字)第 $i$ 头牛位于位置 $(x_i,y_i)$ 其中 $0\le x\le 10^6$, $0\le y\le 10$. 在牛 $i$ 与牛 $j$ 之间建立通信链路的成本是它们之间的欧几里德距离的平方,即 $(x_i-x_j)^2+(y_i-y_j)^2$请聪明的你构建一个所有奶牛都能交流的最低成本
2025-05-28 15:00:00
589
原创 【位运算 并集查找】P7973 [KSN2021] Binary Land| 普及+
给定一张 $N$ 个点的图,每个点有权值 $A_i$ 和价值 $B_i$。两个点 $x,y$ 之间存在一条无向边当且仅当 $A_x\text{ xor }A_y>\max(A_x,A_y)$。你需要对于 $i=1,2,\cdots n$ 依次求出点 $i$ 所在连通块中所有点的价值和。
2025-05-28 11:45:00
1016
原创 【并集查找】P7299 [USACO21JAN] Dance Mooves S|普及+
摘要 本文讨论了USACO竞赛题目P7299 [USACO21JAN] Dance Mooves S的解法。题目描述N头奶牛的无限循环交换位置过程,要求计算每头奶牛能到达的不同位置数量。核心解法是:通过分析交换过程形成有向图的环结构,利用并查集确定连通区域,收集各奶牛在一轮交换中经过的位置,最终统计每个连通区域内所有位置的数量。该方法高效处理大规模数据(N≤10^5,K≤2×10^5),避免了直接模拟无限循环过程。
2025-05-28 07:00:00
673
原创 【贪心 逆向思考 并集查找 数学归纳法】P7162 [COCI 2020/2021 #2] Sjekira|普及+
有一棵 $n$ 个结点的树,每个结点有一个权值,删除一条边的费用为该边连接子树中结点权值最大值之和。问以任意顺序删除树中所有边的最小花费。
2025-05-27 17:00:00
1747
喜缺全书算法册 C++实现
2023-09-17
喜缺全书之平凡的经历最新版
2023-08-18
深度优先搜索(BFS)的原理和C++实现
2023-09-28
美丽塔单调栈O(n)解法
2023-09-27
较难算法: 美丽塔 时间复杂度O(nlongn)
2023-09-24
让数组不相等的最小总代价
2023-09-23
《闻缺陷则喜》之《主册》
2022-09-10
《闻缺陷则喜》之《软件开发的那些人》 20230917
2021-08-09
二分查找旋转数组源码和视频
2023-08-20
简单的C#类 生成对应的C#类
2021-11-07
保存文件的同时删除文件,保存用时会略微升高
2021-10-11
多线程样例一 读写参数文件
2021-09-09
本博文算法对应源码单元测试用例
2024-07-05
本博客配套流程图,会经常更新
2024-04-24
搜索矩阵C++实现:二分查找Z形查找
2023-12-17
长度最短的子数组C++实现
2023-12-10
[二分查找双指针]LeetCode881: 救生艇
2023-12-03
两数之和 - 输入有序数组
2023-11-26
C++二分查找算法:132 模式
2023-11-12
C++算法:第 N 位数字原理、源码、测试用例
2023-11-05
C++二分查找算法应用:最长递增子序列 原理、源码、测试用例
2023-10-29
二分应用:峰值查找 原理、源码、测试用例
2023-10-22
C++算法:前缀和基础
2023-10-15
时间复杂度O(40n*n)的C++算法:修改图中的边权
2023-10-14
多源最短路径的原理及C++实现
2023-10-04
堆优化迪氏最短单源路径原理及C++实现
2023-10-03
.有向图计数优化版原理及C++实现
2023-10-02
有向图访问计数的原理及C++实现
2023-10-01
朴素迪氏最短单源路径的原理及C++源码及测试用例
2023-09-30
01BFS最短距离原理和C++实现
2023-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人