
数据结构
文章平均质量分 84
HuanTongH
这个作者很懒,什么都没留下…
展开
-
zoj 2112 Dynamic Rankings 带修改区间第k大的几种解法
给出n个数,有两种操作,一种是修改某个数的值,另一种查询指定区间第k大。比较快的做法是树套树,而分块算法复杂度比较高写起来方便。分块算法可以很简单的处理单独修改某个值的情况。将n个数分成num块,每块大小siz=n/num。每一块内部排序进行排序,查询[l,r]第k大时,先二分答案,对于完全包含在区间的内块直接二分搜索,而对于区间两端只有部分包含的则直接遍历查找。复杂度是logn*(2*s原创 2015-08-16 12:28:18 · 3808 阅读 · 2 评论 -
poj 2774 后缀数组模板
求两个字符串的最长公共子串。将两个字符串连接为一个新字符串,并计算后缀数组和高度数组lcp。然后检查后缀数组中所有相邻的后缀,其中后缀分别属于第一和第二个字符串的lcp的最大值就是答案。#include #include #include #include #include #include #include #include #include #includ原创 2015-04-21 23:52:14 · 485 阅读 · 0 评论 -
poj 1816 Trie+DFS匹配模式串
Wild WordsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 4887 Accepted: 1274DescriptionA word is a string of lowercases. A word pattern is a string of原创 2015-04-26 12:06:21 · 522 阅读 · 0 评论 -
poj 2778 AC自动机+dp矩阵快速幂
DNA SequenceTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12628 Accepted: 4818DescriptionIt's well known that DNA Sequence is a sequence only contains原创 2015-04-24 20:59:39 · 449 阅读 · 0 评论 -
poj 3109 扫描线+bit
Inner VerticesTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 1815 Accepted: 479Case Time Limit: 2000MSDescriptionThere is an infinite square gr原创 2015-04-12 10:22:49 · 659 阅读 · 0 评论 -
hdu 2222 ac自动机模板题
Keywords SearchTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40636 Accepted Submission(s): 12942Problem DescriptionIn the moder原创 2015-04-24 15:42:49 · 472 阅读 · 0 评论 -
hdu 3973 字符串hash+线段树动态维护
AC's StringTime Limit: 30000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1091 Accepted Submission(s): 311Problem DescriptionYou are given原创 2015-04-15 23:57:27 · 686 阅读 · 0 评论 -
poj 2155 二维树状数组/区间更新单点查询
MatrixTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 20002 Accepted: 7481DescriptionGiven an N*N matrix A, whose elements are either 0 or 1. A[i, j]原创 2015-04-08 18:07:18 · 581 阅读 · 0 评论 -
poj 1997 trie树
Word PuzzleTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 1113 Accepted: 494DescriptionWhat a game collection it would be without famous and well kno原创 2015-04-14 18:01:20 · 598 阅读 · 0 评论 -
zoj 3649 树上的倍增法
Social NetTime Limit: 5 Seconds Memory Limit: 65536 KBThere are n individuals(2 n <= 30000). Everyone has one or more friends. And everyone can contact all people by friend-relation. If原创 2015-05-09 15:03:24 · 757 阅读 · 0 评论 -
hdu 1890 Splay区间最小值、区间翻转
Robotic SortTime Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2800 Accepted Submission(s): 1217Problem DescriptionSomewhere deep in原创 2015-05-02 11:47:12 · 565 阅读 · 0 评论 -
hdu 5381 莫队算法/gcd
The sum of gcdTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 645 Accepted Submission(s): 279Problem DescriptionYou have an array原创 2015-08-17 18:55:41 · 993 阅读 · 0 评论 -
SPOJ COT2 树上的莫队算法,树上区间查询
题意:n个节点形成的一棵树。每个节点有一个值。m次查询,求出(u,v)路径上出现了多少个不同的数。树上的莫队算法,同样将树分成siz=sqrt(n)块,然后离线操作。先对树dfs一遍,每当子树节点个数num>=siz,就将这num个分成一块。读取所有的查询按左端点所在块排序。重点在于怎么进行区间转移,对路径的lca特殊处理,参考博客http://blog.youkuaiyun.com/kuribohg原创 2015-08-17 19:09:00 · 2182 阅读 · 0 评论 -
主席树(可持久化线段树)入门专题
1.poj 2104 查询区间第k小。主席树其实相当于建立了n棵线段树,第i棵线段树是根据区间【1,i】按值建立的。对于每一棵线段树我们记录它对应的区间每个数出现的次数,所以首先要对所有的数离散化。先考虑最简单的情况,只查询【1,n】的第k小,对于【1,n】我们按值建立一棵线段树,对于a[i]我们在位置a[i]上加1。查询第k小那么先看左子区间出现了多少个数cnt,假设左区间出现的数cnt原创 2015-08-16 18:34:52 · 6040 阅读 · 0 评论 -
hdu 5324 树套树、cdq分治
一、线段树/树状数组套平衡树题目大意是给你n个(L[i], R[i])的点,找出最长的子序列,满足L[i]递减,R[i]递增。为了看起来顺眼点,我们可以把其中一维取相反数,使得两个都找递减,或者都找递增的。我们把L[i]取相反数,找两个都递增的。假设不考虑R[i],只考虑L[i],那么就相当于LIS问题了。dp[i]记录以L[i]为结尾的最大长度,dp[i]=max{dp[原创 2015-08-02 11:33:53 · 704 阅读 · 0 评论 -
hdu 4630 线段树+离线处理
No Pain No GameTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1790 Accepted Submission(s): 763Problem DescriptionLife is a g原创 2015-07-29 11:46:02 · 620 阅读 · 0 评论 -
poj 3415 后缀数组+单调队列
Common SubstringsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 8106 Accepted: 2688DescriptionA substring of a string T is defined as:T(i, k)=TiT原创 2015-05-18 17:47:46 · 638 阅读 · 0 评论 -
hdu 3308 线段树-区间连续最长上升子序列
LCISTime Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4842 Accepted Submission(s): 2166Problem DescriptionGiven n integers.You ha原创 2015-05-01 13:40:41 · 952 阅读 · 0 评论 -
poj 3580 区间翻转、插入、删除、循环位移
SuperMemoTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 11004 Accepted: 3461Case Time Limit: 2000MSDescriptionYour friend, Jackson is invited原创 2015-05-02 16:46:54 · 542 阅读 · 0 评论 -
hdu 4819 二维线段树,单点修改区间查询
MosaicTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 916 Accepted Submission(s): 402Problem DescriptionThe God of sheep d原创 2015-04-08 17:39:13 · 1315 阅读 · 1 评论 -
poj 2887 块状数组/线段树
Big StringTime Limit: 1000MS Memory Limit: 131072KTotal Submissions: 5952 Accepted: 1405DescriptionYou are given a string and supposed to do some string manipul原创 2015-04-03 23:36:33 · 1476 阅读 · 0 评论 -
hdu 3507 斜率优化dp入门
Print ArticleTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 6389 Accepted Submission(s): 1965Problem DescriptionZero has an原创 2015-03-14 16:29:06 · 546 阅读 · 0 评论 -
hiho #1080 : 更为复杂的买卖房屋姿势 线段树区间更新
时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产。在这个游戏里,会不断的发生如下两种事件:一种是房屋自发的涨价或者降价,而另一种是政府有关部门针对房价的硬性调控。房价的变化自然影响到小Hi和小Ho的决策,所以他们希望能够知道任原创 2015-02-13 14:57:47 · 1396 阅读 · 0 评论 -
poj 3264 st算法
Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 36777 Accepted: 17218Case Time Limit: 2000MSDescriptionFor the daily milking, Farme原创 2015-02-13 16:21:29 · 511 阅读 · 0 评论 -
zoj 3686 树转化为数组表示,线段树区间更新
A Simple Tree ProblemTime Limit: 3 Seconds Memory Limit: 65536 KBGiven a rooted tree, each node has a boolean (0 or 1) labeled on it. Initially, all the labels are 0.We define t原创 2015-03-14 22:46:17 · 510 阅读 · 0 评论 -
poj 3368 离散化+线段树+二分
Frequent valuesTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 13911 Accepted: 5098DescriptionYou are given a sequence of n integers a1 , a2 , ... , a原创 2015-02-13 17:38:27 · 618 阅读 · 0 评论 -
poj 1201 interval 差分约束/贪心+线段树区间更新
IntervalsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 22337 Accepted: 8423DescriptionYou are given n closed, integer intervals [ai, bi] and n integ原创 2015-02-01 15:01:02 · 809 阅读 · 0 评论 -
kmp代码
void getNext(char* p,int next[]) { int len = strlen(p); int i = 0, j = -1; next[i] = j; while (i < len - 1) { //p[j]表示前缀,p[i]表示后缀 if (j == -1 || p[i] ==原创 2014-10-03 21:59:06 · 793 阅读 · 0 评论 -
单调队列的应用
描述给定一个长度为n(n下面是一个例子:数组是 [1 3 -1 -3 5 3 6 7], k = 3。窗口位置最小值最大值[1 3 -1] -3 5 3 6 7 -13 1 [3 -1 -3] 5 3 6 7 -33 1 3 [-1 -3 5] 3 6 7原创 2014-10-01 10:24:39 · 2297 阅读 · 0 评论 -
kmp求字符串最小周期
总时间限制: 3000ms 内存限制: 65536kB描述给定两个字符串a和b,我们定义a*b为他们的连接。例如,如果a=”abc” 而b=”def”, 则a*b=”abcdef”。 如果我们将连接考虑成乘法,一个非负整数的乘方将用一种通常的方式定义:a^0=””(空字符串),a^(n+1)=a*(a^n)。输入每一个测试样例是一行可打印的字符作为输入,用s表示。s原创 2014-10-03 22:31:37 · 2166 阅读 · 2 评论 -
poj 2991 线段树区间更新
CraneTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 3897 Accepted: 1059 Special JudgeDescriptionACM has bought a new crane (crane -- jeřáb) . The原创 2015-02-07 16:05:14 · 470 阅读 · 0 评论 -
hiho #1079 离散化
#1079 : 离散化时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~这天小Hi和小Ho所在的学校举办社团文化节,各大社团都在宣传栏上贴起了海报,但是贴来贴去,有些海报就会被其他社团的海报所遮挡住。看到这个场景,小Hi便原创 2015-02-13 13:48:52 · 835 阅读 · 0 评论 -
poj 1821 dp+单调队列
FenceTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 3858 Accepted: 1176DescriptionA team of k (1 <= K <= 100) workers should paint a fence which cont原创 2015-03-12 21:51:53 · 709 阅读 · 0 评论 -
zoj 3699 单调队列
Dakar RallyTime Limit: 2 Seconds Memory Limit: 65536 KBDescriptionThe Dakar Rally is an annual Dakar Series rally raid type of off-road race, organized by the Amaury Sport Organiz原创 2015-03-11 23:21:27 · 679 阅读 · 0 评论 -
poj 1459 网络流EK算法/ Dinic算法
Power NetworkTime Limit: 2000MS Memory Limit: 32768KTotal Submissions: 24008 Accepted: 12534DescriptionA power network consists of nodes (power stations, consum原创 2015-03-01 20:11:10 · 585 阅读 · 0 评论 -
poj 3281 网络流Dinic算法
DiningTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 10184 Accepted: 4682DescriptionCows are such finicky eaters. Each cow has a preference for certa原创 2015-03-10 12:02:56 · 564 阅读 · 0 评论 -
poj 2796 st算法+二分 / 单调栈
Feel GoodTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 10430 Accepted: 2855Case Time Limit: 1000MS Special JudgeDescriptionBill is develop原创 2015-03-07 18:29:32 · 530 阅读 · 0 评论 -
poj 2559 单调栈
Largest Rectangle in a HistogramTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 15582 Accepted: 5032DescriptionA histogram is a polygon composed of a原创 2015-03-07 21:09:59 · 387 阅读 · 0 评论 -
poj 3494 dp+单调栈
Largest Submatrix of All 1’sTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 5088 Accepted: 1897Case Time Limit: 2000MSDescriptionGiven a m-by-n原创 2015-03-07 23:30:29 · 523 阅读 · 0 评论 -
poj 2104 -- kth number 平方分割法例题
K-th NumberTime Limit: 20000MS Memory Limit: 65536KTotal Submissions: 39585 Accepted: 12912Case Time Limit: 2000MSDescriptionYou are working for Macrohard c原创 2015-02-09 11:03:42 · 748 阅读 · 0 评论