ACM____数据结构
文章平均质量分 72
Xingw-Xiong
明天的你一定会感谢现在拼命努力的自己...
展开
-
[CodeForces#376 C Socks] 并查集
[CodeForces#376 C Socks] 并查集题目链接:[CodeForces#376 C Socks] 题意描述:有N双袜子, 解题思路:#include using namespace std;const int MAXN = 200000 + 5;int N, M, K, C[MAXN];int fa[MAXN];int belong[MAXN], ti原创 2016-10-22 23:37:06 · 845 阅读 · 0 评论 -
[TYVJ P1716/BZOJ 3132 上帝造题的七分钟] 二维树状数组区间修改、区间查询
[TYVJ P1716/BZOJ 3132 上帝造题的七分钟] 二维树状数组区间修改、区间查询知识点:data structure binary index tree1. 题目链接[TYVJ P1716 上帝造题的七分钟] 类似题目还有[POJ 2155 Matrix]。只不过这个题目就是一个二维的区间翻转,单点查询。一个树状数组就可以做了,但是可以套上这题的模板做,如果你不闲麻烦的话。。2. 题原创 2017-01-03 03:09:32 · 1287 阅读 · 0 评论 -
[SPOJ IITWPC4F Gopu and the Grid Problem]线段树区间翻转
[SPOJ IITWPC4F Gopu and the Grid Problem]线段树区间翻转知识点:data structure segment tree1. 题目链接[SPOJ IITWPC4F Gopu and the Grid Problem]2. 题意描述在一个二维X−YX-Y平面(0≤x,y≤100000)(0\le x,y\le 100000)上有三种操作。操作次数为qq。(q≤10原创 2017-01-04 00:00:37 · 846 阅读 · 0 评论 -
[ifrog 1072 Capture] 优先队列/线段树
[ifrog 1072 Capture] 优先队列/线段树知识点: tree stl 优先队列 线段树1. 题目链接[ifrog 1072 Capture]2. 题意描述有一棵树,根节点为11,有nn次操作。可以新增一个节点,也可以删除一个节点。每次操作之后查询树的最大深度。1≤n≤1000001\le n\le 100000。 时间为:15s15s。。。3. 解题思路优先队列存放每个节点的深度。原创 2016-12-26 00:54:45 · 821 阅读 · 0 评论 -
[ifrog 1069 Rectangle Cover] 二维树状数组
[ifrog 1069 Rectangle Cover] 二维树状数组知识点:tree 2-D Binary Indexed Tree1. 题目链接[ifrog 1069 Rectangle Cover] 2. 题意描述有一个n∗nn*n的区域,在这个区域进行两种操作,总共操作qq次。操作一: 以(x1,y1)(x_1, y_1)为左上点,(x2,y2)(x_2, y_2)为右下点,画一个矩形;原创 2016-12-26 11:52:15 · 619 阅读 · 0 评论 -
[51Nod 1677 Treecnt] 树上dfs+排列组合
[51Nod 1677 Treecnt] 树上dfs+排列组合知识点:tree math1. 题目链接[51Nod 1677 Treecnt]2. 题意描述给定一棵n个节点的树,从1到n标号。选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少。 现需要计算对于所有选择k个点的情况最小选择边数的总和为多少。 样例解释: 一共有三种可能:(下列配图蓝色点表示选择的点原创 2017-01-05 23:43:54 · 563 阅读 · 0 评论 -
[hdu 5700 区间交]树状数组+二分
[hdu 5700 区间交]树状数组+二分知识点:data structure binary index tree1. 题目链接[hdu 5700 区间交] 类似题目:[Codeforces 754D Fedor and coupons]这个题目思路一模一样,只需要对位置离散化一下^_^。2. 题意描述有nn个非负整数a1,a2,⋯,ana_1,a_2,\cdots,a_n,有mm个区间,每个区原创 2017-01-07 23:47:33 · 704 阅读 · 0 评论 -
[SPOJ UOFTCG Office Mates]
[SPOJ UOFTCG Office Mates]分类:dfs tree 1. 题目链接[SPOJ UOFTCG - Office Mates]2. 题意描述题意: 有N个学生,M 对朋友关系,学生只能挨着他的朋友坐。 桌子排列成一条直线,可以让一些桌子空出来,数据保证对于任何含K个学生的集合,最多只有K-1对朋友。 求最少需要多少张桌子。 数据: (N<=100000)(N <= 10原创 2017-01-19 23:40:43 · 459 阅读 · 0 评论 -
[Codeforces 712E Memory and Casinos]概率+线段树区间合并
[Codeforces 712E Memory and Casinos]概率+线段树区间合并分类:math probabilities data structures1. 题目链接[Codeforces 712E Memory and Casinos]2. 题意描述现在n个赌场排成一行。 在第i个赌场,有p[i]的概率获胜,如果此时i=n则结束,否则到达第i+1个点;有(1-p[i])概率失败,原创 2017-01-24 19:22:13 · 786 阅读 · 0 评论 -
[POJ 2368 A Simple Problem with Integers] 树状数组区间修改、区间查询
[POJ 2368 A Simple Problem with Integers] 树状数组区间修改、区间查询知识点:data structure binary index tree1. 题目链接[POJ 2368 A Simple Problem with Integers]2. 题意描述对数组ana_n进行qq次区间修改(加上一个数),区间查询。 1≤n,q≤105,−109≤Ai≤1091\原创 2017-01-02 23:35:57 · 594 阅读 · 0 评论 -
[Codeforces #388D Leaving Auction] 线段树+二分
[Codeforces #388D Leaving Auction] 线段树+二分1. 题目链接[Codeforces #388D Leaving Auction]2. 题意描述有nn个人进行参加拍卖竞选,编号为1~n1\text{~}n,总共出价了nn次,第ii次参加竞选的人编号为aia_i,出价为bib_i,可能有些人没有出价,有些人可能会多次出价。(跟我们平时理解的拍卖相同)。 然后,有qq原创 2016-12-21 19:05:29 · 754 阅读 · 0 评论 -
[Codeforces 325 D. Reclamation]并查集
[Codeforces 325 D. Reclamation]并查集1. 题目链接:[Codeforces 325 D. Reclamation]并查集2. 题意描述:有一个r×cr×c的圆柱形方格表,左边和右边是相连的,现在有nn次操作,每次会尝试在一个位置放上障碍物,如果放上障碍物之后上边和下边不连通,那么这个障碍物就不能放下去,求出最后有多少个障碍物。 3. 解题思路:考虑将整张表复制一份接原创 2016-12-05 23:07:24 · 698 阅读 · 0 评论 -
[spoj QTREE Query on a tree]树链剖分
[spoj QTREE Query on a tree]树链剖分题目链接:[spoj QTREE Query on a tree] 题意描述:给定一棵顶点数为N的带权树。有Q次操作,每次操作或者改变第ii条边的权值,或者查询顶点uu到vv的路径上面的最长边。 解题思路: 树链剖分的入门题。今天比较系统的学习了一下树链剖分。其实树链剖分就是将树上的边(点)映射到若干条连续的线段上。然后结原创 2016-09-24 01:58:25 · 591 阅读 · 0 评论 -
[hdu 3966 Aragorn's Story] 点权树链剖分
[hdu 3966 Aragorn’s Story] 点权树链剖分题目链接:[hdu 3966 Aragorn’s Story] 题意描述: 给定一个NN个点的树,以及树上的点对应的初始权值。接下来有PP次操作,操作一:将顶点uu到顶点vv的路径上的所有点权±x±x,操作二:求顶点uu上的权值。 解题思路:点权的树链剖分以及区间更新和单点求值。/**********************原创 2016-09-28 00:28:39 · 644 阅读 · 0 评论 -
[Codeforces 719 E. Sasha and Array] 矩阵快速幂+线段树
[Codeforces 719 E. Sasha and Array] 矩阵快速幂+线段树题目链接:[Codeforces 719 E. Sasha and Array] 题意描述:给定NN个数a1,a2,…,ana_1,a_2,\ldots,a_n,有MM次操作。操作11:将连续区间aL,aL+1,…,aRa_L,a_{L+1},\ldots,a_R中的所有数字+x+x;操作22:对于连续区间原创 2016-09-28 20:05:28 · 988 阅读 · 0 评论 -
[Kattis Boxes] 倍增法LCA / DFS序
[Kattis Boxes] 倍增法LCA / DFS序题目链接:【Virtual Judge】 【Kattis Boxes】 题目描述: There are N boxes, indexed by a number from 1 to N. Each box may (or not may not) be put into other boxes. These boxes together f原创 2016-11-05 00:27:16 · 1262 阅读 · 0 评论 -
hdu 1540/POJ 2892 Tunnel Warfare 【线段树区间合并】
Tunnel WarfareTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)链接:hdu 1540 POJ 2892Problem Description During the War of Resistance Against Jap原创 2015-08-10 13:43:19 · 2252 阅读 · 0 评论 -
[Codeforces #379 E. Anton and Tree]缩点+树上最长路
[Codeforces #379 E. Anton and Tree]缩点+树上最长路1. 题目链接[Codeforces #379 E. Anton and Tree]2. 题意描述给定一个NN个节点的树。树上每个节点ii都有初始颜色coloricolor_i(0或者1)(0 或者 1), 相同颜色的且相邻的节点在同一个块中。每次操作可以将一个块中的所有节点颜色反转。问,将该树上所有节点颜色都变成原创 2016-11-18 01:05:34 · 778 阅读 · 0 评论 -
[hdu 4417 Super Mario] 主席树+离散化 OR 分块
[hdu 4417 Super Mario] 主席树+离散化题目链接:[hdu 4417 Super Mario] 题意描述:给定NN个数a1,a2,…,ana_1,a_2,\ldots,a_n,MM次查询,每次查询区间aL,aL+1,…,aRa_L,a_{L+1},\ldots,a_R小于HH数的个数。(1≤N,M≤105,0≤ai,H≤1000000000)(1 \le N,M \le 10原创 2016-10-18 00:33:17 · 1105 阅读 · 0 评论 -
[Codeforces #316 D. Tree Requests]DFS序、离线、二分
[Codeforces #316 D. Tree Requests]DFS序、离线、二分1. 题目链接[Codeforces #316 D. Tree Requests]2. 题意描述给定一棵NN个节点的树, 每个节点对应2626个小写字母中的一个字母,节点ii的深度记为depidep_i。MM次询问,每次询问节点uu的子树中(含节点uu)的所有深度为depidep_i的节点,分别取得他们对应的字母原创 2016-11-22 13:49:14 · 588 阅读 · 0 评论 -
[BZOJ4373算术天才⑨与等差数列] 线段树
[BZOJ4373算术天才⑨与等差数列] 线段树分类:Data Structure1. 题目链接[BZOJ4373算术天才⑨与等差数列]2. 题意描述算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了原创 2017-04-17 19:43:14 · 599 阅读 · 0 评论 -
[ZOJ 3765 Lights] Splay
[ZOJ 3765 Lights] Splay分类:Data Structure Hash1. 题目链接[ZOJ 3765 Lights] 2. 题意描述有一个长度为nn的序列。qq次操作。 序列中每个元素有两个属性,value和status。有以下几种操作。查询区间[L,R][L, R]范围内状态为statusstatus的数的valuevalue的gcd;第ii个元素后面插入一个元素删除原创 2017-04-21 13:18:25 · 623 阅读 · 0 评论 -
[CSU 1915 John and his farm]树形DP+LCA
[CSU 1915 John and his farm]树形DP+LCA分类:Tree DP LCA1. 题目链接[CSU 1915 John and his farm]2. 题意描述有一棵NN个节点的树,树上每条边长度为1。 现在需要等概率地随机地在两个顶点之间加一条边。 MM次询问。 每次查询给定两个顶点u,vu,v。求增加一条边,保证顶点u,vu,v在一个环内的条件下,求环的长度的数学期原创 2017-05-09 01:06:52 · 634 阅读 · 0 评论 -
[51Nod1676 无向图同构]无向图哈希
[51Nod1676 无向图同构]无向图哈希分类:Data Structure Hash1. 题目链接[51Nod1676 无向图同构]2. 题意描述3. 解题思路对某一个东西进行哈希,一般就选取一些特征点,然后尽可能离散化这些特征点。对于无向图中的每一个联通块来说,他的特征点就是顶点的度。显然这样还不够,那么可以加入深度这个特征,只需要对联通块的每一个顶点bfs求一边单源点最短路。 利用这两个特原创 2017-12-09 13:37:39 · 1280 阅读 · 0 评论 -
[Codeforces 724G. Xor-matic Number of the Graph]线性基+计数
[Codeforces 724G. Xor-matic Number of the Graph]线性基+计数分类:Data Structure bitmasks math1. 题目链接[Codeforces 724G. Xor-matic Number of the Graph]2. 题意描述一个边权非负整数的无向连通图,节点编号为11~nn,三元组<u,v,s>\mathrm{<u,v,s>}表示原创 2017-12-09 14:59:49 · 627 阅读 · 0 评论 -
[51Nod 1394 差和问题]树状数组
[51Nod 1394 差和问题]树状数组分类:Data Structure FenwickedTree 1. 题目链接[51Nod 1394 差和问题]2. 题意描述3. 解题思路首先离线所有操作,并且所有数字进行离散化。 然后用树状数组维护每个数字出现的次数以及区间和。 对于操作1和操作2,我们可以看成一个单点更新的操作。 但是对于操作3的询问操作,似乎不能直接查询。不过既然答案是全局的,原创 2017-12-10 12:21:44 · 520 阅读 · 0 评论 -
[CCF CSP201709-4通信网络]缩点+拓扑+bitset
[CCF CSP201709-4通信网络]缩点+拓扑+bitset分类:Data Structure strongly connected components topology bitset1. 题目链接[CCF CSP201709-4通信网络]缩点+拓扑2. 题意描述3. 解题思路先对有向图缩点,得到DAG图,和反向DAG图。 然后用bitset维护出每个节点的自身以及他的祖先,对DAG,反原创 2017-12-05 13:07:05 · 625 阅读 · 1 评论 -
[Codeforces 903 D. Almost Difference]树状数组+大数模板
Codeforces 903 D Almost Difference树状数组大数模板题目链接题意描述解题思路实现代码[Codeforces 903 D. Almost Difference]树状数组+大数模板分类:FenwickTree BigInteger template1. 题目链接[Codeforces 903 D. Almost Difference]2. 题意描述3. 解题思路思原创 2017-12-14 23:13:20 · 749 阅读 · 3 评论 -
谈谈数据结构-Treap
谈谈数据结构-Treap分类:Data Structure Treap 1. Treap原理Treap=(Binary Search)Tree + Heap。 Treap 去掉fix域和rotate过程,就是一个很简单的排序二叉树BST。 虽然在插入数据完全离散的情况下,BST的期望复杂度也是O(logn)O(logn)O(\log n),但是,无论是在算法竞赛中,还是实际情...原创 2018-04-24 14:41:21 · 455 阅读 · 0 评论 -
[Wannafly挑战赛14 B 前缀查询]字典树
[Wannafly挑战赛14 B 前缀查询]字典树分类:Data Structure Trie Tree Prefix Tree 1. 题目链接[Wannafly挑战赛14 B 前缀查询]2. 题意描述在一个 Minecraft 村庄中,村长有这一本小写字母构成的名册(字符串的表), 每个名字旁边都记录着这位村民的声望值,而且有的村民还和别人同名。 随着时间的推移,...原创 2018-04-21 14:17:28 · 551 阅读 · 0 评论 -
[计蒜客 阿里巴巴的手机代理商(中等)] 字典树
[计蒜客 阿里巴巴的手机代理商(中等)] 字典树分类:Data Structure Trie 1. 题目链接[计蒜客 阿里巴巴的手机代理商(中等)] 2. 题意描述阿里巴巴的手机代理商正在研究 infra 输入法的新功能。他们需要分析单词频率以改进用户输入法的体验。于是需要你在系统内核里面写一个 API。 API 有如下功能:添加操作:添加操作格式为insert bar...原创 2018-05-18 09:33:26 · 389 阅读 · 0 评论 -
[hdu 6230 Palindrome] Manacher+树状数组
[hdu 6230 Palindrome] Manacher+树状数组分类:Data Structure Manacher FenwickedTree 1. 题目链接[hdu 6230 Palindrome] 2. 题意描述给定一个字符串,统计有多少个子串是one−and−half palindromic\mathbf {one-and-half\space palindromic}. (即字符串长原创 2017-11-15 16:20:16 · 1709 阅读 · 0 评论 -
[牛客网#35D 树的距离]离散化+线段树合并
[牛客网#35D 树的距离]离散化+线段树合并题意描述:wyf非常喜欢树。一棵有根数树上有nn个节点,11号点是他的根,每条边都有一个距离,而wyf是个爱问奇怪问题的熊孩子,他想知道对于某个点xx,以xx为根的子树上,所有与xx距离大于等于kk的点与xx的距离之和。 解题思路:对每个节点建一个线段树,维护每个距离出现的次数以及区间距离之和。原创 2017-11-29 17:28:11 · 619 阅读 · 0 评论 -
[Codeforces 893F. Subtree Minimum Query]线段树合并
[Codeforces 893F. Subtree Minimum Query]线段树合并分类:Data Structure SegMent Tree Merge 1. 题目链接[Codeforces 893F. Subtree Minimum Query]2. 题意描述一个nn个节点的有根树,每个节点有一个边权aia_i,每条边的边长为11。然后是mm个询问。对于第ii次询问,求在点xix_i为根原创 2017-11-28 22:01:47 · 1191 阅读 · 1 评论 -
[hdu 4819 Mosaic]二维线段树
[hdu 4819 Mosaic]二维线段树分类:Data Structure SegMent Tree template 1. 题目链接[hdu 4819 Mosaic]2. 题意描述给定一个800∗800800*800的二维矩阵的初始状态,然后Q(1≤Q≤100000)Q(1\le Q\le 100000)次操作,每次查询点(x,y)(x,y)为中心,边长为ll的领域中的最大值、最小值,然后用⌊原创 2017-08-21 14:21:05 · 481 阅读 · 0 评论 -
[CSU 1923 Mysterious Block D]哈希
[CSU 1923 Mysterious Block D]哈希分类: HashMap1. 题目链接[CSU 1923 Mysterious Block D]2. 题意描述输入一个n∗mn*m的地图,地图中’#‘表示墙,墙将将这个地图分隔成若干个小块,每个小块都是一个矩形。每个小块中包含了’+’,’-‘两种字符。 求这个地图中有多少个不同的小块。 如果小块a经过若干次翻转90度之后,能够形成小块b原创 2017-05-09 22:52:37 · 730 阅读 · 0 评论 -
[Codeforces 842D Vitya and Strange Lesson]异或字典树
[Codeforces 842D Vitya and Strange Lesson]异或字典树分类:Data Structure Trie Tree 1. 题目链接[Codeforces 842D Vitya and Strange Lesson]2. 题意描述有NN个数,MM次查询a1,a2,…,ana_1,a_2,\dots,a_n。每次查询包含一个数xx,将所有数与xx异或,即ai=ai⨁xa原创 2017-08-30 13:34:05 · 587 阅读 · 1 评论 -
[spoj COT - Count on a tree]树上第K小
[spoj COT - Count on a tree]树上第K小分类:Data Structure Presidental Tree template 1. 题目链接[spoj COT - Count on a tree]2. 题意描述N个节点的树,树上每个节点有一个点权。M次询问,每次询问一条链上的第kk小数。 数据范围:(N,M<=100000)(N,M<=100000) Time lim原创 2017-08-31 02:12:42 · 630 阅读 · 0 评论 -
[CSU 2005 Nearest Maintenance Point Submit Page] Dijkstra
[CSU 2005 Nearest Maintenance Point Submit Page] Dijkstra分类:Data Structure Shortest Path Dijkstra 1. 题目链接[CSU 2005 Nearest Maintenance Point Submit Page] 2. 题意描述有一个nn个顶点mm条边的无向图。在这nn个点中有ss个顶点是维修站,然后qq次原创 2017-09-10 18:22:07 · 655 阅读 · 0 评论 -
[gym 101149 M. Ex Machina]构造+线段树
[gym 101149 M. Ex Machina]构造+线段树分类:Data Structure SegMent Tree Construction 1. 题目链接[gym 101149 M. Ex Machina]构造+线段树2. 题意描述交互题。有nn个互不相同的数,要你通过n+24n + 24次询问,确定那个数是次大数的位置。(1≤n≤1000)(1\le n \le 1000)3. 解题思原创 2017-10-19 15:11:44 · 525 阅读 · 0 评论