ACM_数据结构
我爱吃狮子头
有人在这虚度,有人在这成长
展开
-
前缀和
链接:https://www.nowcoder.com/acm/contest/135/I 来源:牛客网 题目描述 Apojacsleam喜欢数组。 他现在有一个n个元素的数组a,而他要对a[L]-a[R]进行M次操作: 操作一:将a[L]-a[R]内的元素都加上P 操作二:将a[L]-a[R]内的元素都减去P 最后询问a[l]-a[r]内的元素之和? 请认...原创 2018-07-24 02:42:11 · 662 阅读 · 0 评论 -
红黑树
转自:https://blog.csdn.net/sun_tttt/article/details/65445754 易懂的漫画:https://www.sohu.com/a/201923614_466939 介绍 红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限...转载 2018-08-13 23:46:04 · 101 阅读 · 0 评论 -
双端队列求滑动区间最值
给出一个可能包含重复的整数数组,和一个大小为 k 的滑动窗口, 从左到右在数组中滑动这个窗口,找到数组中每个窗口内的最大(小)值。 给出数组 [1,2,7,7,8], 滑动窗口大小为 k = 3. 最大 [7,7,8],最小[1,2,7]. Poj2823 (最大注释掉了) #include<cstdio> int f[1000005],p[1000005],q[10000...原创 2018-08-17 00:30:23 · 454 阅读 · 0 评论 -
并查集_Hdu1232(畅通工程)
并查集 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的...原创 2018-08-17 17:41:05 · 187 阅读 · 0 评论 -
线段树
例题题目:https://www.nowcoder.com/acm/contest/135/I (不过这题用线段树会暴栈)可以用前缀和做https://blog.csdn.net/aaakkk_1996/article/details/81177513 以下是模板: #include <bits/stdc++.h> using namespace std; typedef lo...原创 2018-08-25 01:20:44 · 97 阅读 · 0 评论 -
求连通分量(并查集)
问题描述 求连通分量 输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数。 接下来一行,一个整数k,表示下面还有k行数据 接下来k行,第行两个整数a,b,表示ab连通。 样例输入 5 4 16 2 3 1 5 5 9 4 8 7 8 9 10 10 11 11 12 10 14 12 16 14 18 17 18 15 19 19 20 9 13 13 17 样例输...原创 2019-03-21 23:15:51 · 1590 阅读 · 0 评论