传送门 分析 我看到这个题的第一反应使用莫队水过去,于是我考虑建立一棵权值线段树,每一次从里面插入或删除一个数,然后查询,但是复杂度是O(n√nlogn),明显不行。由于这是在一个区间查询数量,所以可以考虑用主席树来维护。建树过程不必说了,查询过程我们是在查询是不是有一个点的值大于k,所以我们每一次 ...
分类:
其他好文 时间:
2018-08-20 11:41:07
阅读次数:
124
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Pattern Matching 题意就是匹配字符的题目,打比赛的时候没有看到只有一个" * ",然后就写挫了, ...
分类:
其他好文 时间:
2018-08-19 18:02:21
阅读次数:
217
描述 Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algorithm and Programming, and I met so many good frie ...
分类:
编程语言 时间:
2018-08-18 10:32:24
阅读次数:
195
目录 一、概述 二、从一个例子理解线段树 创建线段树 线段树区间查询 单节点更新 区间更新 三、线段树实战 一 概述 线段树,类似区间树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。 线段树 ...
分类:
其他好文 时间:
2018-08-17 11:27:07
阅读次数:
147
树状数组概念: 树状数组是一种非常优秀&神奇的数据结构。可以做到区间查询、单点修改,两种操作的复杂度都为log(n),其空间复杂度为O(n)。 理解树状数组的关键在于理解二进制,曾有一个大神对我说:“这个世界本来就是二进制的,人非要主观的构建一个十进制” ,我并没有能力证明这句话的正确性,但我认为这 ...
分类:
编程语言 时间:
2018-08-16 20:54:17
阅读次数:
938
嘟嘟嘟 就是线段树板子题,还是单点修改区间查询。 用一个指针cnt记录当前序列里有几个数,然后操作1就是把++cnt的位置的数改为(n + t) % d;操作2就是查询cnt - L + 1到cnt的区间最大值。 我用的是先把线段树的节点开好的方法,所以这题按区间长度等于m开就行。 1 #inclu ...
分类:
Web程序 时间:
2018-08-15 17:04:58
阅读次数:
220
1,并查集 》并与查操作 》“边带权”并查集 以d[x]保存节点x到父节点的fa[x]的边权,这个边权一般也看作x与fa[x]关系的抽象,它也是和正常的边权一样,可以相加的,也就是说x节点与根节点的边权(关系)即其路径的边权和。 》“扩展域”并查集 对于每一对,枚举可能发生的情况,将同时发生的事件并 ...
分类:
其他好文 时间:
2018-08-14 22:49:42
阅读次数:
225
You are given an N × N matrix. At the beginning every element is 0. Write a program supporting 2 operations: 1. Add x y value: Add value to the elemen ...
分类:
编程语言 时间:
2018-08-14 11:22:46
阅读次数:
136
你是否讨厌线段树那冗长的代码?你是否还在因为线段树的难调试而满头♂dark汗?那么,请不要错过!超级树状数组特价!只要998,只要998! ##¥……#……¥%……&%¥……ER#%$#$#^T%$^$% 超级树状数组,其实是一种能够支持区间修改和区间查询的树状数组,和线段树相比,它的常数极小,不需 ...
分类:
编程语言 时间:
2018-08-13 10:48:45
阅读次数:
167
板子。。。。 题意:给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 这个空间。。50倍。。。。 每次新开节点,与原来节点公用左右儿子(随便认儿子,然后在更新维护) ...
分类:
其他好文 时间:
2018-08-11 01:23:06
阅读次数:
124