
数据结构
文章平均质量分 76
jinzhao1994
这个作者很懒,什么都没留下…
展开
-
[ZOJ 3324][BNUOJ 16842] Machine [线段树]
给定一个序列,现有两个操作,一个是将l原创 2014-07-14 10:20:44 · 562 阅读 · 1 评论 -
[POJ 3468] A Simple Problem with Integers [线段树]
裸线段树...#include #include using namespace std;struct Node { int l,r; long long sum,lazy; Node *ls,*rs;};Node a[300100];Node *p;int n,q;Node *maketree(int l,int r) { Node *tmp=p++;原创 2014-05-01 19:25:55 · 416 阅读 · 0 评论 -
[FOJ 2112][Vjudge 35186] Tickets [并查集+一笔画问题]
给一个图,问最少加多少条边能让其一笔画出来如果一个图时里原创 2014-07-11 10:49:58 · 440 阅读 · 0 评论 -
[POJ 2887] Big String [块状链表]
给一个字符串,有两个操作:查询第i个字符,在第i个字符前加入一个其他字符可以用块状链表 以根号n为块大小,复杂度为每次操作根号n#include #include using namespace std;const int SIZE=1010;struct Node { char a[SIZE*2]; Node *next; int length; void p原创 2014-05-02 18:21:32 · 609 阅读 · 1 评论 -
[FOJ 2105][Vjudge 35179] Digits Count [线段树]
给一列数,可以让第l到r个数同时与、或、异或上某个数,或者求第l到r个数的和数据范围:总共10^6个数,10^5次操作,每个数的大小在[0,16)内把每个数都按照二进制分成4位,建立4棵线段树,线段树上有置零(与操作),置一(或操作),取反(异或操作)三种操作,有求和查询#include #include struct Node { int l,r,sum,lazy; N原创 2014-07-11 10:37:32 · 499 阅读 · 0 评论 -
[HDOJ 1251] 统计难题 [字典树]
裸题...#include #include using namespace std;const int N=500000;struct Node { Node *ch[26]; int num;};Node a[N];Node *root;char s[11];int p=0;Node *newNode() { memset(a[p].ch,0,sizeo原创 2014-05-03 23:32:32 · 478 阅读 · 0 评论 -
[HDOJ 1558] Segment set [线段相交+并查集]
其实因为判断线段相交的复杂度就是n^2的,所以其实不用并查集,直接暴力原创 2014-05-02 11:32:14 · 601 阅读 · 0 评论 -
[HDOJ 4967] Handling the Past [线段树]
作为一个服务器,你会收到一些关于一个栈的一些操作,他们分别原创 2014-08-20 10:22:19 · 431 阅读 · 0 评论 -
[HDOJ 4902] Nice boat [线段树]
给定数列,有2种操作,分原创 2014-08-07 20:59:27 · 456 阅读 · 0 评论 -
[HDOJ 4913] Least common multiple [动态规划+线段树]
给定一个集合,集合内的每个元素都是2^ai*3原创 2014-08-08 14:46:48 · 501 阅读 · 0 评论 -
[HDOJ 4923] Room and Moor [单调栈]
给定一个序列,求一个学列原创 2014-08-10 15:44:40 · 384 阅读 · 0 评论 -
[HDOJ 4942] Game on S♂play [线段树]
给定一棵树,每个点上有一个固定不变的权值,每个点的的三原创 2014-08-13 12:21:19 · 378 阅读 · 0 评论 -
[SYSU 1800][BNUOJ 27411] Sequence [单调队列][RMQ]
给一个序列,求这个序列的长度在l到r之间的子串的元素和的最小值数据范围序列总长度小于32767,每个元素范围没说,实测他们及他们的和可以直接用int解法1:用单调队列维护从某个位置开始,到当前位置结束的子串的元素和,他们应该是单增的,复杂度O(n)解法2:也可以计算出长度在0到r-l之间的子串的元素和的最大值,然后用1-i的元素和减,复杂度O(n)解法3:也可以用RMQ做,不过复杂原创 2014-07-11 09:53:06 · 497 阅读 · 0 评论 -
[POJ 2492] A Bug's Life [扩展并查集]
有一些虫子,已知谁和谁是不同原创 2014-05-01 20:14:19 · 541 阅读 · 0 评论 -
[POJ 2104] K-th Number [划分树]
求区间第k大数...昨天块状链表没过...今天正经的用划分树做下..顺带一个划分树教程tip: build那里我觉得 if (l==r) return;这句话写在最开始就好,事实上我这么写的也过了..不知道他为什么放到后边..#include #include #include #include using namespace std;int n,m;int原创 2014-05-03 14:05:09 · 519 阅读 · 0 评论 -
[HDOJ 4879] ZCC loves march [模拟+数据结构]
给一个10^18*10^18的棋盘,上边一共有10^5个原创 2014-07-25 12:51:42 · 648 阅读 · 0 评论 -
[HDOJ 4866] Shooting [可持久化线段树]
在一个平面直角坐标系上,有一些靶子,有一个人可以的原创 2014-07-25 12:39:54 · 421 阅读 · 0 评论 -
[POJ 3468] A Simple Problem with Integers [树状数组]
给一列数,有区间修改区间查询,线段树模板题原创 2014-07-25 15:58:13 · 427 阅读 · 0 评论 -
[SPOJ GSS1] Can you answer these queries I [线段树]
给定一个序列,查询区间子段和的最大值。即给x,y,求sum=原创 2014-07-27 10:21:26 · 633 阅读 · 3 评论 -
[SPOJ GSS5] Can you answer these queries V [线段树]
与GSS1一样,给定一个序列,查询区间子段和的最大值。即给x,y,求sum=a[i]+a[i+1]+...+a[j],x线段树,每个节点保存从左开始的最大值,从右开始的最大值,中间的最大值,区间和。原创 2014-07-27 11:01:07 · 525 阅读 · 2 评论 -
[HDOJ 4893] Wow! Such Sequence! [线段树]
给定一个序列,现有3种操作:1.原创 2014-08-01 19:03:31 · 456 阅读 · 0 评论 -
[SPOJ GSS2] Can you answer these queries II [线段树]
给定一个序列,查询区间子段重复元素和的最大值。即给x,y,求sum=a[i]+a[i+1]+...+a[j],x线段树,每个节点保存从左开始的最大值,从右开始的最大值,中间的最大值,区间和。原创 2014-07-27 10:31:01 · 903 阅读 · 0 评论 -
[SPOJ GSS3] Can you answer these queries III [线段树]
与GSS1一样,额外添加了单点修改成某值的操作给定一个序列,查询区间子段和的最大值。即给x,y,求sum=a[i]+a[i+1]+...+a[j],x线段树,每个节点保存从左开始的最大值,从右开始的最大值,中间的最大值,区间和。原创 2014-07-27 10:48:15 · 547 阅读 · 0 评论 -
[SPOJ GSS4] Can you answer these queries IV [树状数组+并查集][线段树+双向链表]
给一个序列,有两种操作,一种是把第x个数到的原创 2014-07-27 10:56:33 · 691 阅读 · 0 评论 -
[HDOJ 1247] Hat’s Words [字典树]
这题目没说字符串长度和是多少...也没说怎么原创 2014-05-03 21:19:37 · 594 阅读 · 0 评论 -
[POJ 3468] A Simple Problem with Integers [线段树-动态建树版]
裸线段树...动态建树版...原创 2014-05-01 19:31:52 · 490 阅读 · 0 评论 -
[POJ 3245] Sequence Partitioning [动态规划+线段树]
已知一个序列,每个元素都是一个有序数对(A,B),原创 2014-08-18 10:01:42 · 724 阅读 · 0 评论