2023年暑假刷题杂论
文章平均质量分 97
2023年暑假刷题杂论
人间@烟火
这个作者很懒,什么都没留下…
展开
-
【最大子矩形】(悬线法,极大化思想)解析
【最大子矩形】(悬线法,极大化思想)解析 最大子矩形问题:在一个给定的矩形网格中有一些障碍点,要找出网格内部不包含任何障碍点,且边界与坐标轴平行的最大子矩形。定义有效子矩形为内部不包含任何障碍点且边界与坐标轴平行的子矩形。如图所示,第一个是有效子矩形(尽管边界上有障碍点),第二个不是有效子矩形(因为内部含有障碍点)。极大有效子矩形:一个有效子矩形,如果不存在包含它且比它大的有效子矩形,就称这个有效子矩形为极大有效子矩形。原创 2023-08-18 20:25:53 · 453 阅读 · 1 评论 -
背包 CF730J Bottles 题解
源自 [洛谷 CF730J Bottles]有 $n$ 瓶水,第 $i$ 瓶水的水量为 $a_i$,容量为 $b_i$。将 $1$ 单位水从一个瓶子转移到另一个瓶子所消耗时间为 $1$ 秒,且可以进行无限次转移。求储存所有水所需最小瓶子数 $k$ 以及该情况下所用最小时间 $t$ 。每个水瓶有**两个值**,一个是**初始时水瓶中的水量** $val$ ,一个是水瓶的**容量** $v$ ,求通过**转移**,储存所有水所需**最小瓶子数** $k$ 以及**该情况**下转移所用**最小时间** $t$ 。原创 2023-08-17 15:58:27 · 319 阅读 · 1 评论 -
CF213C Relay Race【接力赛】 题解
CF213C Relay Race输入一个 $n \times n$ 的**矩形**,每个 $a_{i,j}$ 是这个位置的价值。现在要从**左上角走到右下角**再**返回**,每个价值只被计算一次,求**最大价值和**。福瑞克 (Furik) 和鲁比克 (Rubik) 参加接力赛。比赛将在一个大广场上举行,广场的一侧有 $n$ 米。给定的正方形被划分为 $n \times n$ 个单元格(表示为单位正方形),每个单元格都有一些数字。比赛开始时, Furik 站在坐标为 $(1,1)$ 的单元格中,原创 2023-08-16 21:17:09 · 225 阅读 · 1 评论 -
【图论杂题】Roads and Planes G 详细题解~~
洛谷 P3008 [USACO11JAN] Roads and Planes G Farmer John 正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到 $T$ 个城镇 ,编号为 $1$ 到 $T$ 。这些城镇之间通过 $R$ 条道路 ,编号为 $1$ 到 $R$ ) 和 $P$ 条航线,编号为 $1$ 到 $P$ ) 连接。每条道路 $i$ 或者航线 $i$ 连接城镇 $A_i$ ( $他想找到从发送中心城镇 $S$ ( $1 \le S \le T$) 把奶牛送到每个城镇的最便宜的方案原创 2023-08-09 19:45:36 · 234 阅读 · 0 评论 -
【最小生成树】MST(Kruskal算法,Prim算法)
此乃小 Oler 的一篇算法随笔,从今日后,还会进行详细的修订。在一给定的无向图GVEG=(V,E)GVE中,uv(u,v)uv代表连接顶点uuu与顶点vvv的边,而wuvw(u,v)wuv代表此边的权重,若存在TTT为EEE的子集且为无循环图,使得连通所有结点的的wTw(T)wT最小,则此TTT为GGG的最小生成树。wt∑uv∈twuvwtuv∈t∑wuv最小生成树其实是最小权重生成树的简称。原创 2023-08-07 21:43:49 · 135 阅读 · 0 评论 -
【图论 & 迪杰斯特拉】Dijkstra(单源最短路径)
迪杰斯特拉算法 ( Dijkstra )是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。Dijkstra 算法一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。来源于。原创 2023-08-04 19:12:03 · 227 阅读 · 2 评论 -
【最近公共祖先】 LCA 详解(倍增,trajan算法)
在一棵二叉搜索树中,任意两个结点的最近公共祖先,是指以这两个结点为后代的深度最大的那个结点。需要通过比较两个结点的值,来判断它们在二叉搜索树中的位置关系。如果两个结点的值都小于当前结点的值,那么它们一定在当前结点的左子树中;如果两个结点的值都大于当前结点的值,那么它们一定在当前结点的右子树中;如果一个结点的值小于当前结点的值,另一个结点的值大于当前结点的值,那么当前结点就是它们的最近公共祖先。如果两个结点中有一个等于当前结点,那么当前结点也是它们的最近公共祖先。对于有根树TTT的两个结点uv。原创 2023-07-20 11:22:45 · 368 阅读 · 0 评论 -
数据结构【字典树】 Trie Tree 【蒟蒻必看 略解】
TrieTrieTrie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。转载自百度 字典树蒟蒻自我总结,可以忽略一、查询字符串是否出现过。二、寻找该字符串的公共前缀。三、用于进行 xor(异或)运算。这是一种时间效率上比较高的树形结构。原创 2023-07-18 07:12:31 · 228 阅读 · 1 评论