
数据结构
文章平均质量分 62
常用数据结构,如线段树,树状数组,主席树等
xcatf
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BZOJ 2157 旅游 (树链剖分)
2157: 旅游DescriptionRay 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N − 1 座桥。Ray 发现...原创 2019-07-30 15:15:04 · 247 阅读 · 0 评论 -
P2709 小B的询问 (离线莫队)
题目链接:https://www.luogu.org/problemnew/show/P2709求(cnt表示a[i]出现的次数),ans = (cnt[a[i]] + 1) ^2 - (cnt[a[i]]^2)(把add,del单独写成两个函数,转移过程用位运算会更快一点)#include <iostream>#include <cstdio>#inc...原创 2019-05-25 12:24:13 · 194 阅读 · 0 评论 -
Codeforces 86D Powerful array (离线莫队)
题目链接:http://codeforces.com/problemset/problem/86/D裸离线莫队cnt[a[i]]增加:ans += a[i] * cnt[a[i]]^2 - a[i] * (cnt[a[i]] - 1)^2 = cnt[a[i]] * 2 + 1减少同理。#include <iostream>#include <cstdio...原创 2019-05-25 00:35:31 · 160 阅读 · 0 评论 -
第十一届蓝桥杯校内赛:选节目(线段树解法)
选节目小明要组织一台晚会,总共准备了 n 个节目。然后晚会的时间有限,他只能最终选择其中的 m 个节目。这 n 个节目是按照小明设想的顺序给定的,顺序不能改变。小明发现,观众对于晚上的喜欢程度与前几个节目的好看程度有非常大的关系,他希望选出的第一个节目尽可能好看,在此前提下希望第二个节目尽可能好看,依次类推。小明给每个节目定义了一个好看值,请你帮助小明选择出 m 个节目,满足他的要求。输入...原创 2020-03-15 18:00:13 · 1132 阅读 · 0 评论 -
ZOJ 4117 BaoBao Loves Reading (树状数组 前缀和)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6019用树状数组维护书桌整个时间段的书本数目,区间查询得到出现相同书本时的时间差,即为可以省去的去书柜拿书次数(书桌容量为即时间差),最后利用前缀和,得到容量1~n的可省次数#include <iostream>#include <cstd...原创 2019-05-19 21:30:36 · 315 阅读 · 0 评论 -
PTA L3-002 特殊堆栈 (树状数组 & 二分)
L3-002特殊堆栈堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 ...原创 2019-03-28 20:20:47 · 602 阅读 · 0 评论 -
POJ 2352 Stars (树状数组)
StarsAstronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the lev...原创 2019-02-18 11:48:14 · 167 阅读 · 0 评论 -
POJ 3667 Hotel (线段树区间合并)
HotelThe cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a vacation on the sunny shores of Lake Superior...原创 2019-02-18 09:53:31 · 241 阅读 · 0 评论 -
蓝桥杯算法训练操作格子 线段树(单点更新 & 区间最值 & 区间求和)
算法训练 操作格子 时间限制:1.0s 内存限制:256.0MB问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输...原创 2018-11-28 20:32:54 · 275 阅读 · 0 评论 -
POJ 3468A Simple Problem with Integers 线段树(成段增减 & 区间求和)
A Simple Problem with IntegersTime Limit:5000MS Memory Limit:131072K Total Submissions:146302 Accepted:45477 Case Time Limit:2000MS Desc...原创 2018-11-28 19:10:45 · 158 阅读 · 0 评论 -
HDU 1698 Just a Hook 线段树(成段替换 & 1结点为区间总和)
Just a HookTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 45584Accepted Submission(s): 21719...原创 2018-11-28 18:41:30 · 180 阅读 · 0 评论 -
HDU 1394 Minimum Inversion Number 线段树(单点插值 & 区间逆序数求和)
Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25219Accepted Submission(s): 14878...原创 2018-11-27 19:55:17 · 216 阅读 · 0 评论 -
HDU 1754I Hate It 线段树(单点替换 & 区间最值)
I Hate ItTime Limit: 9000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 106690Accepted Submission(s): 40063Pro...原创 2018-11-27 17:09:22 · 189 阅读 · 0 评论 -
HDU 1166 敌兵布阵 线段树 (单点增减 & 区间求和)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 128280Accepted Submission(s): 53756...原创 2018-11-27 13:07:58 · 215 阅读 · 0 评论 -
Parenthesis (线段树)
DescriptionBobo has a balanced parenthesis sequence P=p1p2…pnof length n and q questions.The i-th question is whether P remains balanced after paiand pbiswapped. Note that questions are ...原创 2018-08-31 10:52:37 · 501 阅读 · 0 评论 -
ZOJ 4109 Welcome Party (并查集 优先队列)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4109并查集可以联通所有的朋友,使得生气人数最少。为了构成最小的字典序,并查集需要按秩合并(编号小的秩大),然后再用优先队列维护后面的入场顺序。#include <iostream>#include <cstdio>#inclu...原创 2019-05-19 20:48:52 · 334 阅读 · 0 评论 -
PTA L2-030 冰岛人 (并查集)
L2-030 冰岛人2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名。好事者发现冰岛人的名字后面似乎都有个“松”(son),于是有网友科普如下:冰岛人沿用的是维京人古老的父系姓制,孩子的姓等于父亲的名加后缀,如果是儿子就加 sson,女儿则加 sdottir。因为冰岛人口较少,...原创 2019-04-07 19:57:38 · 2806 阅读 · 0 评论 -
蓝桥杯算法提高 Degrees of Separation (并查集&Floyd)
算法提高 Degrees of Separation 问题描述 在我们联系日益紧密的世界里,人们推测每个人和其他人的分离度不超过六(六度分离)。在这个问题里,你需要写一个程序来找出人们的关系网络中最大的分离度。 对于任意两个人,他们的分离度是联系两个人需要经过的最小的关系数。对于一个关系网络,最大的分离度是网络中任意...原创 2019-02-26 23:07:57 · 1163 阅读 · 0 评论 -
HDU 1102Constructing Roads (Kruskal算法)
Constructing RoadsThere are N villages, which are numbered from 1 to N, and you should build some roads such that every two villages can connect to each ot...原创 2019-02-14 13:01:50 · 182 阅读 · 0 评论 -
UVA 1197 The Suspects (并查集)
Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to s...原创 2019-02-13 16:48:31 · 213 阅读 · 0 评论 -
HDU 1829A Bug's Life 并查集
A Bug's LifeBackgroundProfessor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders...原创 2019-02-13 14:05:20 · 530 阅读 · 1 评论 -
PTA L2-013 红色警报 (并查集)
L2-013红色警报(25 分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(...原创 2018-12-30 18:20:32 · 927 阅读 · 0 评论 -
PTA L2-010 排座位 并查集
L2-010排座位(25 分)布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到...原创 2018-12-25 12:58:02 · 417 阅读 · 0 评论 -
HDU 1897 继续畅通工程 (Kruskal 并查集)
#include<iostream>#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>#include<map>#include<vector>#include<stack>#include<...原创 2018-09-23 09:59:41 · 339 阅读 · 0 评论 -
主席树区间查询比某个值次小的数
题目链接:无聊的木头#include <bits/stdc++.h>using namespace std;typedef long long ll;static const int inf = 999999999;static const int maxn = 1e5 + 5;static const ll mod = 998244353;struct Tree{ ...原创 2020-03-02 11:47:20 · 278 阅读 · 0 评论