自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注如一的博客

专注如一

  • 博客(15)
  • 收藏
  • 关注

原创 HDU 4496 D-City (并查集)

题意:有n个城市,m条路,首先m条路都连上,接着输出m行,第i行代表删除前i行的得到的连通块个数题解:正难则反,我们反向考虑使用并查集添边。首先每个点都没有相连,接着倒着来边添加边计算,当两个点父节点相同时连通块不变,否则-1#include<set>#include<map>#include<queue>#include<stack>#include<cmath>#include<vec

2016-09-09 11:06:43 254

原创 POJ 2155 Matrix(二维树状数组+区间更新单点求和)

题意:给你一个n*n的全0矩阵,每次有两个操作: C x1 y1 x2 y2:将(x1,y1)到(x2,y2)的矩阵全部值求反 Q x y:求出(x,y)位置的值树状数组标准是求单点更新区间求和,但是我们处理一下就可以完美解决此问题。区间更新可以使用区间求和的方法,在更新的(x2,y2)记录+1,在更新的(x1-1,y1-1)-1(向前更新到最前方)。单点求和就只需要与区间更新相反,向后求一个区

2016-09-08 01:07:25 475

原创 POJ 3928 Ping pong(树状数组)

题意:每个人都有一个独特的排名(数字大小)与独特的位置(从前往后一条线上),求满足排名在两者之间并且位置也在两者之间的三元组的个数思路:单去枚举哪些数字在两者之间只能用O(n^3)时间太高,但是可以转变思想。我们可以转化为对于每个数字a,求出后面比当前数a大的每个数b,再求出数b后面比当前数b大的数字c的个数,接着对于每个a对应的每个b中c的个数之和就是一半结果,当然还有比他小的是另一半求法类似。其

2016-09-07 18:44:48 249

原创 POJ 3067 Japan(经典树状数组)

基础一维树状数组 题意:左边一排 1-n 的城市,右边一排 1-m 的城市,都从上到下依次对应。接着给你一些城市对,表示城市这两个城市相连,最后问你一共有多少个交叉,其中处于城市处的交叉不算并且每个位置最多只能有有一个交叉。如果左边计数 x1-xn,右边计数 y1-yn,则要出现交叉就是x1与y2相连,y1与x2相连 并(x1-x2)*(y2-y1)<0。所以我们可以首先升序排序x轴,因为城市处不

2016-09-07 10:24:00 335

原创 CodeForces 292D Connected Components (并查集+YY)

