自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(717)
  • 收藏
  • 关注

原创 hdu 3938 Portal

题意在csj小盆友的指导下看懂了 T T 。。。我表示,这个题的题意真的很模糊。。给你力量L,求有多少条path的力量小于等于L。这个path消耗的力量是T,T是U到V上最长的边。所以说,只要求得有多少个点对使得点对之间的最大的边小于L即可。采用并查集,离线计算,

2011-08-12 16:49:50 1999 1

原创 划分树学习(poj 2104,hdu 3473)

线段树一维的刷差不多了,求区间第K数一直卡着。划分树和归并树都可以求,比较了一下时间效率,划分树比归并树快了很多,而且POJ有个求区间第K数的题用归并树居然过不去。鉴于时间短,我决定把划分树给弄明白= =。。借用下小HH的图。划分树和归并树都是用线段树作为辅助

2011-08-12 11:11:33 12017 8

原创 鉴于归并树好慢,我好好学学划分树吧。

预计今天一天搞完。到时候会好好写写自己心得体会吧。呵呵。昨天实在太累了,今天好好加油哦~~~~~~~

2011-08-12 08:28:47 1642 2

原创 My归并树,划分树模板。

POJ 2104 划分树,时间复杂度O(MlogN),归并树,时间复杂度O(Mlog^3N)。归并树#include #include #include #include #include #include #include #include #inc

2011-08-11 13:23:19 2309 8

原创 BZOJ 1012: [JSOI2008]最大数maxnumber

线段树水题,一个节点一个节点的建,保存上一次结果,以及序列长度即可。http://www.zybbs.org/JudgeOnline/problem.php?id=1012#include #include #include #include #include

2011-08-10 17:53:35 2236

原创 线段树学习(二)

写的很水。。大家绕道走吧。学了十天了都。刷了快30题了,水题居多= =。。基本线段树题型也就这样了吧。不过求区间第K数的我一直没做,没太理解怎么做。大致分为这几类操作:1、区间覆盖,染色啊,异或啊,加上一个数,乘一个数,都变成某个数啊神马的。2、涉及矩形的

2011-08-10 17:07:32 1337

原创 线段树的发明者:Bentley,我会好好记住他的 = =。

The primary task performed by a segment tree is the same as that done byan interval tree: keeping track of a set of n intervals, here assu

2011-08-10 15:55:39 2534 4

原创 hdu 3927 Math Geek

反幻方。见求法,http://w3.math.sinica.edu.tw/math_media/d164/16419.pdf知道就水了= =。。我还推了好久好久 T T 。。#include #include #include #include #in

2011-08-09 18:40:21 1224 1

原创 hdu 3926 Hand in Hand

判断两个图是否是同构的。根据题意,这个图只能由环和链组成。判断环的个数以及每个环组成的人数,还有链的个数以及每个链组成的人数即可。#include #include #include #include #include #include #include #

2011-08-09 18:38:56 1432

原创 悲剧,我的线段树有一个地方一直写繁了!!!

呜呜!!!! if( l < mid ) ans = min(ans,sub_query(node,L(t),l,r)); if( r > mid ) ans = min(ans,sub_query(node,R(t),l,r));类似这种的 T T ..之前写一直带等

2011-08-09 09:00:52 802

原创 hdu 1823 Luck and Love

继续二维线段树。这题坑姐啊!!!调了一晚上啊啊啊!!!不过也更理解二维线段树的更新过程了。我开始弄的二维的更新的可能更新到没有包含更新区间,也给更新了,昨晚躺在床上才想到T T。。。后来发现,又少写个等号,今早改后AC。很纠结啊,这个东西。想清楚了,刚把代码改得更简洁

2011-08-09 08:29:12 1223 5

原创 zoj 2859 Matrix Searching

人生第一棵二维线段树,哇卡卡卡卡卡卡卡卡!!!虽然是看着资料写成的吧。写了好久滴说。首先遇到的第一个难题是,建树问题。T T。开始我传递的是指针,发现怎么建都不对 = =。后来直接都用全局的调用,参数加个父树的线段的下标,虽然有点麻烦,但是确实是个办法。还有就是,

2011-08-08 17:27:30 1053 6

原创 hdu 2795 Billboard

刚开始咋想也想不通10^9啊,肿么用线段树啊啊啊。后来忍不住看人家的,才明白了。额。。。因为n最大为20W啊,只要开min(h,n)即可了。因为最多也就用n行。这么一来就很好写了。线段树最后一层存的是每行的剩余量,然后父节点存当前子树中最大连续空余。然后类似二分查找即可。

2011-08-07 17:39:32 1193

原创 poj 3368 Frequent values

求给定不下降序列区间出现元素次数最多的次数。节点信息:区间最左侧元素,最右侧元素,最左侧元素连续出现次数,最右侧元素连续次数,整个区间最多出现的次数。因为是不下降序列,所以如果出现多次,必然是相邻元素。然后线段树从节点往父节点合并更新即可。#include #i

