摘要: 树剖的思维难度不大,但一般比较难调。 引入 树链剖分就是把一棵树剖成一条条链,视剖的方式分为长链剖分与重链剖分。 所谓重剖,把子树大小最大的那个儿子称为“重儿子”,把树剖为若干条重链,长剖类似,最长的儿子为“长儿子”,剖为若干条长链。由于重剖应用范围比较广(下面会讲),而长剖的用途主要就是维护一些按 阅读全文
posted @ 2024-11-26 21:35 p7gab 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前置知识:值域线段树+动态开点线段树。 什么是线段树合并 顾名思义,就是把两个线段树合并到一起,但是对于一般的堆式存储,显然不用合并,只有对于形态不确定的动态开点线段树才有用。 现在要合并两棵动态开点线段树Czel_X:我会启发式合并。尽管AKatuo讲过,但是太过于暴力,十分不优美。 我们不妨将合 阅读全文
posted @ 2024-11-26 20:59 p7gab 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 分析 题意十分简单,不难推出式子: fi=j=1i1fj×(maxk=j+1iakmink=j+1iak) 但我们考虑这个 O(n2) 的东西显然是冲不过去的,所以必须优化转移。 式子后面两块都是极值, 阅读全文
posted @ 2024-11-25 21:29 p7gab 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题面 做法 先补一下ST表求LCA的做法。 欧拉序就是dfs遍历这颗树经过每个节点的顺序。 欧拉序有一个优美的性质,就是给定两个端点 l,r ,则 [l,r] 之间深度最小值即是 l,r 的LCA。 我们 dfs 时需要统计 depu,dfnu 以及欧拉序 阅读全文
posted @ 2024-11-19 08:16 p7gab 阅读(18) 评论(0) 推荐(0) 编辑
摘要: Day-20? T1 二分有想法了很久,但是一直没想到二分什么东西,就一直在手搓样例证伪自己。 然后就莫名其妙的想出来了? 因为上下界没搞定白白浪费了许多时间T4的暴力时间,最后换了一个比较新颖的二分写法过了。 T2 不难发现子串的传递性,二分的性质一下子就出来了,但写的时候 check 处理的晕头 阅读全文
posted @ 2024-11-18 18:08 p7gab 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简要题意 给定一个整数 n,问把 n 表示成一些数的立方和的方案数,注意相同的数算一种方案。 解析 题中告诉我们,选的数小于 10000,所以可以先打表将小于 10000 的完全立方数存一下。 之后我们不妨将每个数字 x 视作一个重量为 x3 的物品 阅读全文
posted @ 2024-10-04 09:23 p7gab 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 简要题意 给定一个长度为 n 的序列,求区间两端数字均不与区间中其他数字相等(包括另一端)的区间数量,且长度不小于二。 解析 先考虑一下最好办的情况,显然就是所有人的年级都不相等。 比如 1 3 2 4 6 7 8,如何统计? 可以直接写结论,但我们不妨这样看:(1,2)显然只有一种,加上了 阅读全文
posted @ 2024-08-12 19:17 p7gab 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 简要题意 给定一个 m×n 的 01 大矩阵,询问 qx×y 的 01 矩阵是否在大矩阵中出现过。 解析 本题是二维哈希的板子。 二维哈希其实就是二维前缀和与哈希的结合 我们先思考一维哈希实现过程: 在一维哈希中,我们是将长度为 m阅读全文
posted @ 2024-08-09 15:00 p7gab 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简要题意 n 个点,m 条带权边的无向图,另外还有 k 条连接 1i 的边 。 在保证每个点到 1 的最短距离不变的前提下,最多可以删掉 k 条边中的的几条。 解析 最暴力的想法即逐条断掉网道之后跑一遍最短路即可,但 k 也是 \ 阅读全文
posted @ 2024-08-09 14:21 p7gab 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 思路 由于雪球之间的相对位置是不会改变的,所以对于一个雪球,越过相邻的雪球的初始位置一定不会令其变大。 如果雪球的滚动范围没有交集,答案显然就是区间长度。但如果有了交集,我们必须判断哪个雪球先滚到,一个区间便分为了分属左右两雪球的两个区间,于是就要找出两边最后一次不交的那个断点。 由于断点具有单调性 阅读全文
posted @ 2024-02-20 09:52 p7gab 阅读(5) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示