- 博客(9)
- 收藏
- 关注
原创 [SGU 103]Traffic Lights(最短路问题变形)
【题目大意】:说有一个道路网络,有N个路口,每个路口一个灯——交替地变成蓝色和紫色。当且仅当一条路连接的两个路口的灯的颜色是一样的时候才能通行,问S到T的最短路~【题目分析】:这个题好恶心,想了好长时间,一直觉得这个东西应该是个动态规划。但是后来看了WindyWinter神牛的题解,觉得豁然开朗,原来这个题就跟正常的最短路一样。直接套用Dijkstra就可以了,但是我们这回还要算上中间
2009-09-30 16:58:00 1023
原创 [PKU 2823]Sliding Windows(单调队列版)
【题目大意】:见上篇日志 【题目分析】:经过对该题的重新分析,得出如下算法。开一个单调队列,然后记录单调队列中元素对应原序列中的位置以及原序列中的数对应单调队列中的位置,如果不在队列中或改数已过期,那么标记为-1。然后运用单调队列进行筛选,开始时将前m个元素进行进队。然后从第m+1个元素开始,首先标记第i-m个元素为过期,然后将单调队列中前面的过期的数出队,然后将新的数插入,那
2009-09-24 14:01:00 948
原创 [PKU 2823]Sliding Windows(线段树版)
【题目大意】:有N个数,每次从左至右选M个数,即[1..M],[2..M+1],...,[M-N+1..N],选取每个区间的最大值和最小值。 【题目分析】:这个很明显是维护区间性质,所以最容易想到线段树。可以作为线段树的基础练习题来练习~ 【代码】:program PKU_2823;type node=record left,right,m
2009-09-24 13:50:00 755
原创 最小费用最大流 zkw算法
最小费用最大流的算法有很多种,经典的就是EK+SPFA。但是时间效率确实令人不敢恭维~最近小小的学习了一下传说中的费用流的神算法——zkw算法。(P.s. 以其发明者zkw神牛的名字命名) 该算法可以有效地通过修改距离标号的方法避免反复进行最短路运算的部分省去,基本算法类似KM算法的顶标修改。基本思想就是:采用距离标号法,若能增广则无限增广,反之更新距离标号,直到无法更新为止。本人
2009-09-21 16:02:00 4388 7
原创 计算几何总结(二)
凸包的定义:包含它的最小的凸图形或最小凸区域。 一些特性: 1、任意两点间的定比分点一定被包含在凸包上。 2、凸包是基于原有点集或原多边形,相比于他们,运用凸包大大降低了时空复杂度。(点的数量大大减少,增加了一个序)。说白了就是一个橡皮筋包住所有的点,得到的那个凸多边形,就叫做凸包。凸包有很多的算法,基本上的思想就是利用一个顺序,从一条边出发沿着一个方向进行运算。 经典算法:gra
2009-09-18 14:25:00 746
原创 计算几何总结(一)
观摩了一下cai0715神牛的日常学习笔记。决定稍稍总结一下关于计算几何的种种知识。先说最简单的,就是向量的问题。一个向量的坐标法表示就是(x,y)。向量的运算有加减,点乘和叉乘。点乘很简单,就是|a||b|cos,得到的是一个数。叉乘得到的是一个向量,大小是|a||b|sin,这个值是两个向量组成的三角形面积的二倍。如果用坐标表示叉积的结果就是x1y2-x2y1(行列式乘开)
2009-09-16 14:57:00 939
原创 [ZJU 2107]Quoit Design(平面最近点对)
【题目大意】:给你N个点,求最近的两个点的距离,然后除以2输出。【题目分析】:这个就是经典的平面最近点对问题。求法就是分支策略,不断地二分,然后取最小。然后需要注意的就是越过中线的点对的处理。其实那个很猥琐,想法就是找出变长为2ans*ans的矩形,然后进行枚举。这里有个很诡异的结论,就是这个矩形当中的点数不会超过8。大致流程:1、先按照x和y坐标进行排序2、调用分治程序3
2009-09-16 14:14:00 811
原创 [PKU 3378]Crazy Thairs(平衡树)
【题目大意】:N个数(N),求5个互相不逆序的数的组合有多少个。【题目分析】:这个题的重要的地方在于要统计的是长度为5的正序序列的个数,我们就可以通过正序对个数的求法来类比出来正确的方法。正序的求法我们是在平衡树中记录size,通过rank操作来进行的。其实进行一下扩展就可以得到正确的方法。我们开4个平衡树,然后rank的含义也随之改变,第一个求的就是以当前节点为尾的长度为2的正序
2009-09-08 12:32:00 800 1
原创 [URAL 1147][USACO rect1]Shaping Regions(矩形切割)
【题目大意】:A*B的矩阵,按上下顺序给出N个小矩形,每个小矩形都有一种颜色,求最后所有颜色的覆盖面积。【题目分析】:很经典的线段树的题目,我以前用的就是线段树的方法,但是还有更好的做法,那就是传说中的矩形切割。其实矩形切割并不是很难理解,实际上他还有一个名字叫做冰块上浮法,怎么理解呢。这道题无非好像是在墙上糊纸,在最上面的肯定不会受到其他的遮挡,所以说应该全能看到。然后下面的
2009-09-03 13:21:00 1782
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人