
数据结构
古宇hhh
学习中!!!!
展开
-
poj 2082 Terrible Sets (单调栈)
Terrible SetsTime Limit: 1000MS Memory Limit: 30000KTotal Submissions:5258 Accepted: 2666DescriptionLet N be the set of all natural numbers {0 , 1 , 2 , . . . },原创 2017-11-29 19:46:37 · 229 阅读 · 0 评论 -
SPOJ DQUERY 区间不同数的个数(树状数组/主席树)
题意: 已知n个整数。询问q次。想知道每个区间内不同数的个数。树状数组分析: 先将所有查询按区间右端点从小到大排序,如果一个数已经出现过就先把以前位置上的删掉然后在新的位置上插入,这样[l,r]中重复的就只计算了一次 。#include<bits/stdc++.h>using namespace std;#define SIZE 100005#de...原创 2018-07-24 15:38:53 · 320 阅读 · 0 评论 -
UvaLive 3942 | la3942 Remember the Word (字典树模板)
题意: 给定一个模式串P n个字串T问p能有几种由T构成的方案。eg:a,b,an,cd abcd ——> a+b+cd/ab+cd分析:组成方案数d(i)表示从i位置组成模式串P的方案数。初始态:d(len)=1d(i) =sum{ d(i, len(x))| x是s(i...l)的前缀 }#include<bits/stdc++.h>using namespa...原创 2018-04-02 21:28:14 · 173 阅读 · 0 评论 -
hrbust 2371 GT’s Dream(树状数组)
题解: 合并两个块可以方便地用并查集实现,在合并的时候也要将权值合并。那么现在的问题就转化为求第k大块的问题了。显然可以用平衡树解决,或者这也是一个经典问题可以用线段树或树状数组解决,线段树的做法比较好理解。首先开一棵权值线段树,假设T[i]控制区间[L,R],则表示大小在区间[L,R]中的块有多少个。询问时自顶向下,在每个点询问T[num*2+1]是否>=k,是则表示答案在右边的区间...原创 2018-03-27 17:48:01 · 183 阅读 · 0 评论 -
poj 1961 | la3026 Period
题意: 给定字符串,假设前i位是循环串,输出i和最小循环节的节数分析:KMP理解: f【i】:失配后的重新匹配的位置; 前f[i]个位置的字符与(i-f[i]+1 , i)的字符相同。 假设前i个字符如果存在循环节,那么我们得到的f【i】//(字符串是从0开始存储的f【i】存储的是i+1个字符匹配失败后的匹配位置)以为存在循环节所以前f【i】个字符与后f【i】个字符相同,如果循...原创 2018-04-02 16:29:34 · 267 阅读 · 1 评论 -
KMP 入门水题 hdu 2087 剪花布条
剪花布条Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23413 Accepted Submission(s): 14581Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。...原创 2017-11-24 19:00:51 · 220 阅读 · 0 评论 -
Kmp 入门题 hdu 2203 亲和串
亲和串Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16020 Accepted Submission(s): 7051Problem Description人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问...原创 2017-11-26 14:12:17 · 203 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers (线段树区间更新)
线段树区间更新板子题:加一个lazy数组用于存储。加lazy原因:有的点并不需要往下更新爆 long long #include<cstdio>#include<cstring>using namespace std;#define N 100005#define LL long longLL tree[N<<2];LL add[N<<2...原创 2018-03-12 13:09:35 · 118 阅读 · 0 评论 -
CodeForces 939D Love Rescue
题意: 一直x,y字符串,问至少需要几种替换方案才能完全替换(替换方案 : a->b 可以将a变成b)分析: 可以考虑用并查集,若同一位置的字符在一个联通块内就可以不用添加新的替换方案#include<bits/stdc++.h>using namespace std;vector<pair<int,int>>vec;int pre[10...原创 2018-02-22 00:12:31 · 337 阅读 · 0 评论 -
hdu 1710 二叉树遍历
题意: 已知前序中序求后续分析: 通过前序中序构造二叉树,递归遍历输出代码: 构造: Node *Creat(int *a,int *b,int n){ Node *t; for(int i=0;i<n;i++){ if(a[0]==b[i]){ t=(Node *)malloc(sizeof(Node)); ...原创 2018-02-21 23:56:33 · 517 阅读 · 0 评论 -
poj 2155 Matrix 二位树状数组
题意: 已知n*n 个格子的矩阵。有q次操作 (初始状态全部为0)c: 给定左上角的点与右下角的点将区间内的点全部反转q:询问(x,y)点的状态分析: 不是自己想的方法,通过搜类型题知道这是二维树状数组,所以直接确定了方向如果对于(x1,y1)-(x2,y2)区间内的点进行反转可以对图中的四个点用二位树状数组进行反转,偶数次反转就被抵消了。图片来源:水印上的链接询问的时候我们只需要当前...原创 2018-03-08 21:27:35 · 146 阅读 · 0 评论 -
POJ 2418 Hardwood Species (二叉搜索树/map)
Hardwood SpeciesTime Limit: 10000MS Memory Limit: 65536KTotal Submissions:25606 Accepted: 9831DescriptionHardwoods are the botanical group of trees that have broa原创 2017-12-12 11:13:02 · 280 阅读 · 0 评论 -
hrbust 2362 Aggie’s Tasks
Aggie’s TasksTime Limit: 1000 MSMemory Limit: 262144 KTotal Submit: 44(25 users)Total Accepted: 13(12 users)Rating: Special Judge: NoDescription原创 2017-12-19 22:05:07 · 214 阅读 · 0 评论 -
Poj 2528 Mayor's posters (线段树区间更新)
Mayor's postersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions:70776 Accepted: 20412DescriptionThe citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campai...原创 2017-12-02 15:55:30 · 167 阅读 · 0 评论 -
poj 2352 Stars (树状数组/线段树)
StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions:50142 Accepted: 21630DescriptionAstronomers often examine star maps where stars are represented by p原创 2017-12-02 14:41:15 · 200 阅读 · 0 评论 -
Poj 2182 Lost Cows 线段树
Lost CowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions:12167 Accepted: 7819DescriptionN (2 <= N <= 8,000) cows have unique brands in the range 1..N. In a spectacular display of poor j...原创 2017-12-01 21:10:46 · 170 阅读 · 0 评论 -
Poj 1703 Find them, Catch them (并查集)
Find them, Catch themTime Limit: 1000MS Memory Limit: 10000KTotal Submissions:48184 Accepted: 14849DescriptionThe police office in Tadu City decides to say ends t原创 2017-11-30 23:06:15 · 244 阅读 · 0 评论 -
Poj 2051 Argus (最小堆/优先队列)
ArgusTime Limit: 1000MS Memory Limit: 30000KTotal Submissions:11624 Accepted: 5654DescriptionA data stream is a real-time, continuous, ordered sequence of items.原创 2017-11-30 21:46:03 · 298 阅读 · 0 评论 -
Can you answer on these queries 3 SPOJ GSS3 线段树
题意:给定长度为N的数列A,以及M条指令(N,M<=50000),每条指令可能是以下两种之一:1."0 x y",把A【x】改成y。2."1 x y",查询区间[x,y]中的最大连续子段和。对于每次询问,输出一个整数表示答案。 分析:一个区间的最大连续子段和只有三种情况。图片来自:https://www.cnblogs.com/shenben/p/6361623...原创 2018-12-06 21:29:28 · 139 阅读 · 0 评论