自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 P1967 [NOIP2013 提高组] 货车运输

接下来 mm行每行3个整数x, y, z,每两个整数之间用一个空格隔开,表示从x号城市到y号城市有一条限重为z的道路。首先,题目中有很多无用的边,通过题意我们知道,要使得货车装最重的货物,那么就必须货车走的路载重要尽可能大 —— 也就是说,载重较小的路是不会被走过的。接下来 q 行,每行两个整数 x、y,之间用一个空格隔开,表示一辆货车需要从 x 城市运输货物到 y 城市,注意: x 不等于 y。求出这个,问题来了,怎么算最小边权?简单说,给你N个点,M条边的无向图,每条边有一个长度,现在有 Q个询问。

2024-02-08 09:27:04 1060

原创 P2323 [HNOI2006] 公路修建问题

最小生成数+贪心O(N)算法

2024-02-04 08:44:28 416 1

原创 P1525 [NOIP2010 提高组] 关押罪犯

每个i都有一个虚拟敌人i+n,如果i和j是敌对关系i和i+n也是敌对关系,那么i+n和j是朋友关系,同理j和i+n也是朋友关系,分别合并。接下来的M 行每行为三个正整数aj,bj,cj,表示aj 号和bj 号罪犯之间存在仇恨,其怨气值为cj。【输入输出样例说明】罪犯之间的怨气值如下面左图所示,右图所示为罪犯的分配方法,市长看到的冲突事件影响力是3512(由2 号和3 号罪犯引发)。简单说,就是有N个囚犯,他们之间会发生冲突,他们有一个怨气值,并造成影响力为 c 的冲突事件。[NOIP2010 提高组]

2024-02-03 08:41:55 574 1

原创 P1099【NOIP2007提高组】树网的核

树的直径O(N)算法,树的直径+尺取法

2024-02-01 18:11:37 1058

原创 数据结构之栈(Stack)

栈是一种操作受到了限制后进先出(LIFO)的线性表,插入删除全在一端

2023-06-16 14:50:56 140 1

原创 数据结构之队列(Queue)

队列和栈一样是一种操作受到了限制先进先出(FIFO)的线性表。

2023-06-15 12:00:38 501 1

原创 深度优先搜索(DFS)优化手册

在通过搜索解决实际问题的过程中,我们是通过穷举每种情况来寻找合法解,然而在一些情况比较复杂的题目、数据量较强的题目中,由于算法的时间复杂度较高、数据规模过大,从而会导致运行超时甚至程序卡死,因此在对复杂问题的答案进行搜索时,我们应该灵活的针对每种题型设计对应的搜索规则并进行优化,通常通过设置剪枝、排除无效情况、对问题进行适当的转化等手法对搜索算法进行优化,使算法高效的执行并得出我们想要的结果。

2023-06-15 11:48:50 833 1

原创 广度优先搜索(BFS)详解

广度优先搜索(BFS)是一种用于图形数据结构的遍历算法,它从给定的起始顶点开始,以广度优先的方式逐层搜索图中的节点,直到找到目标节点或遍历完整个图。BFS算法通常使用队列数据结构来实现,它的时间复杂度为O(V+E),其中V表示图中顶点数,E表示边数。BFS算法在求解最短路径、连通性、拓扑排序等问题中具有重要应用。广度优先搜索(Breadth First Search),简称广搜(BFS)。广搜是逐层扩展状态的搜索策略,常用于解决连通性问题和最短路问题。

2023-06-12 18:07:21 5125

原创 深度优先搜索(DFS)详解

DFS,即深度优先搜索,是一种在图或树中遍历所有节点的算法。DFS可以用于许多问题的解决,如连通性问题、寻找最短路径、生成迷宫等。如下图,就是一个用DFS遍历图的例子。

2023-06-12 12:08:11 1274

原创 对顶堆详解

我们都知道,堆是一种及其有用的数据结构,他可以在短时间内维护出区间最值,但普通的堆能起到的作用毕竟是有限的,但我们可以考虑变形,解决更多的问题,例如今天我们要讲的对顶堆。顾名思义,对顶堆是两个堆,一个大根堆,一个小根堆组成的特殊的数据结构。

2023-06-09 11:52:38 935

原创 数据结构【堆】的认识及建立

堆(Heap)是一种特殊的完全二叉树结构,其中最大堆(Max Heap)或最小堆(Min Heap)的每个节点的键值都大于或小于其子节点。在计算机科学中,堆通常用于实现优先队列,以及堆排序和图算法等算法的实现中。最大堆在堆排序中被广泛使用,最小堆通常用于贪心算法和Dijkstra算法等图算法的实现中。堆是一种可以快速查询最大值和最小值,可以插入元素,删除最大值的数据结构。堆的本质是一棵完全二叉树。

2023-06-09 10:16:33 293

原创 Supermarket 3种解法保证看懂

贪心,并查集,堆3种做法来报到

2023-06-06 18:42:49 122 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除