- 博客(76)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 如果时间可以倒流。
如果时间可以倒流,我会选择用另一种方式去认识你;如果时间可以倒流,我一定不会再羞涩得和你讲话;如果时间可以倒流,我愿意对你说:照顾你一生; 如果时间可以倒流,我想给你讲好多好多开心的话;如果时间可以倒流,我想和你一起做很多很多浪漫的事;如果时间可以倒流,我愿意回到那个刚刚熟悉你的日子里; 可是,时光可以倒流吗?你还能记得那些青春的故事吗?你是否愿意再走一次从
2012-01-21 22:11:29
587
原创 一点小小的感想
今天突然看到X君的博客,说的是作者搞了一年多程序设计竞赛,做了N多题目,比赛却打了酱油的遗憾; 这让我突然想起前几天看到的3Xian的博客《照照镜子》; 恰好今天去队友宿舍,发现他们每人买了一本《数学思维方法的锻炼》什么的。 晚上做题想问题的时候又记起了中学参加数学竞赛时老师说:学会一种思维比作一百道题更重要的话。 我突然想立马和X君说:不是我
2011-11-10 20:24:58
624
原创 南理工比赛。
时间:2011年10月29日。 人物:我、毛宇、丁健。 事件:ACM比赛。 成绩:第六(三等奖)。 什么值得记忆的事:看到了MY的……额……还不错。 什么遗憾的事:想出了J题,一直不敢写,最后丁健上去敲了(这次比完我觉得丁健脑子太好了,YM!)。 什么想说的:我会感激队友对我的支持和信任,我是个知恩图报的人。
2011-10-30 17:34:12
1493
原创 AOE网的关键路径
1.将网拓扑排序2.进行关键路径算法:采用动态规划的思想每次选择路程长的边作为结果更新dist[]数组。算法实现:void toposort()//找出其中一个序列 { int cnt=0, mm=0; for(int i=0;ito]--; if(indegree[head->to]==0) Queue[cnt]=head->to, cnt++; head=head->next; } } //for(int i=0;i
2011-06-01 22:45:00
630
原创 Fleury算法
Fleury算法:1.首先判断这个图是不是Euler图(闭迹或者环)2.若为闭迹,则我们选择出度大于入度的那个点为起点开始寻找Euler路径,若为环,则我们随便选择一个点都可以。3.采用DFS搜索的方式开始寻找Euler路径。算法实现:void eular(int cur)//Fleury算法的主体部分 { for(int i=0;i
2011-06-01 22:44:00
2752
1
原创 Tarjan算法
Tarjan算法: 写写对算法的理解。1.首先明确:DFN[]数组用来标记当前结点是栈中第几个结点(入栈第几个)。Low[i]表示i这个结点可以回溯到栈中最远的结点的编号。我们同时使用in_stack[]这个数组用来记录结点是否在栈中。Ssc_root[]数组表示当前结点的根结点。Ssc变量表示当前强连通分量的编号。2.算法的执行过程:首先将所有结点标号DFN设置为零。每次只选标号为零的结点进行Tarjan算法。然后以该结点扩展与之相邻的结点(表明这些结点有亲戚关系),在条件(即连通)允许
2011-06-01 22:37:00
611
1
原创 “诚迈杯”南邮校赛邀请赛
<br />昨天早上与三位队友一起参加了南邮的第三届校赛暨“诚迈杯”邀请赛,这是我大学里第一次参加现场个人赛。激动呐~<br /> 参赛前一晚正好与欧冠相冲突,我一直纠结到底要不要去看欧冠。最后果断还是去了网吧,去了直接就睡了一觉,导致错过了大巴进场的精彩镜头,囧。不过梅西确实很给力啊、又一次实现了对自己的突破,在英超的球场上进了球,赞!早上早早从网吧出来就回宿舍睡觉,还没眯上两小时教主就来叫了。我当时想估计今天邀请赛要悲剧了。拖着疲倦的身子去硬挤鼓扬,完了再坐地铁,尼玛啊~学校“没校车”的孩纸
2011-05-30 12:19:00
1193
原创 Toposort排序
1.在基本算法的框架下实现的Toposort排序采用的是贪心的思想,即我们输出的一组解是按照字典序排好的,当然如果我们改变判断结点入度的顺序也同样可以当作字典序的逆序排列,POJ 3687就是一个简单的toposort,不过这道题目BUG很诡异,正确理解题意便能迅速秒杀这道题目。#include#include#includeusing namespace std;#define read freopen("zx.in","r",stdin)#define write freopen
2011-05-25 22:09:00
595
转载 无向图的连通性
<br />先明白一些概念。<br />割点:若一个点删除后(也就是与之相连的边统统去掉),无向图不再连通,那么此点称为割点。<br />桥:若一条边断去后,无向图不再连通,那么此边称为桥。桥有一个很好的性质,就是DFS一个无向图,那么这个过程必定要经过桥。<br />块:没有割点的无向图称为2-连通分支,也称作块。<br />割点、桥均可以在DFS的过程中求得。<br />那么,对于一个无向图有以下操作:<br />1.将一个无向图的块缩成一个点。这个时候要注意,一个点是有可能在两个块之中的,因此不能用f
2011-05-19 21:37:00
1630
原创 全国大学生程序设计大赛(福州)邀请赛总结。
<br /> 全国大学生程序设计大赛(福州)邀请赛总结。<br /> ——暨第一次ICPC的感言反思<br /><br /><br /> 结束了、就这么结束了。Rookie Team A——铜奖,作为第一次ICPC的成绩来说其实并不算差,毕竟正式开始搞这种竞赛也才半年而已。但我心里实在是没办法
2011-05-16 17:19:00
1949
5
原创 POJ 3463 Sightseeing
<br /> <br /> 这绝对是一道好题、一道深刻理解dijkstra算法的不二选择。<br /> 题目是要求求出最短路和比最短路大1的次短路的总个数、卡时为2000ms。读完题目我感觉这题应该不难、本想练练手熟悉一下模版、后来……就悲剧了。<br /> dijkstra算法到底是怎么回事?我现在不敢说真懂了,做了至少80+的图论题目了,遇到的dijkstra算法的也不下20+、但这个题目真的让我很受益……在此膜拜一下dijkstra本人,不愧为21世纪计算机界的神牛!<
2011-05-06 21:30:00
620
2
原创 POJ 3013 Big Christmas Tree
<br /> 看到dissguss里有个人说:自从做完这道题以后我开始讨厌过圣诞节了!o(∩_∩)o真囧~从来没过过什么圣诞节的表示没感觉。不过这题也确实是一道变态的题目、看看这题的通过率你就知道了。<br /> 题目描述:要建一棵圣诞树,使得总的花费最小。具体规则是:圣诞树是一颗无向树形图,其中,编号为1的节点为根节点,原始图中每条边具有边权(unit):材料的单位价值,每个点也有一个权(weight):点的重量。生成树中,各个点处的花费是指向该点的边权(unit)* 该点的子树中所有点的
2011-05-03 21:11:00
638
1
原创 4月阶段总结
肆月总的来说还行吧、只是一个考试耽误了不少时间啊(很讨厌考试啊)。做了几场比赛,一般般吧、关键有时发挥不出来啊。 知识的话、这个月基本上打酱油了,几乎什么都没有学到(就一开始那几天学了点);生活、嗯,还可以,只是有点小小的不顺;感情、没什么可说的、随缘吧,男儿只在四方、怎会为了一枝玫瑰舍弃整个森林(捏哈哈~o(︶v︶)o )? 另外,五月要去福州参加一场邀请赛,省赛级别。这是我大学以来第一次ICPC之旅,努力了这么久、很期待,不过也没报多大希望。 PS:附上几张做了的几次比
2011-05-01 21:28:00
327
原创 HDU step
<br /> 好久没有在AC了,一个考试加五一长假。o(︶︿︶)o 唉、今天做了一下 HDU-step 明显感觉思考能力下降了,一个排序纠结了好久……话说过几天得去福州邀请赛了,这个状态真不行啊。<br /> 今天做的几道题目以前就做过了,本来打算了练手的,结果成了学习新知识。囧~<br /> 下面主要谈谈这题:http://acm.hdu.edu.cn/showproblem.php?pid=1084。纠结了好久……<br /> 题目的主题思想还是排序。比较烦的是要根据不
2011-05-01 20:18:00
329
原创 FOJ 2024 LCS && EditStep
<br /> 一直没写过动态规划、主要是因为动态规划博大精深、自己又学得似是而非,并且诸如插头、树状啥的根本就不敢看。所以一直就这么搁浅了、今天突然又看了一下上周做的FOJ月赛,其中有一题就是动态规划,想想这题里又学到了新的算法,固想写个总结供日后复习之用。第一问很简单,裸的LCS,直接敲。第二问有难度(对于我来说),用比较专业一点的术语,第二问是一个“字符串相似度匹配”。其思想就是动态规划:从两个字符串的左边开始比较,记录已经比较过的子串相似度(实际上叫做距离),然后进一步得到下一个字符位置时的
2011-04-19 20:21:00
436
原创 POJ 1062 图论入门第十题
<br /> 题目大意:这一道中文题、当然中文题也有读不懂的时候、比如这句:“但是如果他和某个地位较低的人进行了交易,地位较高的的人不会再和他交易,他们认为这样等于是间接接触,反过来也一样。”我就想错了、应该说想麻烦了。搞了半天连个样列都过不了、索性最后放弃了。看了网上别人的题解,说要对限制范围进行枚举,这样既满足了限制条件又避免了通过中间交换而形成隔人差值。感觉很犀利!<br /> 题目分析:手一激动全写在题目大意里面了。<br /> 代码就是算法:<br /> <br />#in
2011-04-15 21:38:00
461
原创 POJ 1511 图论入门第九题
题目大意:这道题描述非常的蛋疼、英语不好读了几遍才懂。就是说求原点到所有点的最短距离+该点到原点的最短距离。 题目分析:如果不加任何剪枝直接spfa的话会超时,题目给了8000ms但依然不够。我使用邻接表来存储图、并反向建立表,这样我们遍历图两遍(正、反)就可以求解出此题。不过这题的建图我一开始不会。参考了一位大牛的方法、图的邻接表写完真是各式各样啊,每一种写法都能解决不同的问题。何时哥才能达到那种境界啊!啊 ? 啊 ?! 代码:#include#include#inclu
2011-04-15 21:15:00
596
原创 POJ 3522 图论入门第八题
<br /> 题目大意:求一个图中的最小生成树中最大边和最小边的权值差。如果不存在则输出-1。<br /> 题目分析:我们可以枚举每个生成树上的最小边或者最大边,然后构造生成树,最后求一下MIN{dist}即可。<br /> PS:在条件语句里,当有多个执行条件时,务必要确定那一个条件在前,或者条件语句的顺序对判断有没有影响。如果有影响的话、要判断每个条件语句的顺序。这道题在这个小细节上卡了将近2小时。<br /> <br /> 代码:(傻瓜调试了N久o(︶︿︶)o )<br
2011-04-13 21:38:00
463
原创 POJ 1734 图论入门第七题
<br /> 题目大意:在桑给巴尔岛的Adelton城镇上有一个旅游机构。它们决定在提供许多的其它旅游点之外,再向客人们提供旅游本镇的服务。 为了从提供的吸引服务中尽可能地获利,这个旅游机构接收了一个精明决定:在相同的起点与终点之间找出一最短路线。你的任务是编写一条程序来找类似的的一条路线。在这个镇上,有N个十字路口(编号1至N),两个十字路口之间可以有多条道路连接,有M条双向行驶的道路(编号为1至M)。但没有一条道路从一个十字路口出发又回到同一个路口。每一条观光路线都是由一 些路组成的,这些道路序
2011-04-10 15:36:00
573
原创 POJ 1679 图论入门第六题
<br /> 题目大意:题目很简单,求一个图中最小生成树是否唯一。<br /> 题目分析:即判断次小生成树的权值与最小生成树的权值是否相等,如果想等则证明不唯一。其次小生成树的算法是枚举最小生成树的每条边,并将其删除,然后再剩余图中求最小生成树,最后选择权值最小的次小生成树与最小生成树比较即可。这题细节比较多。<br /> 代码:<br /> <br />#include<cstdio>#include<cstring>#include<algorithm>using n
2011-04-10 15:30:00
342
原创 POJ 1201 图论入门第五题
题目大意:有一个序列,题目用n个整数组合 [ai,bi,ci]来描述它,[ai,bi,ci]表示在该序列中处于[ai,bi]这个区间的整数至少有ci个。如果存在这样的序列,请求出满足题目要求的最短的序列长度是多少。如果不存在则输出 -1。 题目分析:显然差分约束+spfa、其实这题我理解也不怎么深……不晓得差分约束怎么会和spfa结合起来。 代码:#include#include#include#include#includeusing namespace st
2011-04-10 15:18:00
514
1
原创 POJ 1751 图论入门第四题
<br /> 题目大意:铁路工人需要建N条路来连接M个村子,有些路已经建好,问你将这些村子连接起来所建路的最小值。最短路问题!<br /> 题目分析:去年在HDU上做过一模一样的一题,当时用kruskal过的,在POJ上交的时候果断TLE、无语……!一般情况下,稠密图我们使用prim算法,稀疏图使用kruskal算法。当然依题意而定。<br /> PS:这题需要记录路径,记录路径一直是我的短项啊。愁啊!<br /> 代码:<br /> <br />#include<cstdi
2011-04-10 15:13:00
410
原创 POJ 2337 图论入门第三题
题目大意:求最大生成树。 题目分析:转换一下思维,将最小改为最大就可以了,题目数据有重边,使用kruskal算法无影响,使用prim算法需要注意一下、每次应该取最大的。 代码://kruskal算法可以避免重边的问题! #include#include#includeusing namespace std;#define init(a,what) memset(a,what,sizeof(a))#define read freopen("zx.in","
2011-04-10 14:58:00
411
原创 POJ 3259 图论入门第二题
<br /> 题意大意:个famer有一些农场,这些农场里面有一些田地,田地里面有一些虫洞,田地和田地之间有路,虫洞有这样的性质: 时间倒流。问你这个农民能不能看到他自己,也就是说,有没有这样一条路径,能利用虫洞的时间倒流的性质,让这个人能在这个点出发前回去,这样他就是能看到他自己了。<br /> 题目分析:就是求一个图中有没有负环?,有的话就是YES,没有的话就是NO。判断负环很简单,判断一点个点入队列次数,如果>N,则存在负环。<br /> PS:这题我wa到死,疯狂提交10多次
2011-04-10 12:38:00
742
原创 POJ 1125 图论入门第一题
<br /> 问题描述:股票经纪人要在一群人中散布一个传言,传言只能在认识的人中传递,题目将给出人与人的关系(是否认识),以及传言在某两个认识的人中传递所需的时间,要求程序给出以哪个人为起点,可以在耗时最短的情况下,让所有人收到消息。<br /> 问题分析:典型的floyd,关键是求最短路中最长的两点(细节处理)。---可以更加深刻的理解folyd算法!<br /> <br /> 代码:<br /> <br />#include<cstdio>#include<cstring>
2011-04-10 12:03:00
549
原创 HDU 2647 Reward
<br /> 题意大致是先判断一个图中是否有环,如果有环则直接输出-1,如果没有,找能构成几个拓扑排序,每个拓扑排序从888开始依次曾一,最后求总和。<br /> 我一开始用做1285时,自己写的模版做,结果超内存了,开了一个10000*10000的二维数组。实在没办发在网上找了一份用指针写的拓扑排序,一直对指针很生疏,看了将近一个晚上才明白。不过,使用指针的话也的确很方便,时间效率基本差不多、空间上大大减少了。<br /> <br />#include<cstdio>#incl
2011-04-05 13:43:00
521
原创 ACM——3月阶段总结
<br /> 春天到了,三月份真是让人蠢蠢欲动啊。干了一大堆的挫事,还好ACM一直在进步着。<br /> 给自己规定的任务也完成了,不过好像效果不大,做了三场比赛,FOJ月赛、HDU春季赛、以及HDU的全程测试(这个是自己模拟的比赛)。整体来说是一场比一场水,不过这样也发现了我存在的问题:会的基本都会了,不会的咋的都不会。一遇到难题就歇菜了,o(︶︿︶)o 唉。和拉拉、大建商议之后,我们决定分工学习、各个击破。(像我们这种破学校还能怎么办呢?)我主要学习图论,其实图论还是比较难得,尤
2011-04-04 10:49:00
377
2
原创 USACO 1.4 clocks
<br /> 题目大意:有九个指向不同点数的钟表,目标要找一个最小的移动顺序将所有的指针指向12点。给出9种不同的旋转指针的方法,每一种方法都叫一次移动。选择1到9号移动方法,将会使对应的时钟的指针顺时针旋转90度。问操作最少的方法。<br /> 做完这题,我感觉做题已经不重要了,关键是你参与了,而且是这种恶心题。我开始就想到了枚举,本想将所有的旋转指针方法都用上然后再求字典序最小的,代码写了大概200行,写到求字典序时不会了,活活卡住了,当时想死的心都有了。然后有趣看了NOCOW上的解题报
2011-04-01 20:46:00
341
原创 USACO 1.4 packrec
<br /> 题目大意:给定4个矩形块,找出一个最小的封闭矩形将这4个矩形块放入,但不得相互重叠。所谓最小矩形指该矩形面积最小。给定4个矩形块,找出一个最小的封闭矩形将这4个矩形块放入,但不得相互重叠。所谓最小矩形指该矩形面积最小。 <br /> <br /> 做完这题我想哭了,真的不容易啊。足足写了将近有4,5个小时,一开始我没有什么好的想法,想直接枚举那五种大的情况(上图中第四种和第五种是相同的)。简单的算了一下,一种情况中又是个矩形,每种矩形又有两种方法(长宽互换),那么这样
2011-04-01 20:31:00
429
原创 楼天成瑞典之旅感言,
首先申明,本文转自傻仔的博客。楼教主的分析让我受益匪浅! 抵达瑞典的当天晚上,我们就体会到了北欧的高纬度特色,晚上十点钟时天空仍然是亮的,据当地人说,到了夏至日前后,每天太阳只落山3个小时左右。 瑞典之旅的前两天以游玩为主,练习赛(试机)安排在第三天,练习赛前,我们深刻体会到了瑞典的第二个特点——冷。赛会要求所有选手身穿ICPC的t-shirt参加比赛,并且还强制要求最外面的一件衣服是ICPC的t-shirt。Bill大叔一如既往地热情,在露天广场讲演了3
2011-03-31 21:08:00
1432
原创 1.2 Name That Number
<br /> 写这道题主要是又学到了点新知识(简单的模拟,没什么算法),主要是打开一个文件并将文件中的内容赋值给一个数组:我们使用fscanf(stderr,"%x",&y)的形式,其中stderr是将文件中的内容输出到屏幕。感觉现在贴代码已经成为我的一种嗜好了。擦!<br /> <br />/*ID: TonyPROG: namenumLANG: C++*/#include<cstdio>#include<cstring>using namespace std;
2011-03-29 22:54:00
315
原创 HDU 开放式进阶训练(11)全程测试
这两天晚上一直在做这一套试题,做出来的4道都没什么难度,估计是心里没有压力。比赛能做出4道,那才行。 先来简单说下做出来的这4道,其他的以后更新吧。 1.1002(3774)其实是这次比赛中最简单的一题了,不过AC的人看来并不理想。毛教主说这就叫比赛,不仅题目难度不同,连题目理解能力也上升了不少,估计被这题卡住的90%的选手是卡在理解题意了,我当时做这题时读了两遍没感觉,后来在Mo、xi的帮助下才理解了题意,再后来25行代码A了。这题需要注意的是题目要求绳子长度必须至少
2011-03-28 21:42:00
356
原创 HDU 1285 确定比赛名次
对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若 ∈E(G),则u在线性序列中出现在v之前通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。 拓扑排序方法如下: (1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它. (2)从网中删去该顶点
2011-03-24 20:12:00
423
原创 网络流算法小结
<br />最近在一大牛的博客里看到了一篇最大流算法总结的好文章,在这里分享给大家<br />本文转自:http://blog.csdn.net/abcjennifer/archive/2010/05/04/5556455.aspx。<br /> <br />总体上来说,最大流算法分为两大类:增广路 (Augmenting Path) 和预流推进重标号 (Push Relabel) 。也有算法同时借鉴了两者的长处,如 Improved SAP 。本篇主要介绍增广路类算法,思想、复杂度及实际运行效率比较,并试
2011-03-24 19:13:00
2869
原创 HDU 1026 Ignatius and the Princess I
<br />题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1026。<br />分析:<br /> 申明:这题我是参考了一大牛犀利的方法AC的——采用坐标标号化。我自己的太垃圾不好意思贴出来。<br /> 此题中我们使用buf[]数组保存每一秒(有的时间段不走在打怪)的father结点,如果相邻两秒的fa结点相同那么证明英雄此时在打怪,如果不同那么英雄此时一定面对的是‘.’路径(对于输出路径,这个方法应该是最好的了)。这道题中,我们使用——
2011-03-23 21:25:00
550
Poj动态规划题目列表
2011-10-28
Solaris 10 写一个脚本,在atc用户下,调用该脚本,执行poweroff命令
2015-01-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人