摘要: 现在开始的复习,想到什么写点儿什么吧。1,网络流方面 sap,注意调整n的大小,因为加入了源汇点。cur数组的修改,枚举边的时候的循环,都要注意。2,LCA 用的是离线的算法Tarjan,也就是说先全部读入然后处理,下边的文章写得很好。重点是对dfs的理解和对并查集的利用 我是看的这个博客才彻底明白的,http://blog.163.com/myq_952/blog/static/8639063201132811281700/Hdu 2586 1 /** 2 *Prob : Hdu 2586 3 *Sol : LCA 4 *Data : 2012-7-20 5 *... 阅读全文
posted @ 2012-07-20 16:31 守護N1身边 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 要利用这几天时间,把算法再复习一遍,给自己留了7天时间复习计划1,图论各种算法+网络流+二分图 这是今天的任务了,基础算法看看吧,网络流和二分图做做题。 2,动态规划的各种优化 两天时间吧,包括四边形不等式优化,斜率优化,和状态压缩。 3,字符串 只用1天,因为本来学的就不多,用的时间长了也算是浪费了。 4,各种高级数据结构 一天的时间吧,也写了不少了,有树状数组,线段树,平衡树,就这3个了,没有别的5,各种搜索和计算几何 没什么说的、基础问题,计算几何也没学什么,就个凸包和旋转卡壳。 阅读全文
posted @ 2012-07-20 08:37 守護N1身边 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 先给自己留几个模板,估计考试的时候也不一定能写出来,今天见到了一个题,求平面上的最远点对和最近点对最远点对一定在凸包上,可以求出凸包后用旋转卡壳来写,一般的求出后直接枚举就行了,用的是Graham -Scan水平序写法,http://hi.baidu.com/pianoeater/item/03ddb1868a71f003c316279bhttp://blog.csdn.net/cjoilmd/article/details/7169420View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<m 阅读全文
posted @ 2012-07-17 14:47 守護N1身边 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 今天的考试貌似也有点儿水,最后看了2道题,A了两道、第三题题目描述有点儿问题,直接就没去写……第一题三元限制最短路【题目描述】给定一个包含 N 个点,M 条边的无向图,每条边的边权均为 1。 再给定 K 个三元组(A,B,C) ,表示从 A 点走到 B 点后不能往 C 点走。注意三元组是有序的,如可 以从 B 点走到 A 点再走到 C。 现在你要在 K 个三元组的限制下,找出 1 号点到 N 号点的最短路径,并输出任意一条合法路径,会有 spj (Special Judge) 检查你的输出。【输人格式】 输入文件第一行有三个数 N,M,K,意义如题目所述。 接下来 M 行每行两个数 A,... 阅读全文
posted @ 2012-07-10 16:31 守護N1身边 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 这个星期以来第一次发总结,因为目前为止就今天的题可以用来总结……第一题,第一题【题目描述】有N块编号为1~N的特殊磁石相互吸附组成一条磁性链,只有它们紧挨着时才会传递吸力,他们之间的吸力很大,如果我们要从N块相连的磁石中取出一块,那么需要消耗N-1个单位的能量,空缺处不再有吸力传递,空出的位置也不会再被吸到一起。现在我们要取出Q块磁石,并且给出它们的编号,问最少要消耗多少单位的能量?【输人格式】 第一行两个数N和Q,Q表示要取走的磁石数; 第二行Q个数,表示要取走哪些编号的磁石。【输出格式】 仅一行,表示最少消耗的能量。【输入样例】 20 3 3 6 14【输... 阅读全文
posted @ 2012-07-09 16:20 守護N1身边 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 今天的考试完全考水了,也不知道原因,各种题目看不清楚。莫名其妙的把所有的分都丢了、第一题基因重组 【问题描述】 工程师Enigma在研究项目遇到一个有关基因重组方面的难题。众所周知,一个基因可以被认为是一个序列,包括4个核苷酸,可以由4个字母简单标记:A,C,G,T。Enigma已经得到了一个基因,标记为"ATCC",诸如此类,他想将此基因重新组合产生一个新的,比如“CTCA”,他可以进行的有两种操作:(1)将前两个字母交换,或者(2)将第一个字母移到最后。举例说明,可以使用第2种操作将“ATCC”变成“TCCA”,又可以使用第1种操作将“TCCA”变为“CTCA”。你的任 阅读全文
posted @ 2012-07-03 22:05 守護N1身边 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 开始时看的 胡伯涛《最小割模型在信息学竞赛中的应用》这篇论文,有点没大看懂……太专业了,于是看了另一个的证明,现在放在下边:• 证明:最小割为简单割。 引入一下简单割的概念:割集的每条边都与S或T关联。(请下面阅读时一定分清最小割与简单割,容易混淆) 那么为什么最小割是简单割呢?因为除S和T之外的点间的边的容量是正无穷,最小割的容量不可能为正无穷。所以,得证。• 证明网络中的简单割与原图中闭合图存在一一对应的关系。(即所有闭合图都是简单割,简单割也必定是一个闭合图)。 证明闭合图是简单割:如果闭合图不是简单割(反证法)。那么说明有一... 阅读全文
posted @ 2012-06-29 22:43 守護N1身边 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 以前用的是Ford-Fulkerson 这是一个用dfs找任意增广路的算法.时间复杂度无从估计Shortest Augmenting Paths(也就是很流行的SAP算法)故名思议,就是找最短的增广路,把EK算法的O(E)时间优化到了O(V),故复杂度为O(V2E)但是可以加上间隙优化,使速度极大提升。用的是Ditch那道题,usaco的一道网络流模板题目描述在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小 阅读全文
posted @ 2012-06-28 10:03 守護N1身边 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 上次学习平衡树就是卡在了这里,现在就以这道题做个小结吧。题目在这里http://www.lydsy.com/JudgeOnline/problem.php?id=1500这是NOI以来出的最果的最直接的数据结构题目了,但这明显不代表他简单,第一次做的时候用了2天,现在写起来也是倍感麻烦。关于这道题的感悟我觉得这个博客说的很好,让我受益很多。http://www.cppblog.com/MatoNo1/archive/2011/06/21/149121.html为了做这道题看了很多文章,看到了郭家宝的文章,让我发现了,“原来郭家宝的splay也是用6个if语句写的”!!!!!竟然写了245行.. 阅读全文
posted @ 2012-06-25 15:00 守護N1身边 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 学了好久了,最开始用的是Treap,现在又学了splay,还没有掌握,先做个初步总结,算是准备个模板吧。前几天写了个splay的题,使用的以前学的splay,巨丑无比[HNOI2002]营业额统计HNOI2002 1 /* 2 排名系统 -- Treap 3 */ 4 5 #include <map> 6 #include <cmath> 7 #include <cstdio> 8 #include <cstdlib> 9 #include <iostream> 10 #include <ctime> 11 12 #def 阅读全文
posted @ 2012-06-24 21:43 守護N1身边 阅读(158) 评论(0) 推荐(0) 编辑