随笔分类 - 数据结构-堆
摘要:洛谷 P7095 [yLOI2020] 不离 洛谷传送门 题目背景 乱玄黄时序,探风林实虚。 我要你共我奇谈怪趣。 任日月斑斓,待春秋兴残。 我要我们有聚无散。 ——银临《不离》 题目描述 这道题目来自 zxy 哔哔,咕咕让哔哔选一首歌作为题目名,但是哔哔说没有想好,于是咕咕就帮他选了这首歌。 哔哔
阅读全文
摘要:CF1029E Tree with Small Distances 洛谷传送门 题目描述 给定一颗有根树(根节点为 111)。要求往树中加入一些边使得从根节点到其他节点的距离至多是 222。 求加入边的最小数量。(边全部都是无向的) 输入格式 第一行一个整数 nnn,表示树中的节点个数。 接下来 n
阅读全文
摘要:CF994B Knights of a Polygonal Table 洛谷传送门 题目描述 有 nnn 个骑士想决战。每个骑士都有能力值,且身上带有一些金币。如果骑士 AAA 的能力值大于骑士 BBB ,那么骑士 AAA 就可以杀死骑士 BBB ,并获得骑士 BBB 身上的所有金币。但就算是骑士也
阅读全文
摘要:洛谷 P1144 最短路计数 洛谷传送门 题目描述 给出一个NN个顶点MM条边的无向无权图,顶点编号为1-N1−N。问从顶点11开始,到其他每个点的最短路有几条。 输入格式 第一行包含22个正整数N,MN,M,为图的顶点数与边数。 接下来MM行,每行22个正整数x,yx,y,表示有一条顶点xx连向顶
阅读全文
摘要:洛谷 P1608 路径统计 洛谷传送门 题目描述 “RP 餐厅” 的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让 HZH,TZY 去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有 NN 个地方,而且他们目前处在标注为 “1” 的小镇上,而送餐的地点在标注为 “N
阅读全文
摘要:洛谷 U138347 贩卖武器 洛谷传送门 题目背景 SeawaySeawa**y所效命的AlphaAlpha国和邪恶的EulerEuler国之间关系越来越紧张,空气中的火药味很浓。二国决定尽快买入足够的武器以防万一。军备竞赛始终是国力竞争的重要一环,AlphaAlpha国必然不会让自己在开战之前就
阅读全文
摘要:CF1038C Gambling 洛谷传送门 题目大意: 两个人玩游戏,每个人有1个长度为的序列,每次一个人可以从序列中拿一个数并加入自己的分数,或者把对手序列中没选的数中去掉一个,这两个人都足够聪明,求分数与分数的差 输入格式: 第一行一个整数 第二行个整数
阅读全文
摘要:洛谷 P5049 旅行(数据加强版) 洛谷传送门 题目描述 小 Y 是一个爱好旅行的 OIer。她来到 X 国,打算将各个城市都玩一遍。 小Y了解到, X国的 nn 个城市之间有 mm 条双向道路。每条双向道路连接两个城市。 不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并
阅读全文
摘要:NOIP 2018 旅行 洛谷传送门 题目描述 小 Y 是一个爱好旅行的 OIer。她来到 X 国,打算将各个城市都玩一遍。 小Y了解到, X国的 nn 个城市之间有 mm 条双向道路。每条双向道路连接两个城市。 不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并且, 从任意
阅读全文
摘要:详解C++ STL priority_queue 容器 本篇随笔简单介绍一下中容器的使用方法和常见的使用技巧。 priority_queue容器的概念 在英文中是优先队列的意思。 队列是一种基本的数据结构。其实现的基本示
阅读全文
摘要:洛谷 P1168 中位数 "洛谷传送门" 题目描述 给出一个长度为N N 的非负整数序列A_i A i ,对于所有1 ≤ k ≤ (N + 1) / 21≤ k ≤( N +1)/2,输出A_1, A_3, …, A_{2k 1} A 1, A 3,…, A 2 k −1的中位数。即前1,3,5,…
阅读全文
摘要:POJ 3784 Running Median "POJ传送门" Description For this problem, you will write a program that reads in a sequence of 32 bit signed integers. After each
阅读全文
摘要:洛谷 P1628 合并序列 "题目传送门" 题目描述 有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词。 输入格式 输入文件第一行包含一个正整数N; 接下来N行,每行一个单词,长度不超过100; 最后一行包含字符串T。 【数据规模】 对于60%的数据,满足1≤N≤1000; 对于100%
阅读全文
摘要:洛谷 P3378 【模板】堆 "洛谷传送门" 题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入格式 第一行包含一个整数N,表示操作的个数 接下来N行,每行包含1个或2个正
阅读全文
摘要:可删除堆讲解 可删除堆也是堆的一个分支。它和对顶堆的使用是差不多的,都是为了解决用朴素堆解决不了的问题。对顶堆解决的是朴素堆不支持单点查询的问题,而可删除堆就解决了朴素堆不支持任意删除的问题。 我们知道,优先队列只能删除堆顶元素,然而我们并不能删掉其他元素,有时甚至找不到要删的元素。这时怎么办呢?于
阅读全文
摘要:对顶堆详解 我们知道,堆是一种极有用的数据结构。它能在短时间内将数据维护成单调递增/递减的序列。但是这种“朴素堆”对于问题求解起到的效果毕竟是有限的。所以我们在朴素堆的基础上,进行深入思考和适当变形,使之能解决一些其他的用朴素堆解决不了的问题,并使思路变得简洁有效。 这篇随笔就堆中的一个分支——对顶
阅读全文
摘要:洛谷P1090 https://www.luogu.org/problemnew/show/P1090 JDOJ 1270 题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等
阅读全文