随笔分类 -  数据结构

摘要:题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 ) 查询排名为 xx 的数 求 xx 的前驱(前驱定义为小于 xx,且最大的数) 阅读全文
posted @ 2020-06-10 10:38 N_Yokel 阅读(121) 评论(0) 推荐(0)
摘要:Description 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a<b.将这n*(n-1)/2个距离从大到小排序,输出前M个距离值。 Input 第一行两个正整数N,M 下面N-1行,每行三个正整数a,b, 阅读全文
posted @ 2019-10-28 15:33 N_Yokel 阅读(136) 评论(0) 推荐(0)
摘要:Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。 一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多 阅读全文
posted @ 2019-10-24 13:28 N_Yokel 阅读(156) 评论(0) 推荐(0)
摘要:有一个庞大的家族,共n人。已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边)。 在另一个未知的平行宇宙,这n人的祖辈关系仍然是树形结构,但他们相互之间的关系却完全不同了,原来的祖先可能变成了后代,后代变成的同辈…… 两个人的亲密度定义为在这两个平行宇宙有多少人一直是他们的公共祖先。 整个家族 阅读全文
posted @ 2019-10-23 13:10 N_Yokel 阅读(172) 评论(0) 推荐(0)
摘要:POJ 1611 题意:给你各个集合包含的元素,求0所在的集合总共有多少个不相同的元素。题解:维护一个size即可,注意size是在什么时候进行相加的。 //#include <bits/stdc++.h> #include <cstdio> using namespace std; int fa[ 阅读全文
posted @ 2019-09-06 15:11 N_Yokel 阅读(192) 评论(0) 推荐(0)
摘要:单调队列:队列里的元素是单调的(只入队那些可能会影响答案的数据,一定不影响答案数据直接不入队)。复杂度O(2n) 洛谷 P1440 链接 题意:一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0。 题解:单 阅读全文
posted @ 2019-08-14 18:34 N_Yokel 阅读(247) 评论(0) 推荐(0)
摘要:先上板子(不过线段树的使用经常会有要修改的地方,需要自己能够独立的敲出来,这个和图论的那些板子就不一样了) 单点更新,区间和查询 /******************************** 线段树的单点更新和区间和查询 ********************************/ #i 阅读全文
posted @ 2019-08-14 16:12 N_Yokel 阅读(274) 评论(0) 推荐(0)
摘要:写这篇博客,为了方便自己后续复制粘贴板子; HDU 1166 题意:单点更新,区间查询 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 6 #define lowbit(x 阅读全文
posted @ 2019-05-03 12:09 N_Yokel 阅读(263) 评论(0) 推荐(0)