上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 题目大意:给出一副图,求这幅图上可能的生成树中,树的最大边与最小边的差的最小值为多少;解:枚举最小边,kruskal,然后求出最大的一条边,询问,与答案比较。因为kruskal的最优,所以最小边一定的时候得到的生成树的最大边一定是最小的,注意无解输出1。还有记得并茶几的初始化。View Code 1 //poj 3352 2 const 3 maxn=1111; 4 maxm=1111; 5 type 6 data=record 7 next, dest, op: longint; 8 end... 阅读全文
posted @ 2012-04-10 12:33 F.D.His.D 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 之后把自己从网上找到的题目放在这里,因为可能目前补数据结构,题目不能一下子切完网络流:网络流与线性规划24题线段树与矩形切割:POJ 20题线段树http://blog.renren.com/share/279182900/1290893180线段树还有这个http://www.notonlysuccess.com/index.php/segment-tree/单调队列+斜率优化http://www.notonlysuccess.com/index.php/dp_optimize/网络流的题目http://www.notonlysuccess.com/index.php/network/ 阅读全文
posted @ 2012-04-06 20:16 F.D.His.D 阅读(188) 评论(0) 推荐(0) 编辑
摘要: POJ 3468题目之前的吐槽:最近记忆力真的差很多了,刚刚做完来写解题报告,题目编号已然不记得….题目大意:给出n个数,我们有两个操作,q,x,y:询问区间[x,y]的和,c,x,y,z:区间[x,y]里的每一个数+z。解:树状数组,线段树,以及discuss里说splay可做。做这题目前用的线段树。线段树的常数真心恶心,递归就算了,而且clear操作写成函数那个常数大得我不敢看了,可是不写成函数又会把自己恶心到。主要是靠一个lazy操作,有一个tag域,如果这个区间在增加的区间内,tag累加,tag表示这个区间要加的数,然后每进入一条线段,clear,更新sum,tag直0,并且把tag传 阅读全文
posted @ 2012-04-06 20:13 F.D.His.D 阅读(316) 评论(0) 推荐(0) 编辑
摘要: POJ 1151题目大意:给出n个矩形(通过给出对角坐标确定),这些矩形间可能有重叠,求除去重叠后覆盖的面积是多少。解:矩形切割,只是用线段树去维护线段达到logn的效率。View Code 1 //poj 1151 2 const 3 maxn=1111; 4 inf='1.txt'; 5 type 6 type_node=record 7 mid, l, r, flag: longint; 8 x1, x2, cnt: double; 9 end; 10 ... 阅读全文
posted @ 2012-04-06 20:13 F.D.His.D 阅读(179) 评论(0) 推荐(0) 编辑
摘要: POJ 2777题目大意:有len个区间,每次为[x,y]区间上色,然后有询问操作,问[x,y]区间上有多少种颜色。解:线段树维护,1wa是因为没看见x可以大于y并作出相应处理然后2wa3wa就是细节问题了,大体是l,r和s,e混淆。然后tle,是因为lazy写错了,正解应该是如果包含则直接改值,当以后如果在改的区间内,这个区间只有一个颜色的话,记得把原来的颜色递归给儿子,把c置0再递归处理(因为区间的划分决定了你目前所在的区间一定包含我们要涂改的区间的子区间,如果这个区间只有一个颜色那么新的子区间的插入就会改变这个情况,所以lazy标记置0,并一定要把原来的颜色递归下去!不然对这些子区间的询 阅读全文
posted @ 2012-04-06 20:10 F.D.His.D 阅读(162) 评论(0) 推荐(0) 编辑
摘要: POJ 2528题目大意:同上,只是x,y属于[1,10000000],最后询问能在这个[1,10000000]区间上能看见多少种颜色。解:线段树+离散化,把可能的端点值存起来,排序,在对应回去,然后线段数即可,1re是因为tree数组的大小没有考虑到端点数*2而再*2,2tle是因为find写错了,然后3wa是因为离散化?这里是个重点,因为离散化之后比如[1,2][4,5],虽然中间有区间[3,3]但是如果按上文离散化则会出问题,奇怪的是我的处理+上这个判断,如果两个数之间有其他数,则再离散化多这个中间数,但是wa了,有空回来复习的时候检查一下,把特殊处理删除反而ac了,第二天过来看,看了别 阅读全文
posted @ 2012-04-06 20:10 F.D.His.D 阅读(193) 评论(0) 推荐(0) 编辑
摘要: POJ: 3264题目大意:给出n个数,给出一个区间[x,y],求这个区间的最大最小值。解:可以用rmq的st算法,有空去切一下,这里用了线段树,入门,练习了构树和查询,不过自己对于左右端点的掌握还是需要犹豫。看到别人写了一个树状数组的写法,挺神的,有空写下,刷刷排名。研究了一下,对于修改删除的题不适用,改过则必须重新初始化。或者自己写一个链表?可能可以对付删除情况?线段树 1 //poj 3264 2 const 3 maxn=51111; 4 inf='1.txt'; 5 type 6 data=record 7 l, ... 阅读全文
posted @ 2012-04-06 20:09 F.D.His.D 阅读(344) 评论(0) 推荐(0) 编辑
摘要: POJ 2942题目大意:有n位骑士,他们间有一些仇恨关系,如果有仇恨则开会的时候不能坐在两侧,求至少删除多少名骑士,使得总可以找出奇数个骑士和平地坐下来开会?解:我挺天真的,一开始就去研究它给出的关系图,想了好久才去建补图。发现如果是可以坐在一起的话补图上就是一个圈,任务就是找奇圈,然后自己草莽地写了一个边双连通分量算,wa,调了略久,没思路,看题解,发现是点双连通(边双连通内可能有关节点,但是点双连通内一定没有桥,所以如果只是算出边双连通可能会因当中包含关节点而出错),况且我也是理解错题意了,我以为是找最大奇圈,但实际上是把所有的可能都算出来。正解首先是求点双连通,没找到一个块,对这个块进 阅读全文
posted @ 2012-04-06 20:08 F.D.His.D 阅读(341) 评论(0) 推荐(0) 编辑
摘要: POJ 1192Noi的题>.<题目大意:给出一些点,坐标都是整数,如果两个点的距离为1,则说明相邻..(省略繁琐题意),删点后连通……总之就是构建了一棵树,每个节点有一个权值,求这棵树的一颗子树,有权值最大。解:首先说下自己的二点,没看到树的性质(每两个点有且只有一条路径联通),然后刚刚切完一系列的双连通分量,很激动的用贪心,每次去除掉一个当前权值最小且非割点的的点=。=然后wa掉,检查半天,最后看discuss才知道完全是自己的题意理解错了,况且如果是图我这个是从本质上贪心不能,因为有时不一定去点,还可以有整个枝条不要的情况,每次去一个点贪心是做不到的,正解treedp,fjy 阅读全文
posted @ 2012-04-06 20:06 F.D.His.D 阅读(274) 评论(0) 推荐(0) 编辑
摘要: POJ 1985题目大意:在一棵树上求一条最长的路径(题目描述根本没说= =,看discuss才知道)解:听说可以两次bfs,不知道怎么做了,有空去研究下回来写报告。我是treedp,有dep记录当前节点向下最长的路径,f为当前节点可以有的最长路径,有更新f[x] = max(f[everyson], dep[firstmaxson]+cost+dep[secondmaxson]+cost).貌似输出f[根]?我则保险遍历了f一次囧。 阅读全文
posted @ 2012-04-06 20:06 F.D.His.D 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页