2011-08-07 16:20:06 1326 3

原创 zoj 2706 Thermal Death of the Universe

传说中的大妈套题啊。讲区间值转换为平均值。取平均值需要和之前区间总和和最初总和的状态有关,决定平均值是向上取整还是想下。其中计算上一次结束后的总和很简单,用之前的减去替换区间的值,再加上替换后的值即可,不用再用线段树求所有区间的总和,那样比较费时间。注意得用long

2011-08-07 12:56:55 791 4

原创 想说点什么。

发在Q空间的,在这里也贴一份吧。               鉴于QQ这里不支持tab键,先写WORD里吧。用tab键用习惯了,而且,段的开头空两格是从小老师教育我们的,是吧。         寝室键盘越来越不顺手了,感觉好硬,鼠标也有问题,应该明天新鼠标就会到货

2011-08-06 23:27:18 968 12

原创 hdu 3857 Who pat the head of itself?

冗长的题目 = =。巨水= =。。输出数字和位置相同的数。如果没有输出No Mistake。#include #include #include #include #include #include #include #include #include

2011-08-06 16:05:43 855

原创 hdu 3848 CC On The Tree

貌似还是树状DP,貌似我还不会,还是用搜索搜的。如果纯粹用优先队列搜,会超时的。需要标记到达某个节点后的最小长度,如果下一次搜到这个点长度比这个点存的大,就不需要入队了,入了也白入= =。。#include #include #include #include #

2011-08-06 15:46:17 1158

原创 hdu 3397 Sequence operation

比较恶心的线段树。感觉出线段树真随意,几种简单操作一结合就是一很恶心的 T T 。这个就是。覆盖操作+异或操作。各算各的,但是有个地方需要注意下,就是tag传递的先后问题。我一直WA在这里,后看别人解释,如果覆盖的话,那么异或已经没有用了,把异或标记为0即可。改了之后AC

2011-08-06 13:06:49 1657

原创 任重而道远

跟ACM的朋友聊天,发现真的是,时间不够啊啊啊啊 !!!!!队里各种方向空缺。DP,字符串处理,高级搜索 T T 。。。计算几何和线段树我还是个半吊子= = 。。。呜呜。党姐你肿么能这么淡定。。。我真的很想很想去区域赛。。。党姐你可以出家了,真的,这么看得开。

2011-08-05 23:35:57 755 7

原创 zoj 3279 Ants

简单线段树。改变level的数量,询问第几个的level是多少。#include #include #include #include #include #include #include #include #include #include #defin

2011-08-05 21:54:28 808

原创 hdu 3911 Black And White

啊,线段树。这种题,昨晚纠结一晚上,今天上午纠结一上午了,还没搞明白,下午做比赛就出来这个了= = 果断刷了它,就没看别的题了T T 。。。这个题是异或后求区间的最长连续的1 = =。。。真够纠结的。线段树节点信息:从左边起最多连续的1的个数,从右边起最多连续1的

2011-08-05 19:52:54 1751 3

原创 BZOJ 1230: [Usaco2008 Nov]lites 开关灯

http://www.zybbs.org/JudgeOnline/problem.php?id=1230今天下午的多校联合赛就出类似这个题的那个题了 T T 。。都是在区间里进行异或操作。只不过下午那题更恶心,还要输出指定区间里连续的1 。这个题只需要输出1的数目即可(开

2011-08-05 19:41:54 1903

原创 poj 2182 || hdu 2711 Lost Cows

同POJ 2828。都是从往前推,插空位即可。#include #include #include #include #include #include #include #include #include #include #define MID(x,y

2011-08-04 17:02:15 912

原创 poj 2892 || hdu 1540 Tunnel Warfare

又是找区间最长的什么什么的。和hotel前期处理差不多。都需要记录从左边开始的连续的最大值,从右边开始的连续最大值,以及整个区间的最大值。不同的是,这个题的R D操作都是基于点的操作,所以不需要用 lazy思想了,直接更新到底。至于查询,纠结了,参考了别人的代码,我发现我

2011-08-04 15:36:17 1439 7

原创 poj 3667 Hotel

依旧磕磕绊绊 T T 。。还是看大牛们的代码。。。我表示我对线段树真是感觉不大,稍微难一点的就不会了,肿么办吧。T T 。。不过看过之后,感觉线段树还是好强大好强大好强大!!!节点信息:从当前区间的左端点连接的最长空房间,从当前区间右端点连接的最长空房间,以及当前区间

2011-08-03 21:24:58 994

原创 hdu 1255 覆盖的面积

磕磕绊绊看了别人的更新,理解了。T T。。。线段树真的好纠结。开始考虑确实没有想到如果第一次覆盖,第二次覆盖是第一次的父节点肿么办。开始想用 lazy 标记,发现不可行。后来看了人家的解释,理解了。每个节点增加一个域,记录当前节点下的子树覆盖一次的所有长度。节点里还有一个

