
倍增
文章平均质量分 67
ssl_fuyang
ヾ(◍°∇°◍)ノ゙
展开
-
[SCOI2016]萌萌哒【并查集】【倍增】
>Link luogu P3295 >Description n,m≤105n,m\le10^5n,m≤105 >解题思路 我感觉这道题的操作跟 这道题 好像 一开始的想法:两个区间完全相同,说明两个区间每个对应的数字相同,可以搞一个并查集将这些数字并起来,最后并查集的数量就是可以不同的数的个数,答案用快速幂计算一下 但是这样的时间复杂度为 O(n2logn)O(n^2logn)O(n2logn),显然不行 正解就是倍增优化并查集的过程 正常的并查集为 faifa_ifai 表示原创 2021-11-18 21:12:20 · 215 阅读 · 0 评论 -
城市网络【倍增】【DP】
>Link ybtoj城市网络 >Description 有一个树状的城市网络(即 NNN 个城市由 N−1N-1N−1 条道路连接的连通图),首都为 111 号城市,每个城市售卖价值为 aia_iai 的珠宝。 你是一个珠宝商,现在安排有 qqq 次行程,每次行程为从 uuu 号城市前往 vvv 号城市(走最短路径),保证 vvv 在 uuu 前往首都的最短路径上。 在每次行程开始时,你手上有价值为 ccc 的珠宝(每次行程可能不同),并且每经过一个城市时(包括 uuu 和 vvv ),假原创 2021-11-09 08:17:03 · 140 阅读 · 0 评论 -
开车旅行【DP】【倍增】【双向链表】
>Link luogu P1081 ybtoj开车旅行 >Description >解题思路 先预处理nnn个点,从每一个点出发,最近的下个点和第二近的下个点 因为距离为两点的海拔高度差,那我们就可以先按照海拔高度排个序,那最近的点就在它的前驱和后驱之中,第二近的点就在前驱、后驱、前驱的前驱、后驱的后驱之中 那我们从111到nnn处理完一个点后,要把当前点删去,因为题目规定了后面的点不能到达前面的点 这个可以用双向链表维护,也可以用平衡树 (要注意是否越界QwQ) 对于第二个问题,由原创 2021-10-25 20:02:14 · 136 阅读 · 0 评论 -
查找编号【倍增】
>Link ybtoj查找编号 >Description 给出一个长度为NNN的不下降序列,mmm次询问数字xxx在序列中的哪个位置(或者不在) >解题思路 (我第一眼:嗯?这不二分?) 但是这道题需要倍增来做(因为放在倍增的专题里) 左端点初始值为0,不断缩小区间的长度2i2^i2i,根据不下降序列的性质适当移动区间的左端点 找xxx的最前面位置就是找最后一个比xxx小的数的位置+1 >代码 #include <iostream> #include <cst原创 2021-07-06 21:57:39 · 200 阅读 · 0 评论