数据结构
文章平均质量分 73
啊
__Rain
这个作者很懒,什么都没留下…
展开
-
天梯赛二叉树题目
L2-006 树的遍历 (25 分)思路:还原二叉树模拟还原二叉树的过程,递归建树code:#include<bits/stdc++.h>#define endl '\n'#define ll long long#define ls (p << 1)#define rs (p << 1 | 1)using namespace std;const int maxn = 1e5 + 9;const int mod = 1e9 + 7;ll n, m;原创 2022-04-02 19:38:11 · 1128 阅读 · 0 评论 -
牛客练习赛 90 A(贪心 B(博弈 C( D(组成三角形与斐波那契数列,势能线段树 || 并查集跳跃应用
梦想赛道题意:给定一个棵树,构造一个图,满足这棵树是图上的严格次小生成树,图上可以有重边,输出图的最小总权值和即可思路:因为可以有重边,还要最小化总权值和,我们可以考虑给权值次大的边加一条权值为 111 的边,但是如果这棵树所有边的权值都是 111,那么就无法构造寒冬信使题意:nnn 个格子排成一排,每个格子是黑色或者白色的。有双方在格子上进行博弈,根据先后手轮流进行操作,每次操作方可以选择一个白色格子并且翻转这个格子和它前面一个格子的颜色(如果选择的是第一个格子则只翻转这个格子的颜色)。原创 2022-02-24 16:26:56 · 518 阅读 · 0 评论 -
单调栈、单调队列 专题
D. Mike and Feet单调栈思路:我们都学过单调栈解决最大矩形的问题。递减单调栈可以维护出每个数往左或者往右第一个(最后一个)比他大的数。而递增单调栈可以维护出每个数往左或者往右第一个(最后一个)比他小的数。本题中其决定因子的就是每个区间段的最小值。通过维护一个递增单调栈,实际维护出了每个数最大影响的区间,这个区间对应的值就是这个数。而相对更大的区间,值一定不会大于更小区间的值,所以尽可能的求出更长区间对应的值。code:#include <cstdio>#inc原创 2021-10-21 21:03:35 · 135 阅读 · 0 评论 -
牛客月赛39 G(树状数组+离线查询处理 H (贪心+预处理
终别题意:nnn 个怪兽,第 iii 个有 aia_iai 的血量,每次斩击可以使得连续三个位置的怪兽血量减 111,还有一个可以使用一次的魔法,可以直接消灭两个相邻的怪兽。求打败所有怪兽最小的斩击次数思路:贪心不考虑使用魔法的情况a1a_1a1 显然要被杀死,那么我们肯定选择连续的三个一起使用斩击才是最优的,杀死 a1a_1a1,然后 a2,a3a_2,a_3a2,a3,也相应的减少血量;杀死 a2a_2a2,a3,a4a_3,a_4a3,a4 也相应的减少血量,这样依次递推下原创 2021-10-23 09:59:43 · 190 阅读 · 0 评论 -
树状数组(求区间种类数 离线处理
[SDOI2009]HH的项链题意:查询区间元素种类个数思路:先将求区间元素种类数问题转化成求区间和问题我们可以先将所有的询问离线下来,对于每一个 rrr 来统计区间 [1,r][1,r][1,r] 的元素种类数,利用前缀和的思想来求区间 [l,r][l,r][l,r] 的元素种类数(即 [1,r][1,r][1,r] 的元素种类数减去 [1,l−1][1,l-1][1,l−1] 的元素种类数)。仔细思考这个问题,将查询离线下来就可以使得问题简化,思维很巧妙code:#include<b原创 2021-10-01 15:40:28 · 412 阅读 · 0 评论 -
P1471 方差 (线段树维护区间方差,其实就是维护区间平方和
P1471 方差大佬博客维护方差推导过程S2=1n∗[(x1−xˉ)2+(x2−xˉ)2+(x3−xˉ)2+...+(xn+xˉ)2]S^2=\frac{1}{n}*[(x_1-\bar{x})^2+(x_2-\bar{x})^2+(x_3-\bar{x})^2+...+(x_n+\bar{x})^2]S2=n1∗[(x1−xˉ)2+(x2−xˉ)2+(x3−xˉ)2+...+(xn+xˉ)2]根据完全平方公式(a+b)2=a2+2ab+b2(a+b)^2=a^2+2ab+b^2原创 2021-09-29 18:56:03 · 358 阅读 · 0 评论 -
字 典 树
字典树参考这个博客进行学习 字典树和01字典树知乎字典树又叫前缀树,是用空间换时间。字典树还有很多除了字符串之外的应用,如对数字的二进制01串构造字典树可以快速按位查询数字是否存在。当结合字符串匹配算法KMP时,利用KMP的利用失配信息思想快速继续匹配,可以实现AC自动机算法。只需给每个节点增加fail指针指向失配时快速指向的节点。hdu-1251-统计难题题意:统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀)思路:字典树code:#include<bits/stdc原创 2021-07-22 08:26:03 · 172 阅读 · 0 评论 -
线段树博客
学习博客原创 2021-06-10 14:32:17 · 223 阅读 · 0 评论 -
数据结构刷题
先上力扣刷简单题没有建树,都是递归查找之类的平衡二叉树原创 2021-06-04 19:40:29 · 275 阅读 · 0 评论 -
树 状 数 组
POJ 3468区间查询 区间更新学习博客#include<cstring>#include<cstdio>#include<iostream>using namespace std;typedef long long ll;const int Max = (int)1e6+9;int n,m;ll a[Max];// sum1[i] = D[i],sum2[i] = D[i]*(i-1);ll sum1[Max]; //(D[1] + D原创 2021-01-24 20:27:19 · 113 阅读 · 0 评论 -
(二叉树)中缀转后缀 逆波兰表达式求值
二叉树遍历原创 2021-04-24 11:38:01 · 565 阅读 · 0 评论