摘要:
首先申明,本文转自傻仔的博客。楼教主的分析让我受益匪浅!抵达瑞典的当天晚上,我们就体会到了北欧的高纬度特色,晚上十点钟时天空仍然是亮的,据当地人说,到了夏至日前后,每天太阳只落山3个小时左右。 瑞典之旅的前两天以游玩为主,练习赛(试机)安排在第三天,练习赛前,我们深刻体会到了瑞典的第二个特点——冷。赛会要求所有选手身穿ICPC的t-shirt参加比赛,并且还强制要求最外面的一件衣服是ICPC的t-shirt。Bill大叔一如既往地热情,在露天广场讲演了30分钟,不过在近似0度的室外,虽然t-shirt内套有毛衣,但是也很难抵挡刺骨的寒风。 练习赛过程中,我们比较低调(也可以认为是低靡)... 阅读全文
随笔档案-2011年10月
杭电 1162 kruskal()算法 最小生成树
2011-10-28 12:40 by javaspring, 196 阅读, 收藏,
摘要:
一道稍微有点难度的最小生成树的题,,,仔细想想的话,还是很容易做出来的。。。题目:Eddy's pictureTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2835Accepted Submission(s): 1377Problem DescriptionEddy begins to like painting pictures recently ,he is sure of himself to become a painter. 阅读全文
杭电 1233 最小生成树 kruskal()算法
2011-10-27 19:08 by javaspring, 120 阅读, 收藏,
摘要:
一道最小生成树的水题,用kruskal()可以轻松解决。。。。。。题目:还是畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10378Accepted Submission(s): 4736Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路... 阅读全文
杭电 1856 并查集路径压缩+按秩合并
2011-10-26 21:45 by javaspring, 282 阅读, 收藏,
摘要:
这道题是下午看的,当时看了不会,后来看算法导论上有,有看了一些其他的资料,就做出来了。不过杭电数据坑爹啊,,,竟然有n=0的情况,让我wr了好几次。。。。题目:More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 4078Accepted Submission(s): 1511Problem DescriptionMr Wang wants some boys to help him with a proje... 阅读全文
C#集合
2011-10-26 15:56 by javaspring, 211 阅读, 收藏,
摘要:
出处:http://www.cnblogs.com/feisky/archive/2009/10/29/1591956.htmlSystem.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。在System.Col 阅读全文
李彦宏在南开大学的演讲
2011-10-26 13:35 by javaspring, 337 阅读, 收藏,
摘要:
首先我必须代表现场这么多的同学对您表示感谢,感谢您百忙之中来到南开大学校园和我们作这样的对话! 李彦宏:我特别高兴能够来到南开,能够有这样的机会和同学们见面。说实话我是第一次来到南开,有这么多的同学来看我,我也很有点忐忑。 主持人:其实我们同学的热情只是冰山一角,大约一个星期前,我们同学的微博上、人人网(微博)各种sns网站上转发的都是您要来的消息,好多同学过来问我,昨天晚上寝室的一个同学问我说能不能要一个您的签名照。(笑声)我们还了解到今年是您从北大毕业20年了,今天来到我们南开园看到这么多年轻的面孔有什么感觉? 李彦宏:就像我刚才讲的我觉得被会场的气氛所感染,我20年前从一所跟南开差... 阅读全文
杭电 1325 判断树 并查集
2011-10-26 13:10 by javaspring, 208 阅读, 收藏,
摘要:
这道题就是判断是不是一棵树,,,判断有无环,是不是在一个集合,,节点数减去边数=1三个条件就可以了。需要注意的地方就是,空树也是符合题目要求的。题目:Is It A Tree?Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4567Accepted Submission(s): 1087Problem DescriptionA tree is a well-known data structure that is either emp... 阅读全文
杭电 1272 并查集判断环
2011-10-26 12:53 by javaspring, 238 阅读, 收藏,
摘要:
话说这道题纠结了很久,,先写了一道类似的题,写这道题时感觉很难,,今天上午蓦然发现,,,,,,理解错题意了,,我去。。。。害我想了那么长时间。这道题主要就是判断一下有没有环,还有就是节点数减去边数等于1,还有就是一个集合,,空集合时也符合题意,这样就可以了。。。。。题目:小希的迷宫Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9415Accepted Submission(s): 2757Problem Description上次G... 阅读全文
杭电 1232 并查集
2011-10-21 18:56 by javaspring, 197 阅读, 收藏,
摘要:
一道并查集的水题,,,自己独立写出来的,还是花了两个多小时。。。。题目:畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12186Accepted Submission(s): 6242Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少... 阅读全文
NYOJ 138 找球号 简单的离散+简单的哈希思想
2011-10-21 16:38 by javaspring, 202 阅读, 收藏,
摘要:
这道题用了点离散,,,其实也就是哈希表的思想。以前有过哈希表的思想,但是一直没有实现过,,,,这道题算是第一道伪哈希吧。。。想明白的话,不是太难。。。。题目:找球号(二)时间限制:1000ms | 内存限制:65535KB难度:5描述在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出M(0<M<=100)个随机整数ki(0< 阅读全文
策略模式(Strategy)
2011-10-20 11:42 by javaspring, 299 阅读, 收藏,
摘要:
一、概要我们构建程序的时候,会遇到这样的状况,对象有某个行为,但是在不同的场景中,使用策略模式,可以把它们一个个封装起来,并且使它们可相互替换,而起使得算法可独立于使用它的客户而变化。二、生活举例对于一个商店来讲,对不同的客户要报不同的价格,比如:(1)对普通客户或者是新客户报的是全价(2)对老客户(会员)报的价格,要给予一定的折扣(3)对大客户(批发)报的价格,根据大客户购买量,给予一定的折扣(4)根据不同的时间段,例如工作日和节假日等,可能价格仍然不同。处理复杂的报价功能,就会用到策略模式。三、实现思路四、类图五、注意点1、策略模式的设计原则即把一个类中经常改变或者将来可能改变的部分提取出 阅读全文
hdu 3460 字典树
2011-10-18 14:38 by javaspring, 148 阅读, 收藏,
摘要:
这道题想了3天,,,,,还是没有想出来。刚开始把题意理解错了,后来明白错在哪里后,还是做不出来,,,,,,,,就这样一直纠结。。。。最后还是没能做出来。上网看了看,才明白自己想得方向都是错得。杯具,稍微有点难度的字典树就做不出来了,看来对字典树的理解还是不够深刻啊。。。。。还需要做更多的题。。题目:Ancient PrinterTime Limit : 2000/1000ms (Java/Other)Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 16Accepted Submission(s) : 4Pro... 阅读全文
重构机房收费系统(二)
2011-10-15 16:17 by javaspring, 206 阅读, 收藏,
摘要:
接上篇《机房收费系统重构(一)》二、概要设计完成了用例图,并用结合用例图完善了一下需求分析说明书,忘记是第几次修订需求分析说明书。有了用例图,很自然就进入了概要设计阶段。我认为这一阶段就是结合包图解决系统的基本架构。在这里采用了三层架构(符合高内聚,低耦合的思想),并结合了一些设计模式。下面看我的包图:可以看到,这个包图,是从最经典的三层UI-BLL-DAL加入设计模式演化而来。之所以采用抽象工厂模式是考虑到更换数据库的方便。而应用外观模式,是为了解决UI层和BLL层耦合性过高的问题,UI层不必知道BLL层的存在,Facade(外观)知道BLL层的哪些类负责处理哪些请求,它将UI的请求代理给适 阅读全文
重构机房收费系统(一)
2011-10-15 16:16 by javaspring, 189 阅读, 收藏,
摘要:
从10月1号开始重构学校机房收费系统,没想到这次重构,推翻,再重构……用了两周时间。这次整体架构采用三层,并融入了一些设计模式。下面介绍这次重构的过程:一、从UML用例图开始对于机房收费系统的需求已经很熟悉了,用例和角色都已经提取出来了,在这里遇到一个问题,就是,究竟是根据角色划分用例,还是根据功能划分用例?按角色来画:更容易下一步建模,基本上一个用例对应一个UI层的一个界面,而且一个用例对应一个业务逻辑。但在机房收费系统中,不利于对系统的宏观把控按功能模块来画:使整个系统看起来更加直观,更容易宏观把握整个系统的功能需求。但对于机房收费系统,显然不利于下一步建模,抽象类的时候很容易漏掉方法。两 阅读全文
hdu 1800 字典树
2011-10-14 18:13 by javaspring, 150 阅读, 收藏,
摘要:
昨天用STL中的map做了一下这道题,今天又用字典树做了一下。。。不过这道题的数据真是BT。。。。。无语。。。。。。。题目:Flying to the MarsTime Limit : 5000/1000ms (Java/Other)Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 7Accepted Submission(s) : 5Problem DescriptionIn the year 8888, the Earth is ruled by the PPF Empire . As the populat... 阅读全文
hdu++1800++STL
2011-10-13 20:16 by javaspring, 211 阅读, 收藏,
摘要:
这道题刚开始一直和拦截装置混淆了,,,后来才明白两道题的差别。这道题转化之后就是求出现最多的次数,用map可以轻松解决。。。。题目:Flying to the MarsTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4320Accepted Submission(s): 1395Problem DescriptionIn the year 8888, the Earth is ruled by the PPF Empire . As ... 阅读全文
hdu 1671 字典树
2011-10-13 14:44 by javaspring, 164 阅读, 收藏,
摘要:
这真是一道悲催的题,本来对字典树都是入门阶段,,又碰到这么一道BT的题,悲剧。。。想这道题想了好久,好不容易想出来怎么做,没想到又MLE了,气得半死。怎么也想不出来怎么优化内存,后来问了位学长,才知道每次都可以释放内存,,,,囧,,这次算是长见识了,以前根本不知道还可以释放内存,,,,学习了。题目:Phone ListTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3511Accepted Submission(s): 1174Pr... 阅读全文
E-R图
2011-10-13 10:11 by javaspring, 1336 阅读, 收藏,
摘要:
忘记是第几次重构了,这次改概要设计文档的时候,接受了袁福彪师兄的指导.牵扯到一个数据建模E-R图,找资料,学习了一下.一、E-R图,实体-联系模型(简称E-R模型),它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。这里不再赘述什么是E-R图了,自己百度百科去吧.二、主要举两个例子:1、图书借阅管理系统1.1数据库要求提供下述服务:(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具 阅读全文
hdu 1251 字典树的简单应用
2011-10-12 14:08 by javaspring, 199 阅读, 收藏,
摘要:
是一道字典树的简单应用,群里面组织的专题练习,又做了一遍,比较简单,属于字典树的入门题。。。。。。。。题目:统计难题Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 7637Accepted Submission(s): 2974Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀)... 阅读全文
hdu 1394 树状数组求逆序数
2011-10-12 11:09 by javaspring, 157 阅读, 收藏,
摘要:
以前用过线段树求逆序数,这次想用树状数组试一下,悲催的是想了好久才想明白。。。。看来对树状数组还是不够了解啊。纠结。。。。题目:Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2413Accepted Submission(s): 1492Problem DescriptionThe inversion number of a given number sequence a1, a2, ... 阅读全文
观察者模式(Observer)
2011-10-10 14:36 by javaspring, 169 阅读, 收藏,
摘要:
一、概述对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。GOF 《设计模式》这样的依赖关系过于紧密,软件不能很好地适应变化。使用面向对象技术,我们可以将这种依赖关系弱化,即降低耦合。二、生活举例1、我们每个人都有银行卡,通常会有一项业务,余额变更通知。这个便很好地体现了观察者模式。监控银行卡内余额的变化,当我们取钱,转账等原因导致余额变化时,系统会自动采用多种方式告知我们余额情况,可以是短信通知,可以是Email通知,也可以寄账单等等。2、报社、订阅系统和订报人之间的关系,订报人通过订阅系统订报,一旦报社有新的报纸,订阅系统就会派人送或者邮寄 阅读全文
数据库设计经验谈
2011-10-08 19:10 by javaspring, 163 阅读, 收藏,
摘要:
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:第 1 阅读全文
数据库设计第三范式
2011-10-06 07:47 by javaspring, 233 阅读, 收藏,
摘要:
一、数据库设计范式及其意义和不足数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁。实践中,通常把一个数据库分成两个或多个表并定义表之间的关系以做到数据隔离,添加、删除和修改某个字段只需要在一个表中进行,接着可以通过定义的关系传递到数据库中剩余的表中(和分层思想的意义所在很相似)。这样我们可以消除很多错误或垃圾数据出现的机会并减轻更新信息所必要的工作量。目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式 阅读全文
三层架构实例
2011-10-03 08:02 by javaspring, 1404 阅读, 收藏,
摘要:
一、概要在我的上一篇博客中,我们谈了谈分层,到底为什么分层(http://blog.csdn.net/shan9liang/article/details/6836300)这篇博客,准备用一个小Demo来介绍应该实现三层架构。三层架构只是分层的一种经典形式,到底分几层,要依具体情况而定,考虑到系统的复杂程度,和后期的可维护性,完全可以分四层,五层,甚至六层,七层。三层架构(3-tierapplication),通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想(《百度百科》)二、DEMO1、实现 阅读全文
浙公网安备 33010602011771号