很有意思的一道并查集 题意:给你n个点(<=500个),m条边(<=10000),q(<=20000)个询问。对每个询问的两个值xi yi,表示在从m条边内删除从xi到yi的边后连接剩下的边,最后求连通块的总个数求连通块的个数很容易想到并查集,即把每两块并在一起(祖先任选),可以相连就减一。但是每次询问最多需要m次维护。而某两个点可能直接或间接相连多遍,所以删边后此边上的两个点就不一定不相连(离线

2016-09-07 00:44:28 318

原创 UVA 12232 Exclusive-OR(并查集+思想)

题意:给你n个数,接着三种操作: I p v :告诉你 Xp = v I p q v :告诉你 Xp ^ Xq = v Q k p1 p2 … pk:问你k个数连续异或的结果 注意前两类操作可能会出现与之前告诉你的相矛盾,此时输出“The first n(第几个I) facts are conflicting.”接着一直

2016-09-06 21:48:47 286

原创 UVA 1493 Draw a Mess(并查集+set)

这题我一直觉得使用了set这个大杀器就可以很快的过了,但是网上居然有更好的解法,orz。。。 题意:给你一个最大200行50000列的墙,初始化上面没有颜色,接着在上面可能涂四种类型的形状(填充): 圆 :给你圆心坐标,半径,颜色 (1->9) 菱形 :中心坐标,中心向四方的最大值,颜色(1->9) 矩形 :左上角坐标,长和宽,颜色

2016-09-06 16:51:38 267

原创 UVA 1664 Conquer a New Region (并查集+贪心)

并查集的一道比较考想法的题 题意:给你n个点,接着给你n-1条边形成一颗生成树,每条边都有一个权值。求的是以一个点作为特殊点,并求出从此点出发到其他每个点的条件边权的总和最大,条件边权就是:起点到终点经过的权值的最小值。如果按照最原始的想法来做的话就是枚举每个点作为特殊点,离线dfs再遍历到每个点来计算条件边权总和,最后求一个最大值即可。但是此题点数有20万显然超时,接着想了一下是否可以枚举每个点

2016-09-05 20:11:27 602

原创 CodeForces 455C Civilization(并查集+树直径)

好久没有写过图论的东西了,居然双向边要开两倍空间都忘了,不过数组越界cf居然给我报MLE??这个题题意特别纠结,一开始一直不懂添加的边长是多长。。。 题意:给你一些点,然后给一些边,注意没有重边 环,接着给你两种操作: 1 x :求出 x 的集合中最长的边权值 2 x y:合并 x 的集合和 y的集合变成一个集合,并且将 x 集合中任意一个点与 y 集合中任意一个点相连,使合成的集合的任意

2016-09-04 22:31:16 305

原创 UVA 11987 Almost Union-Find (并查集+删边)

开始给你n个集合,m种操作,初始集合:{1}, {2}, {3}, … , {n} 操作有三种: 1 xx1 yy1 : 合并xx1与yy1两个集合 2 xx1 yy1 :将xx1元素分离出来合到yy1上 3 xx1 :查询xx1集合的元素个数,和元素所有值总和并查集,1就是合并两个集合,3要记录两个权值。因为只要祖先的权值,所以Find操作不需要更新权值。 接着就是分离元素了

2016-09-04 17:45:11 403

原创 POJ 1182 食物链 (经典带权并查集)

第三次复习了,最经典的并查集 题意:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: “1 X Y”,表示X和Y是同类。 “2 X Y”,表示X吃Y。 此人对N个动物,用上述两种说法,

2016-09-03 16:26:06 682

原创 HDU 1255 覆盖的面积 (线段树扫描线+面积交)

自己YY了一个的写法,不过时间复杂度太高了,网上的想法太6了 题意:给你一些矩阵,求出矩阵的面积并首先按照x轴离散化线段到线段树上(因为是找连续区间,所以段建树更加好做)。 然后我们可以想一下怎样才能使面积相交呢?我们可以注意到如果矩阵入线出现超过一次就一定有面积相交,所以我们记录入线与出线,再排序y轴,从小到大(注意y轴等大时先进后出)扫描线段。 记录:总长度,当前一整段一起覆盖一次的长度,

2016-09-03 11:14:52 272

原创 HDU 4417 Super Mario(2012杭州网络赛 H 离线线段树)

突然想到的节约时间的方法,感觉6翻了 给你n个数字a,接着m个询问。每次问你一段区间内不大于数字z的个数直接线段树没法做,因为每次给你的数字不一样,父节点无法统计。但是离线一下,如果后面的询问可以用前面已经处理过的一些东西,则可以节约时间。换句话说,就是直接把给数字z进行从小到大排序,每次暴力更新数字a小于等于数字z的叶子节点,数字a赋值为极大值,这样前面更新了的数字a在后面就不需要再更新了,而且

2016-09-02 01:10:00 341

原创 HDU 4267 A Simple Problem with Integers(2012年长春网络赛A 多颗线段树+单点查询)

以前似乎做过类似的不过当时完全不会。现在看到就有点思路了,开始还有洋洋得意得觉得自己有不小的进步了,结果思路错了。。。改了很久后测试数据过了还果断爆空间。。。 给你一串数字A,然后是两种操作: “1 l r k c”:意思是当 l=#include<set>#include<map>#include<queue>#include<stack>#include<cmath>#includ

2016-09-01 20:16:51 193

原创 HDU 3954 Level up(多颗线段树+lazy操作)

又是一开始觉得的水题,结果GG了好久的东西。。。 题意是给你n个英雄,每个英雄开始为1级经验为0,最多可以升到k级并且经验一直叠加,每一级都有一个经验值上限,达到就升级。接着给你两种操作: W li ri ei:从第li到第ri个增加经验基数ei,注意这儿ei还需要乘以级数才是真正增加的经验,还有就是先在此等级下增加此等级倍数的经验,然后再判断升级情况 Q li ri :在第li到第ri个查

2016-09-01 11:57:46 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除