
数据结构
文章平均质量分 74
Bill845514379
acmer
展开
-
树链剖分 入门(求LCA)
1. 引言 最近学了树链剖分基本思想,然后自己实现了遍代码,过了树链剖分求LCA,本文对树链剖分基本过程进行阐述,提出自己的看法,欢迎交流。2.基本思想 顾名思义,树链剖分就是将树剖分成一条一条的链,之后快速的操作链。 树链剖分的复杂度为,预处理两边dfs,O(n)复杂度;之后查询或者修改操作每一条链为O(log(n)),因为剖分出来的链一共有log(n)条,当然如果在链上再套个线段树,那每次操作就是O(log2(n))。之后,下文只利用树链剖分求树上两点的最近公共最先,不涉及线段树,了解了基原创 2020-08-25 16:13:24 · 3662 阅读 · 0 评论 -
数列分块LOJ为例
数列分块 分块的思想就是将整体划分为多个部分,将对整体的处理,看做对每个部分处理。这样做到的优点在于,如果一次对整体处理的时间复杂度为O(n),分块后将会变为O(k),k取决为分为多少块,一般而言分为n\sqrt{n}n份,这时复杂度为O(n\sqrt{n}n),而k取两个极端:1和n,会让复杂度趋近于O(n),所以k的取值,具体问题应具体分析。 分块被誉为“暴力美学”,它实质是暴力枚...原创 2020-04-06 17:59:19 · 504 阅读 · 0 评论 -
STL题解
文章目录第k小整数报数卡片游戏找球号Set热血格斗场冷血格斗场第k小整数题目链接:https://nanti.jisuanke.com/t/T1670现有 n 个正整数,要求出这 n 个正整数中的第 k 小的整数(相同大小的整数只计算一次)。题解:set模拟#include<bits/stdc++.h>using namespace std;#define maxn 50...原创 2019-11-17 16:20:51 · 532 阅读 · 0 评论 -
ccf csp 2019.9 第四题 推荐系统
思路:题意很明确,实现增删查,三种操作,数据范围比较大,如果暴力,肯定超时,考虑使用set和map。set 重载cmp,按照分数进行排序,输出的时候进行遍历即可,插入也很简单,直接操作即可,但是删除不好办,这时用map也将数据存起来,对种类和id进行查询得到score,得到这三个数据后可以直接用set删除。本来的想法是用map按照value排序,因为map删除的话可以直接找key,而set删...原创 2019-11-14 11:02:56 · 727 阅读 · 1 评论 -
洛谷P2023 (线段树)题解
题目链接:https://www.luogu.org/problem/P2023题意对一组数列进行三种操作对某一段区间的每一个数,扩大某一个倍数对某一段区间的每一个数,增加某一个增量询问某一段区间的和题解:线段树 令 add 和 mul 表示区间每个数需要加上的数和乘上的数,目的是对自区间进行加法或者乘的操作,分配之后会归位为 0 和 1,表示已经分配完毕。 如果只有加法一...原创 2019-09-04 18:44:36 · 291 阅读 · 0 评论