- 博客(19)
- 收藏
- 关注
原创 【最大子矩形】(悬线法,极大化思想)解析
【最大子矩形】(悬线法,极大化思想)解析 最大子矩形问题:在一个给定的矩形网格中有一些障碍点,要找出网格内部不包含任何障碍点,且边界与坐标轴平行的最大子矩形。定义有效子矩形为内部不包含任何障碍点且边界与坐标轴平行的子矩形。如图所示,第一个是有效子矩形(尽管边界上有障碍点),第二个不是有效子矩形(因为内部含有障碍点)。极大有效子矩形:一个有效子矩形,如果不存在包含它且比它大的有效子矩形,就称这个有效子矩形为极大有效子矩形。
2023-08-18 20:25:53
622
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
407
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
296
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
279
原创 【最小生成树】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
169
原创 【图论 & 迪杰斯特拉】Dijkstra(单源最短路径)
迪杰斯特拉算法 ( Dijkstra )是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。Dijkstra 算法一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。来源于。
2023-08-04 19:12:03
307
2
原创 【动态规划 & 树形dp】Tree DP ~~~详解
树形动态规划 (Tree DP) 是一种常用的动态规划技巧,跟普通的线性动态规划不同,此算法将DP建立在树状结构或图的基础上,是一种 DP 的思想。以下是树形 DP①、定义状态:根据问题的特点,定义每个节点需要保存的状态。可以是最大值、最小值、累加和、路径长度等等。②、设计转移方程:根据问题的要求,定义每个节点状态之间的转移关系。这个转移关系通常由树的拓扑结构决定,先在每个节点处定义状态,再利用已经计算出的节点状态来计算当前节点的状态。③、遍历计算:使用深度优先搜索 (DFS)或广度优先搜索(BFS遍历。
2023-07-29 22:21:13
655
原创 【动态规划】穿越通道(exit)题解
【动态规划】穿越通道(exit)---题解-- 有个helihui建造的通道,这个通道比较奇怪,我们把通道看成**平面**的,里面全是数字,走的时候只能**一格一格**的走,走的方向只能**往下或往右**,并且**不能走出边界**。从入口进来,每个格子代表**通过这个格子的时间**。Helihui规定**最左上角是通道入口**, **最右下角是通道出**口,现在要求你判断**从入口到出口的所有路径中总时间最小的那条路径**。并输出**通过该条路径的总时间**,上面的红色箭头是表示这样走可以得到最小的总时间。
2023-07-26 19:52:06
357
1
原创 【最近公共祖先】 LCA 详解(倍增,trajan算法)
在一棵二叉搜索树中,任意两个结点的最近公共祖先,是指以这两个结点为后代的深度最大的那个结点。需要通过比较两个结点的值,来判断它们在二叉搜索树中的位置关系。如果两个结点的值都小于当前结点的值,那么它们一定在当前结点的左子树中;如果两个结点的值都大于当前结点的值,那么它们一定在当前结点的右子树中;如果一个结点的值小于当前结点的值,另一个结点的值大于当前结点的值,那么当前结点就是它们的最近公共祖先。如果两个结点中有一个等于当前结点,那么当前结点也是它们的最近公共祖先。对于有根树TTT的两个结点uv。
2023-07-20 11:22:45
413
原创 数据结构【字典树】 Trie Tree 【蒟蒻必看 略解】
TrieTrieTrie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。转载自百度 字典树蒟蒻自我总结,可以忽略一、查询字符串是否出现过。二、寻找该字符串的公共前缀。三、用于进行 xor(异或)运算。这是一种时间效率上比较高的树形结构。
2023-07-18 07:12:31
253
1
原创 银河英雄传说[NOI2002] (并查集) ~~蒟蒻~~
合并指令为 M i j,含义为第 i 号战舰所在的整个战舰队列,作为一个整体(头在前尾在后)接至第 j 号战舰所在的战舰队列的尾部。该指令意思是,询问电脑,杨威利的第 ii 号战舰与第 j 号战舰当前是否在同一列中,如果在同一列中,那么它们之间布置有多少战舰。如果是莱因哈特发布的询问指令,你的程序要输出一行,仅包含一个整数,表示在同一列上,第 i 号战舰与第 j 号战舰之间布置的战舰数目。该指令是莱因哈特窃听到的杨威利发布的舰队调动指令,并且保证第 i 号战舰与第 j 号战舰不在同一列。
2023-07-12 09:30:00
416
1
原创 STL之常用容器——动态数组vector(详细解析)整理
1.vector 是 c++标准库 提供的一个变长数组类型,属于容器,它可以像数组一样进行数据的存储和访问。2. vector 会根据需要自动扩展其自身的容量来容纳更多的数据。3. vector 的内部存储结构和数组一样,使用的是一段连续的存储空间。4. 头文件 #include< vector >访问 vector 中的元素一般有两种方式。1 . 第一种是通过“下标”访问。2.第二种方式是通过“迭代器”访问。
2022-11-29 17:49:24
919
原创 【概率/数学】进球数 详细题解
进球数--概率/数学 中超继续进行,广州恒大和北京国安马上开赛了,比赛持续90分钟,为了分析方便,我们把5分钟作为一个时间片,那么**比赛会进行18个时间片**。在每一个时间片内,恒大**踢进1球**的**概率百分比都是A%**,国安**踢进1球**的**概率都是B%**。当比赛结束后,两支球队当中,***至少*****有一支球队的进球数是质数的概率是多少?**
2022-11-18 12:36:04
2134
原创 STL之集合
STL之集合 set 翻译为集合,是一个内部自动有序且不含重复元素的容器。set 最主要的作用就是自动去重并按升序排序,因此遇到需要去重但是又不方便直接开数组的情况。set 中的元素是唯一的,其内部采用“红黑树”实现。
2022-10-23 16:46:06
441
原创 CCF-CSP2020CSP-S2真题
CCF-CSP2020CSP-S2真题(C++)提供给大家的历年NOIP真题。可供大家参考。谢谢大家的大力支持!
2022-10-22 21:42:56
299
原创 电脑插上U盘后扫描不到U盘的原因和解决方法
在我们将U盘插入电脑时,电脑立马就会检测到U盘,并且自动分配盘符,然而有时我们插入U盘时,在电脑中并没有显示怎么办呢。右键计算机,打开管理,找到磁盘管理,右键点击这个可移动磁盘,选择更改驱动器号和路径,然后添加一个盘符就可以了。1.一种是磁盘驱动器驱动异常,在计算机管理里边找到设备管理,点击磁盘驱动器,查看当前的磁盘驱动是不是正常,如果有一个感叹号,那么表示,当前磁盘的驱动器未正常运行,右键点击该U盘,卸载后可以使用其他工具重新安装下驱动。这种情况就需要使用U盘短接的方式使用U盘量产工具修复U盘。
2022-10-16 17:02:34
7938
3
原创 STL之队列queue
STL之队列queue 一、队列的介绍队列是一种操作(或者说运算)受到限制的特殊线性表。其插入操作限定在表的一端进行,称为“入队”;其删除操作则限定在表的另一端进行,称为“出队”。插入一端称为队尾(rear);删除一端称为队头(front)
2022-10-16 15:36:33
626
原创 STL之动态数组知识点整理(旧版)
STL之动态数组一、标准模板库二、STL之向量——vector三、vector的优缺点四、vector的声明和初始化五、vector的常用函数六、 vector 的访问七、配合迭代器使用的函数
2022-10-16 14:50:14
521
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人