高级数据结构
文章平均质量分 74
高级数据结构
Dream Flying Eagle
这个作者很懒,什么都没留下…
展开
-
J - Welcome Party(2019浙江省省赛)(bfs+优先队列)
J - Welcome Party(2019浙江省省赛)(bfs+优先队列)Time Limit: 2000 msMemory Limit: 131072 KBjudge:ZOJvjudgeDescriptionThe 44th World Finals of the International Collegiate Programming Contest (ICPC 2020) w...原创 2020-04-20 18:05:27 · 345 阅读 · 0 评论 -
双向链表练习题(2019牛客国庆集训派对day1)(二叉树)
双向链表练习题(2019牛客国庆集训派对day1)(二叉树)时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536KSpecial Judge, 64bit IO Format: %lld题目描述Bobo 有 n 个列表 L1,L2,…,LnL_1, L_2, \dots, L_nL1,L2,…,Ln.初始时,LiL_iLi仅包含元素...原创 2019-10-01 23:52:21 · 539 阅读 · 0 评论 -
排名 STL练习C++题解
排名 STL练习C++题解Time limit:1000 msMemory limit:32768 kB描述今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N (...原创 2019-03-27 13:35:47 · 387 阅读 · 0 评论 -
Ugly Numbers STL练习C++题解
Ugly Numbers STL练习C++题解Time limit:3000 ms描述Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, …shows the first 11 ugly numbers. By ...原创 2019-03-27 13:31:14 · 288 阅读 · 0 评论 -
Andy's First Dictionary STL练习C++题解
Andy’s First Dictionary STL练习C++题解Time limit:10000 msMemory limit:262144 kB描述Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for him, as the number...原创 2019-03-08 22:24:51 · 415 阅读 · 0 评论 -
Where is the Marble? STL练习C++题解
Where is the Marble? STL练习C++题解Time limit:10000 msMemory limit:262144 kB描述Raju and Meena love to play with Marbles. They have got a lot ofmarbles with numbers written on them. At the beginnin...原创 2019-03-08 22:17:45 · 266 阅读 · 0 评论 -
Ananagrams STL练习C++题解
Ananagrams STL练习C++题解Time limit1000 ms;Memory limit30000 kB描述Most crossword puzzle fans are used to anagrams — groups of words with the same letters in different orders — for example OPTS, SPOT,...原创 2019-03-08 22:35:03 · 616 阅读 · 0 评论 -
STL中vector、list、deque的区别
STL中vector、list、deque的区别点这里转载 2019-07-23 12:43:07 · 86 阅读 · 0 评论 -
魔咒词典 STL练习C++题解
魔咒词典 STL练习C++题解Time limit:5000 msMemory limit:32768 kBSource:浙大计算机研究生复试上机考试-2008年描述哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。给你一部魔咒词典。当哈利听...原创 2019-03-27 13:39:55 · 642 阅读 · 0 评论 -
The beautiful values of the palace(找规律+离散化)
The beautiful values of the palace(找规律+离散化)T: 1500msM: 524288Kjudge:计蒜客source:The Preliminary Contest for ICPC Asia Nanjing 2019DescriptionHere is a square matrix of n∗nn * nn∗n, each lattice h...原创 2019-09-05 22:25:55 · 484 阅读 · 1 评论 -
动态规划-最长上升(下降)子序列的O(n logn)写法(基于树状数组)
动态规划-最长上升(下降)子序列的O(n logn)写法(基于树状数组)常规最长上升(下降)子序列的时间复杂度是O(n2)O(n^2)O(n2)。优化后可以达到O(nlogn)O(n logn)O(nlogn)一般思维是遍历数组,每次枚举找出前面比它小的元素对应的最长上升子序列的最大长度,而树状数组正是在这一步优化速度的。那么如何利用树状数组加速呢?先复制一份数组,然后排序并剔除相同元素...原创 2019-07-27 21:20:41 · 759 阅读 · 1 评论 -
大整数类(C++ 简化版 不含负数 不含乘法除法)
大整数类(C++ 简化版 不含负数 不含乘法除法)/* 简化版 不含负数 不含乘法除法*/#include <bits/stdc++.h>#define ll long long#define _for(i, a) for(int i = 0; i < (a); i++)#define _rep(i ,a, b) for(int i = (a); i &l...原创 2019-04-17 16:18:12 · 288 阅读 · 1 评论 -
2020 CCPC Wannafly Winter Camp Day1 Div.1&2(H 最大公约数)(找规律+大整数乘法)
2020 CCPC Wannafly Winter Camp Day1 Div.1&2(H 最大公约数)(找规律+大整数乘法)时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有三个人,A,B,C{A,B,C}A,B,C ,其中 A{A}A 和 B{B}B 共享了一个神秘的数字...原创 2020-01-27 13:11:02 · 425 阅读 · 0 评论 -
D. Harmonious Graph(Codeforces Round #600 (Div. 2))(并查集+思维)
D. Harmonious Graph(Codeforces Round #600 (Div. 2))(并查集+思维)input14 81 22 73 46 35 73 86 811 12output1input200000 37 99 84 5output0样例1:题解如果有 1−n1-n1−n 的路径的话,那么 1−n1-n1−n 这个...原创 2019-11-17 23:34:11 · 327 阅读 · 0 评论 -
The 18th Zhejiang Provincial Collegiate Programming Contest部分题解(A,C,G,J,L,M)
A. League of LegendsCodeforces题意签到题C. CubeCodeforces题意给出 888 个点,判断这 888 个点是否组成一个正方体。题解888 个点两两组对得 282828 条边,判断这 282828 条边是否有 121212 个相等的 AAA (楞长), 121212 个相等的 BBB (正方形的对角线), 444 个相等的 CCC (正方体的对角线),且 A2+B2=C2A^2+B^2=C^2A2+B2=C2 。若是,则是正方体,否则不是。代码#原创 2021-05-03 00:10:52 · 1357 阅读 · 0 评论 -
Numbers of interval(前缀和数组+二分)
Numbers of interval(前缀和数组+二分)source:河南理工大学算法协会暑期集训积分赛(二)网络同步赛 E题 点我进入评测机单点时限: 2.0 sec内存限制: 512 MB描述现在有一个数组,请计算有多少的区间[l,r](l≤r)[l, r](l≤r)[l,r](l≤r)满足 ∑∑∑ri=l aaai ≥k≥k≥k.输入格式第一行输入n,k(1≤n,k≤106)...原创 2019-07-27 19:01:16 · 197 阅读 · 1 评论 -
2020ICPC·小米 网络选拔赛第一场题解(D,J)
链接:https://ac.nowcoder.com/acm/contest/7501来源:牛客网A签到题D-Router Mesh时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lldjudge:牛客竞赛In a Mesh networking system, there are nnn MI Routers, where mmm pairs of MI Routers are bidirecti原创 2020-10-28 13:21:53 · 730 阅读 · 0 评论 -
线段树汇总 之 练习篇-转自神牛notonlysuccess
FROM:http://www.notonlysuccess.com/index.php/segment-tree-complete/在代码前先介绍一些我的线段树风格:maxn是题目给的最大区间,而节点数要开4倍,确切的来说节点数要开大于maxn的最小2x的两倍lson和rson分辨表示结点的左儿子和右儿子,由于每次传参数的时候都固定是这几个变量,所以可以用预定于比较方便的表示...转载 2019-04-05 20:43:54 · 182 阅读 · 1 评论 -
线段树汇总 之 基础用法(不包含懒标记)
线段树之基础用法(不包含懒标记)参考自:神牛notonlysuccess和https://blog.csdn.net/metalseed/article/details/8039326但因原文中发现了很多错误,于是我就稍微修改了一下。--------------------------------------------------------------------------------...转载 2019-04-05 21:25:08 · 224 阅读 · 1 评论 -
线段树汇总 之 基础用法(包含懒标记)
线段树二之懒标记转载自:https://www.cnblogs.com/Robin20050901/p/9876321.html--------------------------------------------------------------------------------------------------------------------------------------...转载 2019-04-05 22:07:24 · 670 阅读 · 1 评论 -
P3372【模板】线段树 1 - 线段树入门练习
P3372【模板】线段树 1 - 线段树入门练习题目链接:https://www.luogu.org/problemnew/show/P3372题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字...原创 2019-04-06 12:10:37 · 297 阅读 · 1 评论 -
P1886 滑动窗口 -线段树基础练习
P1886 滑动窗口 -线段树基础练习题目链接:https://www.luogu.org/problemnew/show/P1886题目描述现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。例如:The array is [1 3 -1 -3 5 3 6 7], and k = ...原创 2019-04-06 15:48:06 · 216 阅读 · 1 评论 -
治安管理 - 第十一届河南省ACM省赛题解
治安管理 - 第十一届河南省ACM省赛题解judge:第十一届河南省ACM省赛题时间限制: 3 Sec 内存限制: 128 MB题目描述SZ市是中国改革开放建立的经济特区,是中国改革开放的窗口,已发展为有一定影响力的国际化城市,创造了举世瞩目的“SZ速度”。SZ市海、陆、空、铁口岸俱全,是中国拥有口岸数量最多、出入境人员最多、车流量最大的口岸城市.为了维护SZ经济特区社会治安秩序,保障...原创 2019-04-08 20:54:28 · 443 阅读 · 1 评论 -
敌兵布阵 简单线段树
敌兵布阵 简单线段树https://vjudge.net/contest/295911#problem/ATime limit:1000 msMemory limit:32768 kBOS:Windows描述C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵...原创 2019-04-18 12:49:12 · 149 阅读 · 1 评论 -
Mayor‘s posters(线段树+离散化)
Mayor’s posters(线段树+离散化)Time limit:1000 msMemory limit:65536 kBOS:Linuxjudge:https://vjudge.net/contest/295911#problem/D描述The citizens of Bytetown, AB, could not stand that the candidates in the...原创 2019-04-18 20:52:35 · 466 阅读 · 1 评论 -
Just a Hook(线段树)
Just a Hook(线段树)Time limit:2000 msMemory limit:32768 kBOS:Windowsjudge:https://vjudge.net/contest/295911#problem/E描述In the game of DotA, Pudge’s meat hook is actually the most horrible thing for...原创 2019-04-19 13:20:26 · 309 阅读 · 0 评论 -
Count the Colors(线段树+状态合并)
Count the Colors(线段树+状态合并)Time limit:2000 msMemory limit:65536 kBOS:Linuxjudge:https://vjudge.net/contest/295911#problem/F描述Painting some colored segments on a line, some previously painted segm...原创 2019-04-19 14:36:08 · 187 阅读 · 1 评论 -
Find the answer-hduoj 6609-2019暑期杭电多校训练营第3场(线段树-前缀和)
Find the answer(有注释)-hduoj 6609-2019暑期杭电多校训练营第3场(线段树-前缀和)judge:hduoj 6609source:2019 Multi-University Training Contest 3Time Limit: 4000/4000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Othe...原创 2019-07-30 09:28:56 · 282 阅读 · 2 评论 -
2020牛客寒假算法基础集训营4(C 子段乘积)(线段树或尺取法)
2020牛客寒假算法基础集训营4(C 子段乘积)(线段树或尺取法或分治)时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lldjudge: 点我跳转题目描述给出一个长度为 nnn 的数列 a1,a2,…,ana_1,a_2,\ldots,a_na1,a2,…,an ,求其长度为 kkk 的...原创 2020-02-11 21:28:34 · 318 阅读 · 0 评论 -
2021牛客寒假算法基础集训营4部分题解(A,B,D,E,F,G,H,I,J)
oj: 牛客A 九峰与签到题oj: 牛客题解签到题代码#pragma GCC optimize(2)#include <bits/stdc++.h>#define _for(i, a) for(int i = 0, lennn = (a); i < lennn; ++i)#define _rep(i, a, b) for(int i = (a), lennn = (b); i <= lennn; ++i)#define nl(i, n) (i == n - 1 ?原创 2021-02-20 16:18:12 · 510 阅读 · 8 评论 -
字典树-学习笔记
字典树-学习笔记参考文章浅谈Trie树(字典树)笔记代码#include <iostream>#include <algorithm>#include <string>#include <cstring>#define maxn 100005using namespace std;int root;int trie[...原创 2019-12-20 15:09:02 · 147 阅读 · 0 评论 -
P3834 【模板】可持久化线段树 1(主席树)(主席树模板题)
P3834 【模板】可持久化线段树 1(主席树)(主席树模板题)时间限制1.00s ~ 1.20s内存限制256.00MB题目背景这是个非常经典的主席树入门题——静态区间第 kkk 小数据已经过加强,请使用主席树。同时请注意常数优化题目描述如题,给定 nnn 个整数构成的序列,将对于指定的闭区间查询其区间内的第 kkk 小值。输入格式第一行包含两个正整数 n,mn,mn,...原创 2020-01-30 15:21:03 · 115 阅读 · 0 评论 -
E. Tree(The 2019 ACM-ICPC China Shannxi Provincial Programming Contest)(树链剖分+线段树)
4000ms 262144Kjudge:计蒜客DescriptionMing and Hong are playing a simple game called nim game. They have nn piles of stones numbered 111 to nnn ,the iii-th pile of stones has aia_iai stones. There are n−1n - 1n−1 bidirectional roads in total. For any two.原创 2020-10-08 11:33:40 · 189 阅读 · 0 评论 -
洛谷P1533 可怜的狗狗(莫队+Splay)
时间限制:1.00s内存限制:125.00MBOJ:洛谷P1533题目背景小卡由于公务需要出差,将新家中的狗狗们托付给朋友嘉嘉,但是嘉嘉是一个很懒的人,他才没那么多时间帮小卡喂狗狗。题目描述小卡家有N只狗,由于品种、年龄不同,每一只狗都有一个不同的漂亮值。漂亮值与漂亮的程度成反比(漂亮值越低越漂亮),吃饭时,狗狗们会按顺序站成一排等着主人给食物。可是嘉嘉真的很懒,他才不肯喂这么多狗呢,这多浪费时间啊,于是他每次就只给第i只到第j只狗中第k漂亮的狗狗喂食(好狠心的人啊)。而且为了保证某一只狗.原创 2020-10-28 13:19:57 · 361 阅读 · 0 评论 -
Link/Cut Tree学习笔记
最近正是实验课的高峰期,我数了一下,除了毛概没有实验课,其他的课都有实验课。。。不过好在这些实验都不是很难。我尽力挤出时间用来刷题。简介Link/Cut Tree和树链剖分很相似,二者处理的问题也有重叠。区别在于后者用线段树维护树链,所以树链是静态的,剖分方式是重链剖分;后者是用Splay维护树链,是动态的,剖分方式是实链剖分,所以Link/Cut Tree有时也被称为动态树(它只是动态树的一种)。树链剖分的剖分方式结果是由子树决定的,即由题目中给出的数据决定的;而Link/Cut Tree的剖分方式原创 2020-10-28 13:21:01 · 658 阅读 · 0 评论 -
F Fake Maxpooling(2020牛客暑期多校训练营(第二场))(单调队列)
F Fake Maxpooling(2020牛客暑期多校训练营(第二场))(单调队列)链接:https://ac.nowcoder.com/acm/contest/5667/F时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述Given a matrix of size n×mn\times mn×m and an integer k{k}k, where Ai,j=lcm(i,j)A_{i,j}原创 2020-07-15 17:23:13 · 168 阅读 · 0 评论 -
伸展树(Splay)学习笔记
简介Splay是二叉搜索树的一种,也是平衡树的一种。其复杂度低的原因在于每次查找一个节点的时候,树都会重构使得深度降低,然后以后再访问周围的节点就会很快,不容易被卡。既然是二叉搜索树,所以其每个节点最多只有2个子节点,且左儿子节点的值一定比它小,右儿子节点的值一定比它大。例如:节点结构#define ls(x) T[x].ch[0]#define rs(x) T[x].ch[1]#define fa(x) T[x].fa#define root T[0].ch[1]struct node原创 2020-10-28 13:18:54 · 1284 阅读 · 0 评论 -
二叉搜索树的原理及其实现
二叉搜索树的原理及其实现代码#include <iostream>#include <vector>#include <algorithm>#include <queue>using namespace std;struct poi { int val; poi *l, *r; poi() {} poi(int ...原创 2019-10-26 11:26:43 · 647 阅读 · 0 评论 -
深度理解链式前向星
点这里转载 2019-07-30 16:41:17 · 94 阅读 · 0 评论