倍增算法
倍增算法
_hunxuewangzi
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #361 (Div. 2) D. Friends and Subsequences 题解(st表+二分 or 单调队列)
题目链接题目大意给你两个长度为n(2e5)的数组a和数组b,要你求有多少个区间区间满足下列式子即有多少个字串,使得a字串的最大值等于b字串中的最小值st表+二分首先你可以固定左端点,然后你会发现右端点变大时,a数组的最大值是非严格单调递增,而b数组的最小值是非严格单调递减的。所以就很容易想到去二分查找.枚举左端点,查找右端点。你会发现右端点可能是一段区间,然后我就不知道咋做了,其实就是两次二分就行了qwq代码#include<set>#include<map>#i原创 2020-08-12 09:52:32 · 139 阅读 · 0 评论 -
A - Subsequence 题解(rmq+尺取 / rmq+二分 / 双单调队列)
题目链接题目大意找到最长的字串使其满足最大元素和最小元素的差值大于等于mi小于等于marmq+尺取#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#define fi first#define se second#define debug printf("I am here\n");using names原创 2020-07-09 10:58:11 · 160 阅读 · 0 评论 -
Codeforces Round #634 (Div. 3) F. Robots on a Grid题解(拓扑找环+逆向dfs/倍增)
转载链接:https://blog.csdn.net/qq_45458915/article/details/105515708?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.none转载 2020-06-09 16:38:24 · 205 阅读 · 0 评论 -
ST表的讲解
ST表的用处ST表的功能很简单它是解决RMQ问题(区间最值问题)的一种强有力的工具它可以做到O(nlogn)预处理,O(1)查询最值。听起来好像线段树也可以用o(nlogn)处理哦,但是为什么要用st表呢,因为你会发现st表的查询是o(1)的复杂度,一旦查询数量过多,显然就是只能用st表,其实就是预处理,然后运用了打表的操作。算法ST表是利用的是倍增的思想拿最大值来说我们用Max[...原创 2020-04-11 16:02:39 · 886 阅读 · 0 评论 -
周赛 辛勤的蚂蚁 题解(LCA)
题目链接题目思路显然是在树上找最短路的文通,那么就要想到lca因为所有由 s->t的路径我们都能看成 s ->lca(s,t)->t。很明显 s->lca(s,t) 和 lca(s,t)->t 都是一条链。关键 :L( s ,t )=depth( s )+depth( t )-2*depth ( lca ( s , t ) )最后要注意分类讨论即可,由于每两...原创 2020-03-10 17:05:04 · 173 阅读 · 0 评论 -
洛谷 P1967 货车运输 题解(lca+kruskal)
前记最近lca+kruskal的题目真让我疯了,我还是太菜了题目链接题目思路显然是找到最大生成树,然后lca求解。自己其实想到了怎么写,但是就是dfs()的那一步和init()的初始化不会。总之是属于代码实现能力太弱导致而成的。里面有许多需要注意的地方都在代码里面说了代码#include<bits/stdc++.h>using namespace std;const ...原创 2020-03-06 20:41:23 · 159 阅读 · 0 评论 -
洛谷 P3379 【模板】最近公共祖先(LCA) 题解
题目链接原文链接注:对原文有些改动删除不必要部分LCA讲解概念:LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。倍增算法所谓倍增,就是按2的倍数来增大,也就是跳 1,2,4,8,16,32 …… 不过在这我们不是按从小到大跳,而是从大向小跳,即按……32,16,8,4,2,1来跳,如果大的跳不过去,再把它调小...转载 2020-03-05 16:31:54 · 216 阅读 · 0 评论