摘要: 笛卡尔树的介绍 笛卡尔树,是一种二叉搜索树,它满足如下条件: 每个节点的编号满足二叉搜索树的性质。 每个节点的权值满足小根堆或大根堆的性质。 大概是这个样子: 笛卡尔树的建树 请看这里。 笛卡尔树的用途 它可以用来解决区间最值问题,它有一个重要性质:当这个笛卡尔树为小根堆时,\(\min_{i = 阅读全文
posted @ 2025-02-11 22:18 林晋堃 阅读(51) 评论(0) 推荐(0)
摘要: 不加火车头(不吸氧)不开快读全部 long long 提交记录。 使用了我所知的三种优化后的提交记录(最慢点还是没有在一秒内跑过啊)。 做法非常的妙,我们先将 \(A,B,C\) 这三个数组降序排序,我们设 \(f(i,j,k) = A_iB_j+B_jC_k+C_kA_i\),由于 \(f(i,j 阅读全文
posted @ 2025-02-11 22:03 林晋堃 阅读(22) 评论(0) 推荐(0)
摘要: 前置知识: map priority_queue 思路 考虑预处理每一个图块在第几秒后会被删除。 如何预处理?我使用了一种非常暴力的做法,首先处理的过程肯定是从下往上的,于是每一个图块能被删除一定是它对应的每一列都至少有一个图块,而且每次我们肯定都是选择这个图块对应的每一列的离最下面最近的图块去拼成 阅读全文
posted @ 2025-02-11 22:00 林晋堃 阅读(40) 评论(0) 推荐(0)
摘要: 一、什么是树的重心 所谓树的重心指的是删掉这个点之后可以使所有子树中大小最大的那一个最小。 树的重心满足一些性质: 性质 \(1\):删掉树的重心之后,所有子树的大小不都超过 \(\lfloor\frac{n}{2}\rfloor\),\(n\) 指树的节点数量。 性质 \(2\):树的重心最多有两 阅读全文
posted @ 2025-01-22 23:13 林晋堃 阅读(141) 评论(0) 推荐(0)
摘要: 一、问题引入 目前我们所知道的一些常见的最短路算法有 dijkstra、spfa、floyd。 dijkstra 和 spfa 是单源最短路,floyd 是全源最短路。 如果我们需要在 \(O(nm)\) 等级的时间复杂度下求出全源最短路,并且图存在负权,那么它就叉掉了这三种最短路算法,因为 dij 阅读全文
posted @ 2025-01-17 16:05 林晋堃 阅读(234) 评论(0) 推荐(0)