-------数据结构-------
Fb_by
这个作者很懒,什么都没留下…
展开
-
hdu3966 树链剖分
Aragorn's StoryTime Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4541 Accepted Submission(s): 1232Problem DescriptionOur prota原创 2015-05-19 19:24:55 · 340 阅读 · 0 评论 -
hdu 5828 Rikka with Sequence 【线段树+优化】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5828题意:给你n个数,q个操作,操作k,l,r,k=1时 区间[l,r]每个数加x,k=2时,区间[l,r]每个数开平方,k=3时,求区间[l,r]的和。分析:我们知道一个数多次开平方会变成1,但是这里的1操作会使这个数的值增大,所以直接判断一个区间是否为1肯定超时。官方题解加了个优化,就是判原创 2016-08-12 18:48:37 · 764 阅读 · 0 评论 -
2016 MUT 5 1012 World is Exploding(hdu5792) 【树状数组】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5792题意:给你一个序列Ai,让你找出有多少个一个四元组(aAd.分析:先离散化,然后用树状数组统计每个数前后有多少小于大于它的数,这个时候我们先不考虑重复的算出ans,然后用ans减去a=c,c=d,b=d,b=c的。四个for枚举就好了。a==c ans-=BGreaterNum[i原创 2016-08-03 12:11:20 · 379 阅读 · 0 评论 -
计蒜客 百度地图的实时路况 【cdq+floyd】
链接:https://nanti.jisuanke.com/t/11217分析:题目要求所有的dis(x,y,z); x到z不经过y的最短路。考虑暴力做法,枚举每一个点表示不经过它,跑n次floyd。。显然n^4过不去。我们在求最短路的时候很多i到j的最短路重复的求过了。考虑分治,每次求(l,r)可以用(l,mid)求floyd表示用可能用到了(l,mid)中的点,到(mid+1,r)中找原创 2016-07-14 16:26:37 · 744 阅读 · 0 评论 -
2016"百度之星" - 初赛(Astar Round2A) 1003 【dfs序+线段树】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5692分析:每次询问在x的子树里找里root最远的点,很容易想到用dfs序找到他子树的区间,直接用线段树求出就可以了,更新的时候只要在子树的每个节点上加上修改的差值。代码:#include#include#include#include#include#include#include原创 2016-05-21 21:55:14 · 389 阅读 · 0 评论 -
BSG白山极客挑战赛题解 E 【二分+树状数组】
链接:http://www.51nod.com/contest/problem.html#!problemId=1685题意:中文题分析:二分答案t,统计中位数大于等于t的区间有多少个。 设a[i]为前i个数中有a[i]个数>=t,若奇数区间[l,r]的中位数>=t,则(a[r]-a[l-1])*2>r-l+1,即(a[r]*2-r)>(a[l-1]*2-l+1)。 设b[i]=a[i]*原创 2016-05-21 20:07:26 · 538 阅读 · 0 评论 -
bzoj 3262: 陌上花开 【cdq分治】
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3262题意:中文题。分析:题目已经给出花的等级条件,我们只要求出有多少朵花小于它,等于的我们之后讨论,我们按照条件排好序,这时排序就已经处理了s,我问cdq时对[1,k]进行分治,mid=(l+r)>>1,对于mmid的有贡献,这个贡献用树状数组求(c),然后我们将这个区间按mm原创 2016-04-24 21:53:40 · 274 阅读 · 0 评论 -
bzoj 1176: [Balkan2007]Mokia 【CDQ分治】
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1176题意:中文题分析:题目要求一个子矩阵的所有权值和,我们可以将询问用容斥分成四块,可以通过加加减减得到原矩阵;现在我们把这些询问都成了与修改一样的操作形式,对于这些操作我们加入一个时间戳z,那么一个修改(x,y,z)会对询问(x1,y1,z1)产生影响的必要条件就是x>1原创 2016-04-24 21:25:34 · 282 阅读 · 0 评论 -
BestCoder Round #80 E Road (hdu5669) 【线段树+分层图最短路】
链接:http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=688&pid=1005题意:中文题分析:官方题解说的很详细了这里就不转了,关键部分已经注释了代码:#include #include #include #include #include #include #include #原创 2016-04-22 20:22:57 · 1004 阅读 · 0 评论 -
bzoj 3295: [Cqoi2011]动态逆序对 【cdq分治】
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3295题意:中文题分析:我们先预处理出每个数为逆序对做出的贡献多少,可以分成和前面或后面的数组成逆序对个数,删除的时候减去这些贡献就行了?显然不是,应为对于一个逆序对a,b,删除a的是时候减去了他的贡献,然后再删除b时重复删除了贡献。那么我们得找出方法把减得加回来,设删除的数为x原创 2016-05-04 22:22:52 · 476 阅读 · 0 评论 -
BestCoder Round #77
链接:http://bestcoder.hdu.edu.cn/1001:子集异或和,n=1不为0其他都为0。代码:#include#include#include#include#include#include#include#include#include#include#include#define INF 0x3f3f3f3f#define Mn 105原创 2016-03-27 22:03:46 · 257 阅读 · 0 评论 -
Codeforces Round #343 (Div. 2)
链接:http://codeforces.com/contest/629A. Far Relative’s Birthday Cake题意:计算每行每列中的c有多少对。分析:n*(n-1)/2.。。代码:#include#include#include#include#include#include#include#include#include#includ原创 2016-03-17 20:09:40 · 269 阅读 · 0 评论 -
ACdream 1157 Segments 【CDQ分治】
链接:http://acdream.info/problem?pid=1157题意:中文题分析:与bzoj1176分析一致,要求是这条线段被多少条包含,所以我们按x=y1,z代码:#include #include #include #include #include #include #include #include #include #include #i原创 2016-04-25 21:52:36 · 224 阅读 · 0 评论 -
poj2985 The k-th Largest Group 【树状数组求第K大】
链接:http://poj.org/problem?id=2985题意:给你n,m,代表有n个集合,开始每个集合大小为1,接下来m个操作,每个操作先输入c,c==0则将x,y集合合并,c==0,输出第k大。分析:集合和并可以用并查集,然后求第k大直接用树状数组。代码:#include#include#include#include#include#include#inc原创 2016-03-26 15:08:44 · 790 阅读 · 0 评论 -
BestCoder Round #74 (div.2 d) hdu5638 Toposort 【线段树】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5638题意:给出n个点m条边的有向无环图. 要求删掉恰好k条边使得字典序最小的拓扑序列尽可能小.分析:因为要字典序最小,所以每次要找入度小于等于k的最小节点,用线段树维护即可。#include#include#include#include#include#includ原创 2016-03-07 16:13:03 · 325 阅读 · 0 评论 -
bzoj3781 小B的询问【莫队】
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3781题意:中文题。分析:赤裸裸的莫队代码:#include#include#include#include#include#include#include#include#include#include#include#define INF 0x3f3f3f3原创 2016-01-20 14:06:03 · 293 阅读 · 0 评论 -
poj2104 K-th NumberK-th Number【主席树】
链接:http://poj.org/problem?id=2104题意:给你n个小于10^9的数,m个询问。问你l到r中第k小的数是什么。分析:主席树入门题代码:#include#include#include#include#include#include#include#include#include#include#include#define INF原创 2016-01-20 13:52:02 · 355 阅读 · 0 评论 -
hdu 5249 树状数组求第K大
KPITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 362 Accepted Submission(s): 150Problem Description你工作以后, KPI 就是你的全部了. 我开发了原创 2015-05-31 19:26:07 · 407 阅读 · 0 评论 -
bzoj3531 [Sdoi2014]旅行 【树链剖分+线段树动态开点】
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3531题意:中文题分析:由于是在树上求某一条路径(u,v)的值,很容易想到用树链剖分求,但是每次求的路径只需要与(u,v)相同颜色的点的值,不能直接用线段树统一维护。我们考虑每种颜色都建一颗线段树,那么直接维护相应颜色上的值就行了,但是这样空间是O(n*n),如果我们建n棵空树,树的原创 2016-08-13 14:40:07 · 370 阅读 · 0 评论