数据结构
数据结构
正月看飞雪
这个作者很懒,什么都没留下…
展开
-
POJ - 1733 Parity game 并查集 扩展域解法 &带边权解法
题目大意有一个01序列每次给一个 两个数x y 和他们之间的1的个数是奇数还是偶数问 在第几个给定的条件可以判断这些条件存在矛盾样例Sample Input1051 2 even3 4 odd5 6 even1 6 even7 10 oddSample Output3解法一: 带边权思路 利用前缀和思想。 a代表a的前缀和, 由于是01序列, 所以a就代表a的前面有多少个1, a 和 b 之间的1个数是偶数, 代表a - 1原创 2020-05-14 17:49:09 · 184 阅读 · 0 评论 -
POJ - 3468 A Simple Problem with Integers 线段树延迟标记模板题
题目大意给定一个长度为n的序列, 求m组询问C l r d 代表把区间l-r的数加上dQ l r 代表求区间l, r的和样例Sample Input10 51 2 3 4 5 6 7 8 9 10Q 4 4Q 1 10Q 2 4C 3 6 3Q 2 4Sample Output455915代码#include <iostream>#inclu...原创 2020-04-06 14:46:40 · 121 阅读 · 0 评论 -
CH4301 Can you answer on these queries 线段树维护最大连续子段和
题目描述给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤y{∑ri=lA[i]}。2、“2 x y”,把 A[x] 改成 y。对于每个查询指令,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个整数A[i]。接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x&g...原创 2020-04-06 13:46:22 · 234 阅读 · 0 评论 -
CH4201 楼兰图腾 树状数组与逆序对问题
题目大意给定一个长度为n的序列, 1.求所有点的左边右边比它大的数的个数, 两边的个数相乘, 所有的点求和, 2.求所有点的左边右边比它小的数的个数, 两边的个数相乘, 所有的点求和, 样例输入样例:51 5 3 2 4输出样例:3 4思路利用树状数组求逆序对代码#include <iostream>#include <cstring>#...原创 2020-04-05 17:03:11 · 157 阅读 · 0 评论 -
NOI 2015 程序自动分析 并查集+离散化
题目链接链接2题目大意给定n个关系, a = b 和 a != b ,求这些关系中是否不存在矛盾不存在: 输出YES存在:输出NO样例Sample Input221 2 11 2 021 2 12 1 1Sample OutputNOYES思路利用并查集维护a = b 的情况, 把相等的维护在同一个集合,如果再查询不相等的关系,如果存在有他们在同一个集合...原创 2020-04-03 20:06:53 · 134 阅读 · 0 评论 -
中缀表达式的计算
中缀表达式:就是我们平时用的表达式形如:(3+54/2+2(1+1)*(2+2)) = 29计算我们用两个栈来实现, 一个栈存数字, 一个栈存符号步骤遍历整个表达式,如果当前的字符是数字, 就存进栈里面,如果是符号,就把栈里面优先级比当前高的算式全部计算在最后和开始存入一对括号, 就可以避免边界条件代码#include <iostream>#include <...原创 2020-04-01 17:33:27 · 3123 阅读 · 1 评论 -
POJ - 1961 Period (KMP next数组求循环节)
题目描述给定长度为n的字符串, 求串中某个点的前缀中的循环节最多有多少个样例Sample Input3aaa12aabaabaabaab0Sample OutputTest case #12 23 3Test case #22 26 29 312 4思路我们知道, KMP中的next数组,next[j] 代表j的前缀和从后面开始, 长度为j的串相等, ...原创 2020-03-30 16:13:12 · 139 阅读 · 0 评论 -
POJ - 3974 Palindrome 字符串hash实现求最长回文子串
题目描述给定一个字符串, 要求求出他的最长回文子串包含多个输入, 以END结束样例Sample InputabcbabcbabcbaabacacbaaaabENDSample OutputCase 1: 13Case 2: 6思路我们枚举每个字符,求以他为中心的最长回文串, 记录最长的一段,就是最终结果对于回文串是偶数的情况, 我们把原串都在他们的两个字符间加入一个...原创 2020-03-30 14:30:54 · 170 阅读 · 0 评论 -
二叉树相关计算
树的结点的度:这个节点的子树的个数二叉树中的节点只能分为度为: 0, 1,2;设二叉树的节点总数:N度为0,1,2的节点个数为:N0, N1, N2N = N0 + N1 + N2二叉树的边总数:N- 1N- 1 = N1 + 2 * N22式带入1式的得:N2+ 1 = N0 + N1如果要叶子结点多,则N1= 0;把N2用N0代替带入1式得:N = N0 - 1 + N0;...原创 2020-03-27 17:08:38 · 751 阅读 · 0 评论 -
POJ - 2299 Ultra-QuickSort 逆序对经典问题 (树状数组解法 VS 归并排序解法)
问题描述给定若干组序列, 求序列中的逆序对的数量数据范围0≤N<500000,0≤ai≤999999999样例Sample Input59105431230Sample Output60思路一: 树状数组 我们用一个结构体记录下数组的值,和他对应的下标,将数组排序,把每个点从小到大遍历,并把这个...原创 2020-03-19 12:57:23 · 143 阅读 · 0 评论 -
数据结构基础【Trie(字典树)】
Trie定义: Trie (字典树)是一种用于实现字符串快速检索的多叉树结构。Trie的每个节点都拥有若于个字符指针,若在插入或检索字符串时扫描到一个字符c, 就沿着当前节点的C字符指针,走向该指针指向的节点。初始化 ...原创 2020-01-21 15:14:26 · 343 阅读 · 0 评论 -
数据结构基础【最小表示法】
最小表示法定义 给定一个字符串S[1~n], 如果我们不断把它的最后一一个字符放到开头, 最终会得到n个字符串,称这n个字符串是循环同构的。这些字符串中字典序最小的一个,称为字符串S的最小表示。朴素法不过多阐述,这里介绍一种O(n)时间复杂度的方法。S = “bacacabc”, i=2, j=4...原创 2020-01-21 11:29:49 · 345 阅读 · 0 评论 -
数据结构基础【字符串Hash】
字符串Hash取一固定值P,把字符串看作P进制数,并分配一个大于0的数值,代表每种字符。一般般来说,我们分配的数值都远小于P。例如,对于小写字母构成的字符串,可以令a = 1,b = 2, z = 26。取一固定值M,求出该P进制数对M的余数,作为该字符串的Hash值。字符串Hash函数把一个任意长度的字符串映射成一一个非负整数,并且其冲突概率几乎为零。根据经验,取P = 131或P = 1...原创 2020-01-19 15:55:55 · 1810 阅读 · 0 评论 -
数据结构基础【单调队列】
单调队列单调队列一般是具有单调性的队列,单调队列有单调递增和单调递减两种,一般来讲,队列的队首是整个队列的最大值或最小值,它的思想也是在决策集合(队列)中及时排除一定不是最优解的选择。单调队列是优化动态规划的一个重要手段。具体实现步骤:维护单调单调递增队列:若队列为空,将S[i]从队尾入队。若队列不为空,将比S[i]大的元素都从队尾弹出,然后把S[i]入队。若队列不为空且S[i]大于...原创 2020-01-19 12:12:48 · 293 阅读 · 0 评论 -
数据结构基础【单调栈】
单调栈定义:单调递增栈:出栈时为单调递增序列。单调递增栈:出栈时为单调递增序列。单调栈的经典运用:POJ2559Largest Rectangle in a Histogram题目大意:如下图所示,在一条水平线上方有若千个矩形,求包含于这些矩形的并集内部的最大矩形的面积(在下图中,答案就是阴影部分的面积),矩形个数≤105。思路:我们建立一个栈,用来保存若干个矩阵,这些矩阵...原创 2020-01-17 20:03:06 · 426 阅读 · 0 评论 -
线段树模板 单点修改 区间修改 区间加 & 区间乘
线段树维护数组arr[] = {1,3,5,7,9,11},的区间和。每一个节点的左右孩子等于2*node + 1和 2 * 弄得+ 2;#include<bits/stdc++.h>using namespace std;const int N = 1000;void build_tree(int arr[], int tree[], int node, int st...原创 2019-12-01 16:05:45 · 318 阅读 · 0 评论 -
HDU 2087【kmp模板】
**剪花布条**Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 39379 Accepted Submission(s): 24011Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰...原创 2019-11-27 22:52:18 · 199 阅读 · 0 评论