2011-08-03 09:36:08 2397

原创 poj 2352 Stars (线段树做法)

以前拿树状数组做过,貌似很简单,今天头很疼,昨晚没睡好,实在不想想其他难题了,就拿这个用线段树练练手。因为y是有序的,所以直接求出小于x的有多少个即可。#include #include #include #include #include #include

2011-08-02 16:25:06 922

原创 poj 2886 Who Gets the Most Candies?

模拟约瑟夫环,跟上题类似,线段树查找第几个位置出列。首先因子的计算,我用的类似筛法 = =。。悲剧的是上限应该是到MAX/2 我给弄成MAX的根号了= = 。。。要不昨晚就应该AC了。。也不至于我造了N个500组数据去和标程拍= =。。。不过数据都比较小。。。测不出来这个BU

2011-08-02 09:55:39 838

原创 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

做了一下午啊啊啊啊啊啊啊啊,WA了啊啊啊啊啊啊。。。脑子混啊啊啊啊。。~~~~(>_

2011-08-01 21:02:37 734

原创 poj 2828 Buy Tickets

继续线段树。这个题的意思是,有很多人,然后后面往前面插队神马的。开始没看懂,没注意下面的HINT = =。。看discuss说的从后往前建神马的,每次找第pos个空位。可是,肿么转换成线段树呢。如果线段是空位的话是不行的啊,空位毕竟还是会更新的,但是线段长度是不变的啊

2011-08-01 13:57:42 889

原创 zoj 1484 || hdu 1394 Minimum Inversion Number

这个题是求a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (where m = 1)a3, a4, ..., an, a1, a2 (where m = 2)

2011-07-31 21:44:44 916 2

原创 集训概况

我现在坐到角落里了,很好,很安静,很和谐,不该看到的东西我看不到,心不烦,很好。就是离空调有点近。。。有点冷。。明天机房估计就33人了,满了。原ACM成员四个(大二以上),新人33 - 4 = 29个。11级一个。女生5个(带我= =)。目前分了四个小

2011-07-31 13:16:27 918 4

原创 poj 3277 City Horizon

求在同一水平线上的矩形面积并,按高度从小到大排序,然后变成普通线段覆盖即可。需要 lazy 标记。所有下标貌似都得用long long。#include #include #include #include #include #include #include

2011-07-31 12:55:15 1317 1

原创 poj 2528 Mayor's posters(之前写的有BUG,CSDN博客那篇文章不能修改,现删掉重发)

之前写的离散化有点问题,没有考虑边界情况,比如下面这组数据。31 101 3 6 10改掉离散化这个BUG有一种方法,挺麻烦的,就是如果相邻的两个数字间距大于1,就在这两个数字加点,保证不出现BUG。我之前的代码改了改,也去掉了这个弊端。刚跟聪哥讨论了下,我越发觉得,恩,我那种做法是正确的。嘿嘿。我的做法就是把点转化成线段,就是线段树的最后一层都是长度为1的线段,把

2011-07-30 17:14:41 1610 5

原创 poj 1177 Picture(线段树求矩形周长并)

折腾快一天了都,磕磕绊绊地看看人家代码看看解释,自己画图输出中间过程,差不多都理解了, = = T T。。。应该算是有两种做法。1、直接离散化后先算平行于 Y 轴的矩形并后的线段,然后算X轴的。这个就是插入一条线段,删除一条线段,代码比较长。2、陈宏WC99论文《数据

2011-07-30 16:34:02 2631 1

原创 poj 1389 Area of Simple Polygons(线段树做法)

线段树求矩形面积并。和1151一样,只是为了练手~#include #include #include #include #include #include #include #include #include #include #define MID(x

2011-07-29 20:33:06 866

原创 zoj 3273 || hdu 3265 Posters

09宁波区域赛的题。。。09宁波也。。。GB他们在这个区域赛拿铜的那个比赛。。。矩形面积并,小变形。这个矩形中间有一块是镂空的。所以把每个矩形分成四个小矩形即可。开始以为扫描到镂空的时候就记录减1,扫出的时候就加1,死活不对,我还是切成4个矩形做吧 = =。。

2011-07-29 19:57:33 1102

原创 zoj 1128 || poj 1151 Atlantis(线段树求矩形面积并)

纠结了好久了,终于差不多弄懂了,无语啊。以后会更难的,线段树水题都刷差不多了都。求矩形面积并啊。= =。。。先把Y坐标离散化,然后用扫描线扫描。进入的结构体标记为1,出去的为-1。所以,当一个节点进入又出去之后(也就是标记为0的时候),这一段线段就又可以用啦。看网上代码直接存的是

2011-07-29 12:36:01 2499

原创 poj 3264 Balanced Lineup

线段树水题,寻找区间最大最小值。只要建树还有查询操作就好了,更新没必要写。。#include #include #include #include #include #include #include #include #include #include #d

2011-07-28 13:53:12 1372

空空如也

空空如也

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

TA关注的人

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