教主楼天城_ACRush比赛回忆录

教主楼天城_ACRush比赛回忆录
教主楼天城_ACRush比赛回忆录

利用假期空闲之时,将这几年GCJ,ACM,TopCoder参加的一些重要比赛作个回顾。昨天是GCJ2006的回忆,今天时间上更早一些吧,我现在还清晰记得3年前,我刚刚参加ACM时参加北京赛区2005和杭州赛区2005的情况。

2005年ACM-ICPC——酸甜苦辣

我进入清华大学开始本科学习的时间是2004年8月,在进入清华大学的第一

年里,由于基础课学习比较紧张,再加上计算机系不允许大一学生自带电脑,我没有参加2004年的ACM比赛。不过在大一一年中没有停止这方面的练习,对ACM

还是热情高涨。

大概在2005年7月底,与同班同学shell(贝小辉)和superzn(张宁)一起

决定组队参加ACM比赛。对于队名没有太多的想法,就随便取了一个字典序靠前

一点的bomber。随后进行的几场训练中,我的编程状态一直保持得很好,训练比

赛的主要方式都是:我主写程序,shell和superzn负责翻译题目,思考算法和测试。这种组队模式一直沿用到我们后面的所有比赛中。

2005年底,我们报名参加了2005年的北京赛区和杭州赛区的比赛。顺利通过

了预赛进入了现场决赛。记得当时北京赛区预赛的时候,我和superzn一起在参加

百度之星程序设计大赛,shell依靠一人之力过了6题,最后以第二名的资格参加

北京赛区现场比赛。

北京赛区:

2005年的北京赛区地点设在隔壁的北京大学,由于交通非常方便,我们没有

和大部分选手住在一起,不过也没有参加Java-Challenge和晚上的表演。

练习赛之前,说到比赛位置抽签,本身意义不是很大,可是邬老师神奇的RP

把两只清华的队伍抽在一起,结果练习赛进行了一半,另一只清华的队伍THU1

(队员是:吴景岳,栗师和金凯,好像后来队名改成了DreamCatcher,不是很确定)被要求换到一个比较远的地方,理由是有些学校觉得这样不合理。后来很多赛区也出现过队伍座位在一起的情况,邬老师的RP果然不是盖的。

记得练习赛时和复旦的LemonTree(盛城)一起在场地里闲逛,结果果然不到10分钟就被要求回座位了。还有当时比赛场地是一个体育馆,有些队伍把气球放

飞之后气球就飘在天花板下了,总裁判李文新老师还威胁我们说,如果明天正式比赛把气球放飞,就不算通过相应的题目,除非有办法把气球取下来。

然后就是比赛的过程了,下面有底纹的文字是我找到的当时留下的比赛总结:E:快速排序。5分钟1Y。

我想5分钟的时间可以争取这几年ACM国内赛区的最快出题记录了吧。

G:二分答案+最小生成树。25分钟1Y。

这题就是经典的最优比例生成树问题,我们一致认为这题比较简单。不过后来

被李文新老师批评了,说法是误导其他的队伍。不过说到最优比例生成树问题,TCO2006的时候fwj和tomek竟然都没有见过这道题目,这题可是源于POI呀。我

想我们认为这道题目简单的主要原因是我们都在冬令营上见过这到题目,如果第一次看见,想出算法可能确实需要一些时间。在这里向被我们影响的队伍的道歉,最终G提交了200多次,但是只有8个队伍AC。

C:二分图最大匹配。42分钟1Y

题目要求计算一张图的最小覆盖集,可能唯一的tricky是发现图是二分图。

D:遇到了一定的困难,发现A很简单,于是先放一下

D是一道比较综合的题目,设计一些简单的计算几何和字符串处理的知识。

A:简单的几何问题,出现了一个低级错误,提交了3次均为WA。

A是北京赛区最简单的题目,我的程序里犯了一个很低级的错误,可能也是经

验不足造成的吧。

D:重新写,但是没有考虑一种情况,WA了1次。

87分钟,复旦的Abuacus过了4题占据了Rank1。由于队伍模式的原因,我们

在还有很多简单题目的情况下卡住了长达30分钟。

A:shell突然发现了A程序中的低级错误,105分钟AC,重新夺回Rank1。

这是很重要的一步,现在想来如果没有这个发现,后果可能不堪设想。

B:二分答案+2SAT。129分钟AC。

B是一道明显的2SAT问题,由于题目比较长,我们没有很早发现这道简单题。

D:发现了D的没有考虑的情况,140分钟AC。

看了一个board,那时Abuacus,Eccentric都只有4题,能够在第一次参加正

式比赛就做到6-4的领先,当时心情很激动,不过由于缺少经验,也影响了接下来

的发挥。其实,现在回想起来,这次比赛其实是一个很好的AK的机会。

F:DP。程序比较复杂,WA了4次。

F是一道比较复杂的动态规划的题目,其实WA的原因是一个应该用int64的

地方,我们使用了int,这个地方的确很难发现。

H:F一时无法AC,只好转功H。H就是普通的模拟题。开始没有考虑坦克和

炮弹可能在1/3秒相遇,WA了1次。

比赛还有一个小时,封板。

H:shell发现了坦克和炮弹可能在1/3秒相遇的情况,250分钟左右AC。

对于我们这种组队模式,当主写程序的选手状态不好的时候,很容易出现连续

卡题的情况,这种情况的出现很不利于水平的正常发挥。在北京赛区的比赛中,我们很有幸没有出现连续卡处的情况。

记得,当时北京赛区的Judge的半自动的,就是说如果结果是AC,速度就会非常快,否则由于人的介入,不能AC的提交往往需要等一段时间。我们第2次提交

H之后,没有得到很快的回复,以为已经WA了,于是我和superzn继续测试一些

数据。但此时,突然有一个mm从左边走过来插气球,这个气球也成为了全场唯

一的蓝色气球,这个意外之喜最后成就了第一个分区赛冠军。

F:下面就是痛苦地提交F,一直战斗到最后一刻,WA了14次,留下了北京

赛区最大的遗憾。

在最后时刻我们似乎发现了那个int64的错误,不过当时思路已经比较混乱了,没能改对。F的问题也导致没有时间写I,当时如果直接重写后者换superzn来写F,完全可以在比赛结束前AC。

比赛的大致过程如上所述,那个神奇的气球,我现在仍然记忆犹新。最终有4

个队伍攻破7题,Abacus的组成应该是盛城,timegreen和suzhan吧,Eccentric中

我只记得辛韬,ZSU_Panku中我记得Savior(陈实)。上述的老朋友之后见面的机

会就很少了,分区比赛也成为了我好需要老同学重要的交流机会了。

我ACRush的ID估计就是那时开始使用的吧,转眼就已经3年多了。

比赛前后还记得经常与复旦大学的吴永辉老师聊天,在那之后的每次比赛我都

能见到他年轻的身影。

现在回想起北京的分区赛,很有幸能够在第一次参加ACM正式比赛就获得分

区比赛的冠军。我想是由于现场气氛对许多队伍都有不小的影响吧,当时许多队伍都卡在几道比较繁琐的题目上了,题目的算法性都不是很强。我大概从那时才刚刚接触TopCoder,如果能够早一些,相信会更适应这样的比赛。

杭州赛区:

2005年的ACM杭州赛区比赛在浙江大学举行,杭州赛区的时间就在北京赛区

结束后一周,最初选择杭州赛区的原因很飘逸:我自己家在杭州。实际上也差不多,我随队伍(当时THU派了3只队伍参加杭州赛区的比赛,除了我们队之外,

b142857(侯启明),zhy(周源),ysy(杨 思雨)组队,另外一只由汪汀,王俊

和黄源河组成)一同抵达杭州车站之后就马上回家休息了,直到比赛前才赶回。在北京到杭州赛区之间的一周中,我的状态就在 不断下滑,在家中完全失去了比赛

的气氛,回到赛场再也找不到感觉了。一场悲剧即将上演。我们先看看比赛过程吧,下面有底纹的文字是我找到的当时留下的比赛 总结:

G:初看很简单,但是调试了30分钟没有结果。

G是一道数学问题,其实《具体数学》书上有明确的公式,不过我们使用的递推方法应该也可以得到正确的结果。程序中犯了一些低级的错误,由于实在不在状态,调试了30分钟还没有找到错误。这里还暴露了一个组队模式的问题,在后来

的组队模式中,如果像这样没有想清楚算法的题目队友是一定不允许我去写的。

A:模拟。41分钟AC,当时肯定没有想到这是唯一一道1Y的题目。

A是一道模拟题,1Y的时候已经很晚了,排名也很靠后。

C:图论。但是由于堆栈逸出RTE了5次,浪费了大量的时间。

C的问题关于树中祖先关心的判定,题目很简单,实现的方法也很容易,就是

通过一遍DFS来计算。但是我们忽视了一个从来没有遇到过的问题:堆栈溢出。

而且,堆栈在本地机器上运行过程中,Eclipse提供了8MB左右的堆栈,所以没有

溢出,但是在提交之后的环境下运行就溢出了。而且每次RTE之后,我们一直在

尝试修改数组的大小,一直没有找到根本原因。调试C的同时,我也尝试修改G,结果G也错了8次之多,并且始终都是WA。

I:shell在我郁闷地调试C和G中AC了,之前WA了一次。

I是动态规划问题,WA一次可能是忽视了一些边界情况。

D:网络流,没有想到先贪心进行优化。TLE了5次最终没有通过。

D就是计算最小割,我们事先准备了先流推进算法,不过根据这道题目的模型,先流推进算法遇到最坏情况:二分图。由于当时dinic还不是很流行,我们TLE了

5次还没有通过。

郁闷地调试D和G。

E,B:都尝试过,但是都出现了不明的问题。

在随后的时间里,不断调试D和G,但是始终不能AC。之后又尝试E和B,E

通过分段的方法可以处理,B是数学题目。正常的话E和B并不是很困难的题目,

但是当时已经非常混乱,连样例都没有通过。

最终我们只过了3题,排在21名,经历了我参加ACM以来最惨痛的失败。

这次失败主要归过与我状态太差,基本上什么题目都不能顺利通过。当然题目的选择也有很大的问题:G确实不是难题,但是由于未知的原因始终不能通过,后来我把纸上的程序敲在ZJU上就AC了,至于现场为什么不能AC我现在还是不能明白。如果说第一题的选择直接影响了我们的信心,那么D的堆栈溢出则完全打乱了我

们的节奏。对于我们的组队模式,卡出2题已经超出了极限,我们不可能再尝试

其他题目。

Abacus也来到了杭州,他们前期体现了强劲的先期优势,在2小时就达到了6题;b142857(侯启明),zhy(周源),ysy(杨思雨)的队伍表现得相当神勇,

在最后一小时超越了Abacus,夺得了冠军。

杭州赛区的失败至今仍是心中痛苦的回忆,不过这个教训也是对我今后的学

习生活的一种警示。

总结:

2005年是我第一年参加ACM-ICPC的比赛,两场ACM分区赛,我们经历了夺

冠的兴奋,也经历了环顾四周等待比赛结束的无奈。2004年清华没有获得任何分

区赛的冠军,2005年清华打了个漂亮的翻身仗,先后在成都,北京和杭州夺得冠军,而且是三支不同的队伍。

两个赛区的G都是有传奇色彩的题目。北京赛区中,我们25分钟1Y了G,

导致许多队伍跟风失败,最终达到了208提交8AC的低通过率。但是,杭州赛区中,G从比赛一开始就占用了我们大量的时间,直到最后都没有通过,估计至少浪

费了两个小时左右。真所谓成也在G,败也在G。

北京赛区后,POJ的论坛上传闻说我曾经说过“起身去厕所,不许碰键盘。。。”,很敬仰那些同学搞笑和扯淡的功底,我们虽然定下了以我主写程序的组队模式,但是也非常重视配合和每个人在队伍中的重要作用。

当时清华没有组织校内PK选拔,选择了成都赛区的冠军队THU1参加全球总

决赛,当时总决赛队伍是以参考第二赛区的成绩决定的,现在回想起来也是很合理的。由于最终我们未能得到机会参加全球总决赛,接下来几个月我们情绪低落,bomber从那时也就宣布解散了吧。

2005年的比赛过程中,我见到了许许多多的老朋友。用吴永辉老师的话,ACM竞赛可以看作一些老朋友一起进行的一场智力游戏。

附北京赛区前5名:

1 Tsinghua University=>bomber First Place 7 788

2 Fudan University=>Abacus Second Place 7 983

2 Shanghai Jiao Tong University=>Eccentric Second Place 7 1084

3 ZhongShan (Sun Yat-sen) University=>ZSU_Panku Third Place 7 1194

4 Peking University=>Monkey King Fourth Place 6 768

找不到杭州赛区的排名了,只发现了这个:

21 THU *bomber3 501 1/41 0/-- 6/197 5/-- 0/-- 0/-- 8/-- 0/-- 2/143 22谢谢韩家龙同学的热心帮助,找到一个排名的链接是:

https://www.360docs.net/doc/f47485872.html,:8080/icpc2005/ranklist/index.html

利用假期空闲之时,将这几年GCJ,ACM,TopCoder参加的一些重要比赛作个回顾。GCJ2006,ACM2005和TCCC2006之后, 2006年对于我来说是一个大丰收,今天晚上先回顾Mobile Robot成立先期的事情吧,明天再总结惊心动魄的ACM上海2006和ACM西安2006吧。

2006年ACM-ICPC(上)——Mobile Robot的成立初期回忆到2005年清华没有组织校内PK选拔,选择了成都赛区的冠军队THU1参加全球总决赛,bomber从那时也就宣布解散了。

早在2006年初,THU1准备参加ACM-ICPC 2006世界总决赛的训练时,我们的队伍就已经成立了。队伍其他两名选手是一起参加IOI2004的geworm(鬲融)和wd.h(胡伟栋)。

Mobile Robot的组队比赛:

至于Mobile Robot的队名,我们是为了纪念2004年4名参加IOI的选手第一次合作的时候使用的帐号,如果回到2004年的PKU月赛,也许可以看到thmr3191的身影,这个ID最初是我们4人共同使用的。其中thmr就是Tsinghua Mobile Robot的缩写。当然我们觉得Mobile Robot读起来也比较容易上口。

Mobile Robot成立之后做的第一件事情就是配合THU1准备World Final2006的训练,先后模拟比赛了两次Northeastern Europe(NEERC)的题目。这两次训练中,我们队伍的主要模式都是:

(1)geworm全程负责读题,思考算法和出数据;

(2)wd.h和我在比赛前2个小时一起攻简单的题目;

(3)2小时后wd.h就开始死磕难题,我主写程序一直到3个半小时左右,结

合wd.h对难题的把握,大家开始合攻难题。

这种拖后中卫的打法,对于NEERC的题目难度非常合适,两场比赛我们都做到了AK(全过11题)。这种组队模式也一直沿用至总决赛。当时wd.h的状态很好,对于NEERC的题目难度,我觉得世界上很难有队伍能够有信心做到AK。

队伍成立初期的顺利使我们更有信心,我们利用署假时间进行了一些必要的训练以迎接2006年下半年的ACM分区比赛。

北京赛区预赛——网络赛赛网络:

2006下半年有3个国内赛区,包括北京,上海和西安,其中北京赛区最先举行。2006年北京赛区的地点设在了清华大学,这也是我唯一一次参与组织ACM分区比赛的机会。

10月 中旬举行了北京赛区网络预赛,网络预赛的参与者是所有报名参加北京赛区的队伍,以决定哪些队伍拥有参加现场比赛的资格。那段时间,我们队伍主要精力放在了 准备比赛上,我们都没有参与网络预赛的命题和测试平台工作。由于

清华距离上次承办分区比赛已经相隔很多时间,直接导致网络比赛过程中出现了严重的网络问 题,在这里作为清华ACM队的一员向受到影响的队伍道歉。

不 过,我也是作为“局外人”来了解这次网络阻塞的,因为我确实没有参加任何与网络赛有关的活动。现在回想起来,我认为平台的稳定性是一个不可推卸的原因,但 是主要应该归咎于题目描述和样例的设计,当然还有测试数据的错误。设想这样一种情况,如果一个比赛过程中,从某一时刻起,突然增加1000个提交需要rejudge,然后所有队伍还都在这一时刻起尝试提交,我想现有的大部分OJ都很难在1小时之内平息这些提交吧。再举一个更夸张的例子,如果OJ准备的测试机器的测试速度已经完全跟不上提交的速度,那么卡住是不可避免的。我们通过网络预赛的教训总结出一些网络预赛题目的重要经验:

(1)对于容易上手的题目,测试样例一定要足够强。

(2)对于简单的题目,必须仔细确保测试数据是正确的。

(3)题目描述必须没有任何歧义,避免选手通过提交来不断尝试各种理解。

如果题目能够很有效控制提交数目,对于测试系统的要求其实不是很高。例如复活赛和现场决赛的时候,测试系统会大部分时间处在空闲阶段。反之,如果提交处在上述病态的情况下,只有非常专业的测试系统才能胜任这样的挑战,当然不包括我们的测试系统。

总之,对于网络问题我作为清华ACM队的一员深表歉意,如果还有下一次的机会,我们一定努力做得更好。

北京赛区验题赛:

如果说网络预赛过程中,网络出了一些问题,那么,决赛则是结果更出乎我们的意料之外。在北京赛区现场赛之前几天,我们3支队伍进行了验题赛,比赛虽然不正式,但是过程仍然很激烈。

先列一下决赛的9道题目吧:

A.Robot

B.Animal Run

C.Another Minimum Spanning Tree

D.Connect It, If You Can!

E.Guess

F.XAR

G.What a Special Graph

H.Ruler

I. A Funny Stone Game

现场赛只有BEHI这4道题目有队伍成功通过,可是在验题赛中我们队伍的进程完全不是这样,下面是我们的做题情况:

22分钟 A题,数学方法,1Y

首先,我们3支队伍在30分钟之内都1Y了A题。A题是一道中等难度的数学题,可能A题需要明确高次等差数列的求和公式,而且通过枚举来代替一些假设可以大大简化问题。现场比赛时有些队伍做了不正确的假设导致始终WA。

记得当时zhuzeyuan使用了一个奇怪的贪心方法,后来被OpenGL找到一个反例,这个测试用例被添加到正式比赛的测试数据之中,这个反例也成为了现场赛中使得许多提交WA的重要数据之一。

30分钟E题,贪心,1Y

E是2006北京赛区最简单的题目,只需要直接的贪心法就可以解决。

52分钟H题,深度优先搜索,1Y

H是一道搜索题,题目时限不是很紧,不需要太多的优化就可以通过。

75分钟I题,标准的博弈SG问题,1Y

I是标准的博弈问题,通过计算SG就可以得到结果。这题其实有一个阴险的

地方,就是当某位置石子为大于0的偶数时,也需要考虑以保证结果的字典序最小,好在我们及时避开了这个陷阱。现场很多队伍调入这个陷阱中,耽误了一些时间。

129分钟B题,最短路径问题,3Y

B是一张平面图的最大流问题,由于图形比较有特点,所以可以建图来计算最

小割。但是这张图有106个点,2*106条边,最短路径需要用堆来辅助实现,首先

由于数组开小了RTE了一次,然后由于用map实现TLE了一次。这题浪费了许多

时间。

G题,实现和调试了30分钟,超时

G是2006北京赛区最困难的题目之一,题目描述很简单,判断一张图是否为

co-graph。我们算法的复杂度是O(n*m/32)的,不过由于数据个数比较多,程序运

行时间远超过了时限。

C题,贪心法实现50分钟,WA

C题是计算平面图曼哈顿最小生成树,直接计算是O(n2)的,但是题目中n接

近100000。我使用了一个贪心算法,其实和标准算法差距不大,不过还是导致WA。其实提前写C不是很合理的选择,当时没有注意到D。C和G难度相差无几。 230分钟F题,构造,1Y

F题是很变态的构造问题,这题完全是wd.h做的,我至今还不是很清楚算法。 250分钟D题,计算几何,2Y

D题是一道比较复杂的计算几何,当判断一条直线是否穿过一个多边形的时候忘记考虑了一种情况,WA了1次。现场许多队伍其实都只忘记考虑了这一种情况,但是可惜没有队伍该正确。

这场比赛最终我们队伍以7题结束,另外两队也都通过了7题。我们因此也

没有修改题目难度,随后让大家没有想到的是:一场极低通过率的比赛即将开始了。

北京赛区现场赛:

现场比赛中,我负责在某一个房间为参赛选手送打印资料,比赛60分钟左右

由于技术问题到Judge室处理一些问题。经过5个小时的比赛,最终中科大Student队通过4题获得冠军,厦门大学btALT通过3题获得亚军,北京大学RPWT,浙江大学gogogo和合肥工业大学Love Wisdom也都通过3题分列3-5位。

最终Student,btALT和Love Wisdom进军总决赛。

回顾比赛现场过程,首先让我们出乎意料的是E,E是2006北京赛区中最简单的题目,贪心法的方法参加比赛的同学都想到了,可是有一个小小的细节,对于实数比较大小时,需要加入一个微小量eps来控制精度。E题没有加eps的提交占到总提交的50%以上,我们称之为“经典提交”。这个小tricky不慎导致很多队伍迟迟不能通过第一题,对许多队伍的状态有不小的影响。

其次是A,A题收到了很多队伍的提交,但是最终都没有队伍通过A。原因是大家做了一些不保证正确的假设,当时我们都通过枚举的方法避免了这些假设。

另外,有一些队伍提早接触了F和G,并深深地陷入其中。中科大早在240分钟就通过了第4题,可是之后他们在G上花费了不少精力,我们甚至想跑到他们那里告诉他们G是最难的。

记得180分钟到240分钟,我们只接收到了不超过10次提交,每次大家听到提交的声音,所有Judge一起点鼠标抢测试权。后来,在TCCC2006上和Ying说起此事,据他说和2004年的广州赛区有许多相似之处。

总结:

祝贺所有获得好成绩的队伍,恭喜Student,btALT和Love Wisdom进军总决赛。并再次对网络赛给大家带来的不便道歉。后来清华举行了名为复活赛的比赛,我想复活赛应该就是从那时开始出现的吧?

当年清华一共有6支队伍,但是只参加两个赛区的比赛,造成每个赛区之前都要进行小规模PK,最终只有4支队伍有机会参加ACM分区赛。Mobile Robot建立之初比较顺利,获得了参加两个赛区比赛的机会,迎接Mobile Robot的将是上海和西安赛区的挑战。

我们3人能够走在一起,要感谢吴文虎老师的支持,组队初期虽然没有经历大战,但是那些快乐的时光至今都很难忘怀。

附北京赛区排名

1 University of Science and Technology of China=>Student First Place 4 628

2 Xiamen University=>btALT Second Place

3 417

3 Peking University=>PKU RPWT Third Place 3 460

4 Zhejiang University=>gogogo Fourth Place 3 471

5 Hefei University of Technology=>Love Wisdom Fifth Place 3 477

6 Fudan University=>Yin-Yang Sixth Place 2 204

7 Tianjin University=>TJU_Rhythm Seventh Place 2 212

8 Beihang University=>L3 Eighth Place 2 254

9 Peking University=>PKU4 Ninth Place 2 275

9 Harbin Institute of Technology=>IAC Ninth Place 2 282

10 ZhongShan (Sun Yat-sen) University=>ZSU_Pyrenean Tenth Place 2 288

11 Zhejiang University=>Phoebus Eleventh Place 2 311

11 University of Electronic Science and Technology of China=>Gryffindor Eleventh Place 2 319

12 ZhongShan (Sun Yat-sen) University=>ZSU_Himalayas Twelfth Place 2 324

12 Fuzhou University=>OrOrz Twelfth Place 2 412

13 Beijing University of Posts and Telecommunications =>Vitamin Thirteenth Place 2 432

14 Ningbo Institute of Technology,Zhejiang University=>impact Fourteenth Place 2 435

15 Huazhong University of Science and Technology=>rodimus Fifteenth Place 2 442

16 Nanjing University=>PHOENIX Sixteenth Place 2 459

17 Fuzhou University=>Laplacian Seventeenth Place 2 467

17 Fudan University=>Shuangwaiwai Seventeenth Place 2 500

17 National University of Defense Technology=>Robust Seventeenth Place 2 517

18 Fudan University=>Free Wings, Yeah! Eighteenth Place 2 518

18 Hong Kong University of Science and Technology=>HKUST1 Eighteenth Place 2 692

利用假期空闲之时,将这几年GCJ,ACM,TopCoder参加的一些重要比赛作

个回顾。GCJ2006,ACM2005和TCCC2006之后,2006年对于我来说是一个大丰收,昨天晚上回顾了Mobile Robot成立先期的事情吧,今天先发惊心动魄的ACM

上海2006吧。

2006年ACM-ICPC(中)——Mobile Robot上海对决回忆到,当年清华一共有6支队伍,但是只参加两个赛区的比赛,造成每个赛

区之前都要进行小规模PK,最终只有4支队伍有机会参加ACM分区赛。Mobile Robot建立之初比较顺利,获得了参加两个赛区比赛的机会,迎接Mobile Robot的

将是上海和西安赛区的挑战。

比赛前:空前的豪华阵容

记得清华大学出发上海赛区的时间是10月20日晚上,至于为什么能记得如此

精确,是因为在那之前我经历了真正意义上的“赶火车”。10月18日TCCC2006

在圣地亚哥落下帷幕,19日从旧金山机场起飞会北京,飞机着陆时间是20日下午

2点半,进海关之后已经快4点了,我立即乘坐机场大巴直奔火车站与大部队会合,之间都没有时间回寝室。

来到中亚饭店报道拿到参赛队伍名单的时候,就赫然发现上海2006的参赛队

伍实力达到了几年来一个不可逾越的巅峰。上海交大的1234队都出现在了名单中,还有浙大和北大的Final队都来了,这些还不够,芜湖一中的Loner(周冬),上海微

软ATC的lympanda也参加比赛。上海交大一直是这几年来清华国内最强劲的对手,如今交大又占据主场优势,实力深不可测。上海微软ATC虽然是旅游队,但是lympanda凭借在TopCoder上的表现,没有人敢轻视这位无冕之王的实力。

对于上海赛区,清华也派出了华丽的阵容,参赛的有3支队伍,除了Mobile Robot(我,geworm(鬲融)和wd.h(胡伟栋))之外,还有鼎盛时期的Shangri-La

(b142857(候启明),lxd(林希德)和zhuzeyuan(朱泽园))以及后来的西安赛区亚军GotoFly(zcgzcgzcg(朱晨光),wangjun(王俊),tedcn(龙凡))。记得练习赛之前,

大家一起围圆桌吃饭,朱晨光突然和旁边的王俊说,好像就我们两个没有参加过IOI,然后另一边林希德补了一句,就我们三个不是金牌。

我第一次有机会敬仰候启明的时候,是自己第一次参加NOI——NOI2002天津,候启明以满分的成绩获得冠军,当时的亚军就是林希德。之后的冬令营,我以非正式营员参加测试神奇得获得第三名,但更重要的是冬令营测试的冠亚军就是候启明和林希德,之后我再没有和两位前辈在OI上交过手。时光飞逝,我代表bomber

队参加2005年的杭州赛区,被候启明领军的Legendary Team打得一败涂地。随后2006年初的Google Code Jam China(GCJC)2006上,我获得第三名,记得当天与获

得亚军的候启明同住在总统套房。其实在上海赛区之前我没有在正式比赛中战胜过他们。Shangri-La的另一人zhuzeyuan现在是我的队友,记得他当时在TopCoder仍然是Target(你可是早点在今年Final之前把Target拿回来呀,几次涨停就可以

了:P),实力也不在前二人之下。

面对知根知底的Shangri-La,大家都知道一场大战在即,从实力上分析,我觉

得Mobile Robot略弱,不过赛前我们都没有信心一定能够在比赛中占据优势。而

且我们心里深知,上海赛区的结果将很有可能直接决定清华大学当年的总决赛队伍。面对这种残酷的现实,我们都无可奈何,有时一些有实力进军总决赛的队伍在清华都没有机会参加分区比赛。

个人的经验看来,我认为在势均力敌的时候,最重要一点是明白自己的优势和

劣势所在,要用自己最强的方面来对抗对手,避免暴露出自己的劣势。我想在这一点上Shangri-La可能没有我们做得好。Shangri-La的优势是三人的总体实力很强,

他们完全可以采用三大高手的组队模式;我们组队时间长,配合默契,而且当时自己刚刚从TCCC2006以100%正确率回国,保持了良好的状态。从单人比赛上讲,

当时我的状态即使有Petr和Tomek在场,我都并不认为自己一定会有明显的劣势。

比赛场地是上海大学的一个大体育馆,现场气氛很热烈,想到我们用4个机房

办的北京赛区的现场比赛,不由地觉得有些寒酸。

在场外碰到了lympanda,他向我了解刚结束的TCCC2006的情况,我于是给

他描述了一下几道现场比赛过程中1000分的题目,结果全部都被panda秒杀了,

无限敬仰呀!同时也第一次见到了周冬。

提一件飘逸事情,记得当时练习赛有3题,封版时没有队伍通过B题,但是其

实在封版后我们通过了这题,我们应该是当时唯一在练习赛中AK的队伍。记得之后好像还和中山大学的郭老师交流过这题。不过至于B为什么能够AC:B题是一

道需要SPJ的题目,可是练习赛的时候没有SPJ,而我又坚信自己的程序是正确的,于是我不断提交。可能是由于Judge不耐烦了,才用Yes的方法让我们停止。

比赛之前的晚上我们都休息得很好,第二天早上以充足的精力迎接史诗般的上

海赛区决战。

比赛过程:400米赛跑

我中学是很喜欢参加400米比赛,400米比赛从起跑姿势角度应该认为是短跑,但是400米已经远远超过了冲刺极限。所以400米跑中,要求我们从发令枪响起的时候就加速启动,直到拼尽全力为止。

我们回顾一下比赛的过程吧,上海赛区比赛之后,我们写下了详细的比赛过程:按照一贯的方法,鬲融从A开始读,胡伟栋从J开始读,我准备编程的环境,

然后从中间选择题目读。鬲融读完A后,发现A是一道简单题。于是选择先写A 题。

A:给定ACM网上预选赛的比赛晋级规则,求每所学校的晋级队伍数。

简单模拟题,时间复杂度O(N)。本题题目有一个疑问:一个学校出线的队伍

数目可能比该学校参加预选赛的队伍数目还多,但是题目描述和样例表明不需要考虑这种情况。

ACM比赛的第一题的选择对比赛的进程影响很大,当没有优先选择比赛中最

简单的题目时,更需要保持冷静。

在我写A的过程中,鬲融看了B和C,发现C也非常简单,于是马上做C。

C:将一棵节点带权的树划分成两半,使两半的权值和的差最小。

枚举或者树的遍历,时间复杂度O(N)。去年有一个深刻的教训:当遍历树的

时候,很容易造成堆栈溢出(杭州赛区留下的疙瘩)。对于本题的范围,保险起见没

有使用DFS,而是使用BFS。使用BFS略微增加了编程量,但是可以在一定程度

上避免不必要的麻烦。

鬲融发现D是一道经典的统计题,在不到3分钟的讨论后,我们得出了可行的

算法,于是下面写了D。在写D的时候,鬲融和胡伟栋把题看完了,经过讨论,

决定胡伟栋开始想一道数学题I,而鬲融继续看题义不是很清楚的G和J两题。

D:给出平面里的一系列点,要找一个矩形,使矩形边上的点最多。

离散化后,先判断一条直线的情况。枚举两条横边,然后枚举竖边,一旦一条

右边的边比左边的边好,左边的边就不会再有作用。因此,枚举竖边的过程很容易做到O(N),总的复杂度是O(N3)

这题其实存在O(N2logN)的算法,我想出题人也应该没有在第一时间想到吧。

做出D后写了B,原因是B的算法相对简单。但是意想不到的是:B的样例不

合法,而且Clarification的速度非常慢,于是只好先把B放在一边。这个过程浪费

了不少宝贵时间。

随后看到team109(Shangri-La)过了一道红色气球,感觉是G,于是鬲融给我讲

了G,但是发现G实在不像算法简单或程序简单的题目。

此时,胡伟栋推出了I的一个很简明的公式。而且我们发现I的气球也是红色的。刚才看G很可能是被误导的。于是写了I。

写I的过程中,由于鬲融看的题基本已经被做完了,胡伟栋给鬲融讲了H的题意,鬲融想出了一个可行的做法,不过由于还有更简单的题并没有马上做。

I:求杨晖三角形第N+1行不能被质数整除的数的个数。

可以找出规律,然后写出公式,时间复杂度O(logN)。我在并不知题目意思的

情况下写过了I,依靠胡伟栋的公式,我们度过了此次比赛第一段艰难的时期。

从过D题到过I题,大概有40分钟的时间。这段时间我们主要的失误有:

(1) B的样例不合法,这其实不是我们的错误。

(2) 受气球颜色的误导,过早思考一道很难的题目。

(3) 后来听朱泽园的建议:由于一个人的问题导致卡住,应该一个人解决,不

应该让全队都陷入混乱中。

我认为我们直接选择写另外一道题目主要有两个原因:一是B卡住的原因比较

特殊,不是我们花时间就能克服的;二是I的算法比较清楚,非常稳定。

等I过了之后,B的Clarification出来了,Judge换了一组样例。于是开始调B。

B:给出16个数,将他们排成十字架形,使力矩平衡。求本质不同的方案数。

十字架一共有4 个“臂”。首先找出一个“臂”的所有情况。然后将等值的无

重复的合并成两个相对的“臂”。然后从16个数中选出8个,将他们作为一组,

另外8个作为另一组,这种方案的总数为前8个成对的方案数乘后8个成对的方案数。最后把方案数求和除4。

本题属于搜索题,而且时限特别紧,由于搜索问题的优化空间往往很大,而且

又是多组数据,所以很容易造成TLE。在调对样例后TLE了一次,改进了算法后

由于开小数组RE了一次,终于在第三次提交通过了B题。

记得高中时一次在网上做题(只记得是xreborner出的题目)的时候,比赛一开始

就写一道时限很紧的题目,估计开始程序的正确性是没有问题的,就是效率比较低;

但是,在不断优化的过程中改错了程序,导致1个小时以后当程序不TLE了以后,程序变成了WA。这样使得信心完全崩溃。

听了很多同学讨论之后,发现不少队伍就完全卡在了B题上。以后对这种题目

只能倍加小心,现在我们还没有什么特别好的方法。而且,B题的样例只具有测试性,不具有调试性,编程时必须特别仔细才行。

这时大概才1个多小时,我们看似顺利地通过了5题;但是现场的情况并没有

任何优势可言,Shangri-La在几分钟后通过第5题,两个队伍的罚时只相差1分钟。

随后我们到达了第二段艰难的时期,主要原因是鬲融把F的题目看漏了一个条件,与胡伟栋讨论后误以为这个题比较容易,很快这题出现Run-time Error好在重

读题后发现错误并及时放弃,没有再浪费时间去把Run-time Error调成WA。如果

当时死做此题则后果不堪设想。

在鬲融和胡伟栋分别读F的程序以及题目的时候,由于现在剩下的题目都比较

复杂,我们选择了一道相对清楚的题目H继续做。

H:对一个集合进行两种操作:插入一个数和询问MOD Y最小的数中最后一

个数。

由于数字的范围是[1..500000],先选择一个合适的M。当Y<=M时,通过插入

时直接保存来处理,当Y>M时直接枚举,用并查集求一个元素的后续。这样每一

次操作的时间复杂度是O(Sqrt(500000)).

但是,开始选择M为1000,并没有充分估计复杂度的平衡性。开始我们认为

并查集的常数较大,但是后来感觉到并查集的常数相对小一些,于是把M选为

500就过了。后来在同出题人交流的时候,被告之M取在400-800的范围内都可以。

第二段艰难的时期的原因可能不仅仅是题目看漏,也由于题目难度已经增加。

好在当时特别是当H的程序TLE之后,我们都比较冷静,相信自己H题的算法是

正确的算法,只是参数的选择不够合理。这种考验在平时一般是很少遇到的,经受这次考验之后,再遇到类似的问题,我们应该能够更冷静一些。

过了H之后,鬲融已经再次确认了J的题意,随着气球的指引,我们决定攻克

本次比赛最大的“纸老虎”:J,而做J的过程中胡伟栋一直在想G,已经大致得

到了算法的框架。

J:给出一些数的大小限制的关系,求更精确的关系后者判断为矛盾。

转换成图的模型,不断迭带调整,直到不能调整为止。当然这题由于大小限制

关系中既有’<=’还有’<’,所以需要判断XI

J题的数据输入输出比较复杂,但是题目本身很简单。这题对编程能力提出了很高

的要求。

通过J题之后,看了一下board,当时Shangri-La只有5题,不过在我们还没

有反应过来的时候Shangri-La就也同样7题了,罚时上我们领先4次提交。

在比赛的前200分钟,我延续了TCCC2006的良好状态。我们配合默契,在面

对BHJ这样琐碎的题目时,队友会提前把需要注意的细节总结在纸上,整个 过程

都保持得很平滑。另外,鬲融和胡伟栋在我做每一题时都准备了很合适的测试数据,大大减小了我测试的时间并很有效地提高了提交正确率。由于剩下的题目难 度明

显高出一个档次,在通过7题时的罚时领先是最后获得比赛胜利的重要砝码。

现在剩下的只有E,F,G三道没有队通过的题目了,其实最终也没有队伍通过。我们曾经读错过F,因此这次分别尝试了E和G,但是都失败了。这里我们曾

经讨论过先做E还是先做G,当时面临的选择是:E的复杂度估计较高,不知优化

后能否通过,而G的算法性更强,胡伟栋仍然没能完全清楚如何解决,实现的复

杂度高于E。我们这次带有赌博性的选择了E,并没有仔细考虑如果E的时间要求

过于严格会出现什么问题(可能与B的相对轻松通过有一定关系),在此后的比

赛中我们应该注意周全考虑,尽量选择题意清楚并且复杂度容易估计的题目。

E:带限制的有向图的第K短路。

本题其实有标准的A*算法,我们也使用了这个算法。但由于复杂度过高,我

们的程序一直TLE。据Judge说这题对时间的要求非常严格。

G:在一个森林的若干点布置仪器,仪器有作用范围D,仪器之间的距离需要

大于等于D,求最大的覆盖长度和最小的权。

本题可以使用二次方状态的动态规划,类似CTSC2004的一题。我和胡伟栋讨

论后成功想出了正确的方法,并且在最后时刻写出了程序,而鬲融和胡伟栋则出了一些测试数据,将数据调过后时间已经很紧张了。首先由于忘记优化floyd超时了

几次。在优化了floyd算法之后,还是没有考虑到图不连通的情况,未能在比赛结

束前调出。

F:给出一些公理,假设和定理之间的关系,依次尝试,推出尽可能多的定理。在同等情况下要求使用的假设最少。

本题可以用最小费用最大流解决,但是比较容易实现的网络流算法都很难在时

限内出解。

现在看来,EFG三题中的E没有比赛中想像得那么难,当时比赛中受到巨大压力的影响没能攻破此题,不过FG题即使出现在CTSC难度的比赛上也非常合适。

比赛结束:罚时险胜

比赛结束时我们与Shangri-La同为7题,上海交大一队最终也通过了7题,我

们依靠罚时的微弱优势险胜。经过惊天地泣鬼神的300分钟,我们终于获得了梦寐以求的2006上海赛区冠军。Mobile Robot凭借着上海赛区的夺冠,已经可以认为

获得了进军2007东京世界总决赛的入场券。

比赛结束后见到了很多复旦的老朋友和吴永辉老师,吴老师还是和以前一样,

玩笑开个不停。那些复旦的老朋友赛前由于是参与出题,我们一直没有看到,颁奖仪式之前,我们终于有机会在后场一起聊天。不过聊天这些时间中,我和b142857

错过了郭老师在颁奖仪式前进行的“点名”(当时郭老师要求我们上去讲解题目),实在不好意思。

总结:

首先向Shangri-La致敬,即使在最后一刻,相信大家都还仍然有机会,棋逢对

手也是我ACM生涯中的一大幸事。当两支队伍都通过7题的时候,排在第3名的

队伍才刚刚5题。也就是说,我们两支队伍其实只用了2/3的比赛时间就锁定了上

海赛区的冠亚军。

上海交大一队最终也通过了7题,比赛开始时我们就注意到了交大开场时非常

不顺利,不过顽强的交大一队稳扎稳打,在最后一小时也成功通过了第7题。在这里向交大致敬,开场的种种不利不亚于我在杭州2005时的起跑,你们能够沉着应战,破釜沉舟的精神一直值得我们学习。当时交大一队中有一位来自辽宁的选手辛韬,记得NOI2003之前我们有数次交手都以我失败告终,后来经常在许多网上比

赛中切磋,2005年ACM北京赛区也有你熟悉的身影,在清华早有耳闻你在交大的优异成绩,祝福你今后越来越好。

这次比赛的命题工作是由复旦大学担任的,复旦大学的命题特点与东欧的命题

风格很接近,题目的算法性偏强,题目对程序运行速度要求普遍高。

按照panda的说法,上海微软ATC队由于一些配合的失误,最终只通过5题,不过也是前10的队伍之一。另外,芜湖一中队也顺利通过5题排进前十。GotoFly

通过第3题的时候还排在第3,不过后来卡死在J上了,有些可惜。

后来,分配总决赛名额的时候,上海赛区得到了10个总决赛名额,这个数字

相信也是这些年来的之最吧。

这是一场值得纪念的比赛,参加2006上海赛区的强队实力远高于几年内的各

大赛区,能够站立在上海赛区的最高领奖台是Mobile Robot获得的最高荣誉之一。经历了上海赛区大战的洗礼,接下来的西安赛区出场的则是更成熟的Mobile Robot。

附上海赛区排名:

1 Tsinghua University => Mobile Robot 7 617

2 Tsinghua University => Shangri-La 7 709

2 Shanghai Jiao Tong University => Lacotix 7 1034

2 Fudan University => Symphonic Rain 6 924

2 Shanghai Jiao Tong University => Prodigies 6 957

2 Fudan University => ShuangYY 6 1098

2 Xiamen University => btALT 5 534

3 National Taiwan University => puyo 5 563

4 The First Middle School of Wuhu => WHYZ

5 652

4 Microsoft ATC Shanghai => Core-Stop-Dump

5 729

4 Zhejiang University => Golden Keyboard

5 817

5 Peking University => PKU_T2 5 819

6 Zhejiang University => Dasher 5 956

6 East China University of Science and Technology => Redfield 4 325

7 Tsinghua University => GotoFLY 4 367

7 Zhejiang University => sago 4 392

7 National University of Defense Technology => Robust 4 438

8 Zhongshan University => ZSU-Tanglha 4 512

9 Tongji University => Revenge 4 559

10 Shanghai Jiao Tong University => H-E-A-T 4 600

10 Xidian University => ACMore1 4 602

11 Wuhan University => Moonmist 4 723

12 Zhongshan University => ZSU_Olympus 4 765

12 Nanjing University of Science and Technology => Narcissus 4 774

13 Northwestern Polytechnical University => 1010 1100 4 845

14 Harbin Institute of Technology => Gaminerie 3 200

15 Fudan University => White * [ Bear + Dew + Cloud ] 3 337

15 Zhongshan University => ZSU-Everest 3 360

15 Hefei University of Technology => Happy For Unpain Teeth 3 406

16 Beijing University of Posts and Telecommunications => Neon 3 442

17 Shenzhen University => Aspire 3 453

18 Harbin Institute of Technology => Corsair 3 457

18 Nanjing University of Science and Technology => backbones 3 461

18 South China Agricultural University => scau_update 3 468

19 Huazhong University of Science and Technology => rodimus 3 480

20 Ningbo University => ACHC 3 505

21 Peking University => www_pku 3 513

21 Fuzhou University => OrOrz 3 520

22 National University of Defense Technology => Puzzle 3 520

22 Donghua University => Gespenst 3 535

22 Hunan University => Footmen 3 535

23 Tianjin University => TJU_Rocket 3 563

24 National Taiwan University => ABCDE 3 568

24 Nanjing University of Aeronautics and Astronautics => ZipFish 3 575

25 University of Electronic Science and Technology of China => transistor 3 599

26 Shanghai Jiao Tong University => Lucifer 3 608

26 Zhengzhou University => ZZU_cheapwine 3 650

27 Wuhan University => Silence 3 685

27 Hangzhou Dianzi University => MP3 3 687

28 Jinan University => JNU-FLY 3 830

29 Huazhong Normal University => Neptune 3 857

利用假期空闲之时,将这几年GCJ,ACM,TopCoder参加的一些重要比赛作

个回顾。GCJ2006,ACM2005和TCCC2006之后,2006年对于我来说是一个大丰收,晚上发ACM西安2006吧。

2006年ACM-ICPC(下)——古城西安

艰苦的ACM2006上海赛区结束之后,我们原本以为清华会选择另外3支队伍

参加西安赛区的比赛。况且,大三的课程的实验任务很重,我们也就停止了计划的定期训练。大概在25天之后,12月20日左右突然收到邬老师的通知,准备出发

参加ACM西安赛区比赛。我们的2006西安之旅也就是在这比较仓促的准备中开

始的。

西安赛区之前,我们没有定下明确的目标,比赛过程中处处都采用了追求稳健

的方法,当时也是为了避免一年前的杭州悲剧重演。

西安的比赛没有太多兴奋的AC,没有惊心动魄的场面,所有过程都在类似旅

游的气氛中结束了。作为Mobile Robot的最后一战,这里也作一个简要的回顾吧。由于这次题目又是Srbga(刘汝佳)命题的,我最后也顺便列举一下我总结的他命

题的特色吧。

比赛过程:

2006年清华同样派出了3支队伍参加西安赛区,除了Mobile Robot(我,geworm(鬲融)和wd.h(胡伟栋))之外,还有Panacea(OpenGL(唐文斌),zhy(周源)

和liuhe(刘贺),如果你第一眼看见这个词就知道是什么意思,我相信您一定准备过GRE吧?)以及一起参加过2006上海赛区比赛的GotoFLY(zcgzcgzcg(朱晨光),wangjun(王俊),tedcn(龙凡))。

2006年冬天是我第一次来到西安,刚下火车就深深感受到了西安的古城气息。到达宾馆之后,我们做得第一件事情就是玩,印象很深的是钟楼,鼓楼还有大雁塔。我们做的最主要的事情可以用GotoFLY的4个大写字母GFLY来表示,就是“公

费旅游”。

比赛之前的晚上,我们认真讨论了比赛中采用的策略,参加西安赛区没有太多

传统强队,我们一致觉得应该优先采用比较稳健的策略。赛后有比较简短的总结:按照一贯的方法,鬲融从A开始读,胡伟栋从J开始读,我准备编程的环境,

然后从中间选择题目读。与上海赛区相比,比较顺利的是我一下就看到了一道比较简单的题目B,于是我马上写了B题。

B:使用火柴棒拼接数字,给定n,m,求使用不超过n根火柴棒拼成的m的倍

数中最大的数字。

本题主要的思想是动态规划,方程很容易得出,时间复杂度O(nm*10)。但是

本题有两个难点:

(1)如何得到最大的数字?标准的方法是使用BFS,搜索的过程中必须非常注意搜索的顺序,但是这样实现很容易出错。我注意到了n<=100的条件,因此结果不

会超过50位,于是我使用3个int64来保存结果,这样既实现简单又不容易错。虽然程序常数比较大,但是不至于导致超时。

(2)不能不使用火柴棒,而数字0也需要火柴棒来拼成。例如n=5,m=97的结

果是-1,而n=6,m=97的结果是0。

ACM比赛的第一题的选择对比赛的进程影响很大,此次比赛很成功地使用了

很稳妥的算法。

E:标准的课堂睡觉问题,求最早所有人不睡觉的时间。

简单的模拟题,而且时限很宽松。

E其实是最简单题目,但是由于我的低级错误,不仅得到了一次罚时,而且浪

费了宝贵的时间。好在当时比较冷静,很快改正了错误。

D:对于一个不超过100*100=10000的表达式,可以在其中加入*来表示任何

字符,如果一个表达式只能和唯一的等式对应,则称为A类表达式。给定一个表

达式B,要求通过改变最少的字符使它变成A类表达式。

本题使用了一次搜索再检索的方法,可以有效控制程序的速度。估计时限问题

后选择先提交节省了不少时间。

J:给定一个4*4的网格的边框图形,问是否可以通过在4*4的网格上放6个

2*2的正方形框得到。

H:给定一组旋转后的乐谱及初始音符及结束音符,求原始的音符序列。

开始胡伟栋没有看到旋转的角度是整数的条件,于是推出了可以解决实数角度

的数学公式。但是由于公式需要考虑的情况比较复杂,幸运的是我们使用了枚举角度再判断的方法。

写了读入部分之后,看到Panacea过了H题。鬲融重新读了题目,发现了角度是整数的条件,于是稍微修改就得到了正确的程序。

本题需要判断的条件很多,需要考虑得很仔细:

(1) 先把坐标按照X[i]排序。

(2) 通过初始音符及结束音符得到sd,判断sd是否在1到5之间。

(3) 判断相邻两个字符的距离是否在sd到5sd之间。

(4) 判断每个点的坐标是否可以对应一个音符。

F:求3维空间的Voronoi图,输出每个Voronoi块体积占的比例。

胡伟栋提出了本题的正确算法:分割立方体。如果一个立方体的8个顶点都到

一个点最近,那么这个矩形内的所有点都到这个点最近,否则就分割这个立方体,直到立方体的体积少到一定程度为止。

开始程序的精度不够,后来胡伟栋提出了一个启发式的分割立方体的方法,思

想就是使得两个立方体的分割面以尽量大的概率穿过Vorinoi平面。程序的效果很好,而且那时时限也已经放宽,于是顺利通过了F题。其实本题蒙特卡罗法也可

以过,我们也想到了这个方法,但是由于随机过程写的效果有问题,导致精度不够。

通过F题的时间是270分钟,封版时除了Panacea通过4题,其他队伍最多只

有3题。当时Panacea正好坐在我们背后,很可惜他们卡在了D和G上,最终也

只有4题。最后半小时我们也没有尝试H或者A,因为其他队伍很难在最后一小

时通过4题。我们就简单尝试了几次C就默默地等待着西安赛区比赛的结束。

最终我们通过6题排名第一,由于已经获得了上海赛区的冠军,不参加ICPC

的排名,不过仍然获得了Solaris杯。

总结:

西安的ICPC冠军是北京大学的T2(rainer,dzx和cici),后来他们依靠西安

的夺冠成绩进入了2007年的全球总决赛。T2在最后一小时表现极其神勇,顺利通

过2题一举超过了GotoFly和Panacea,而且最后几分钟还很有希望通过H,赛后

和rainer讨论之后发现算法相差无几,可能就是一些小细节缺陷吧。2006-2007年

度的ACM比赛,从上海到西安,还有东京的总决赛,Mobile Robot每次比赛都能

看到了T2熟悉的身影。我们在封版之后常常由于压力较大很难攻破题目,他们在

封版之后的冷静心态非常值得我们的学习。

GotoFly与T2一样通过5题,由于5分钟的罚时劣势位居第三,Panacea通过4题依靠罚时优势排在第四。两队都欠缺一些运气,很可惜。另外印象很深的是,坐在对面的朝鲜队通过了4题在ICPC中排名第2,如果西安能够多一个名额的话,

他们就能够出现在总决赛赛场了。

西安赛区是Srbga(刘汝佳)出的题目,从高中时期就开始做了Srbga出的题目,西安赛区的题目又一次体现出了刘汝佳命题的许多重要特色:

(1) 如果Srbga大哥出是一套题目,那么你会明显觉得题目拿在手上明显重一

些。Srbga大哥出题很重视题目描述或者故事的完整性,他很少使用一些僵

硬的题目模型和描述。有时读着他出的题目更像是在读小说,欣赏故事。

当然,由于Srbga大哥出的题目描述完整,刚拿到题目的时候会感觉很难

上手。我们很容易发现没有一道题目容易上手。用数据表达,比赛开始时

的空机时间偏长。

(2) Srbga大哥出的题目和世界总决赛的题目风格近似,题目多半对编程能力

提出很高的要求,相比之下对算法的要求不是非常高,考察的都是比较基

本的算法。如果用一个字形容就是:野。

(3) Srbga大哥出的题目对算法的考察范围非常广,虽然对于某特殊的算法要

求不高。有时还需要很强的组合算法能力。

(4) Srbga大哥出的题目中很注意数据的设计,例如C题中特别生成了极端的

情况,J则使用了接近20000组数据。一般情况下,不经过精心设计的随机

算法会吃尽苦头。

2006年的Mobile Robot的ACM分区赛比赛任务已经全部结束了,2006对于Mobile Robot来说是丰收的一年,我们圆梦了上海和西安的双冠军。在随后的冬天,我们加紧训练准备东京的总决赛。

各种查找算法性能分析

项目名称:各种查找算法的性能测试 项目成员: 组编号: 完成时间: 目录 前言 (2) 正文 (2) 第一章简介 (2) 1.1顺序查找问题描述 (2) 1.2二分查找问题描述 (2) 第二章算法定义 (2) 2.1顺序查找算法定义 (2) 2.2二分查找算法定义 (3) 第三章测试结果(Testing Results) (5) 3.1 实验结果表 (5) 3.2 散点图记录 (5) 第四章分析和讨论 (6) 4.1顺序查找分析 (6) 4.2二分查找分析 (6) 附录:源代码(基于C语言的) (7) 声明 (13)

前言 查找问题就是在给定的集合(或者是多重集,它允许多个元素具有相同的值)中找寻一个给定的值,我们称之为查找键。 对于查找问题来说,没有一种算法在任何情况下是都是最优的。有些算法速度比其他算法快,但是需要较多的存储空间;有些算法速度非常快,但仅适用于有序数组。查找问题没有稳定性的问题,但会发生其他的问题(动态查找表)。 在数据结构课程中,我们已经学过了几种查找算法,比较有代表性的有顺序查找(蛮力查找),二分查找(采用分治技术),哈希查找(理论上来讲是最好的查找方法)。 第一章:简介(Introduction) 1.1顺序查找问题描述: 顺序查找从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,若直至第一个记录,其关键字和给定值比较都不等,则表明表中没有所查记录,查找不成功。 1.2二分查找问题描述: (1)分析掌握折半查找算法思想,在此基础上,设计出递归算法和循环结构两种实现方法的折半查找函数。 (2)编写程序实现:在保存于数组a[i]有序数据元素中查找数据元素k是否存在。数元素k要包含两种情况:一种是数据元素k包含在数组中;另一种是数据元素k不包含在数组中 (3)数组中数据元素的有序化既可以初始赋值时实现,也可以设计一个排序函数实现。(4)根据两种方法的实际运行时间,进行两种方法时间效率的分析对比。 第二章:算法定义(Algorithm Specification) 2.1顺序查找 从表的一端向另一端逐个进行记录的关键字和给定值(要查找的元素)的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查找记录;反之,若直至第一个记录,其关键

各种查找算法的性能比较测试(顺序查找、二分查找)

算法设计与分析各种查找算法的性能测试

目录 摘要 (3) 第一章:简介(Introduction) (4) 1.1 算法背景 (4) 第二章:算法定义(Algorithm Specification) (4) 2.1 数据结构 (4) 2.2顺序查找法的伪代码 (5) 2.3 二分查找(递归)法的伪代码 (5) 2.4 二分查找(非递归)法的伪代码 (6) 第三章:测试结果(Testing Results) (8) 3.1 测试案例表 (8) 3.2 散点图 (9) 第四章:分析和讨论 (11) 4.1 顺序查找 (11) 4.1.1 基本原理 (11) 4.2.2 时间复杂度分析 (11) 4.2.3优缺点 (11) 4.2.4该进的方法 (12) 4.2 二分查找(递归与非递归) (12) 4.2.1 基本原理 (12) 4.2.2 时间复杂度分析 (13) 4.2.3优缺点 (13) 4.2.4 改进的方法 (13) 附录:源代码(基于C语言的) (15) 声明 ................................................................................................................ 错误!未定义书签。

摘要 在计算机许多应用领域中,查找操作都是十分重要的研究技术。查找效率的好坏直接影响应用软件的性能,而查找算法又分静态查找和动态查找。 我们设置待查找表的元素为整数,用不同的测试数据做测试比较,长度取固定的三种,对象由随机数生成,无需人工干预来选择或者输入数据。比较的指标为关键字的查找次数。经过比较可以看到,当规模不断增加时,各种算法之间的差别是很大的。这三种查找方法中,顺序查找是一次从序列开始从头到尾逐个检查,是最简单的查找方法,但比较次数最多,虽说二分查找的效率比顺序查找高,但二分查找只适用于有序表,且限于顺序存储结构。 关键字:顺序查找、二分查找(递归与非递归)

搜索算法效率比较

数据结构课程设计报告 搜索算法效率比较的设计 专业 计算机科学与技术 学生姓名 Xxxxx 班级 Xxxx 学 号 Xxxx 指导教师 Xxx 完成日期 2016年6月16日

目录 1.设计题目 (3) 2.设计目的及要求 (3) 2.1.目的 (3) 2.2.要求 (3) 3.设计内容 (3) 4.设计分析 (4) 4.1.空间复杂度 (5) 4.2非递归线性搜索设计 (5) 4.3递归线性搜索 (5) 4.4二叉搜索设计 (6) 5.设计实践 (7) 5.1非递归线性搜索模块设计 (7) 5.2递归线性搜索模块设计 (7) 5.3二叉搜索模块设计 (7) 5.4.主程序模块设计 (8) 6测试方法 (10) 7.程序运行效果 (11) 8.设计心得 (12)

搜索算法效率比较的设计 1.设计题目 给定一个已排序的由N个整数组成的数列{0,1,2,3,……,N-1},在该队列中查找指定整数,并观察不同算法的运行时间。考虑两类算法:一个是线性搜索,从某个方向依次扫描数列中各个元素;另一个是二叉搜索法。要完成的任务是:分别用递归和非递归实现线性搜索;分析最坏情况下,两个线性搜索算法和二叉搜索算法的复杂度;测量并比较这三个方法在N=100,500,1000,2000,4000,6000,8000,10000时的性能。 2.设计目的及要求 2.1.目的 (1)需要同学达到熟练掌握C语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题;2.2.要求 学生必须仔细阅读数据结构,认真主动完成课设的要求,有问题及时主动通过各种方式与教师联系沟通;要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己计划完成情况;独立思考,课程设计中各任务的设计和调试哦要求独立完成,遇到问题可以讨论,可以通过同学间相互讨论而解决。 3.设计内容 任何程序基本上都是要用特定的算法来实现的。算法性能的好坏,直接决定了所实现程序性能的优劣。此次对有关算法设计的基本知识作了简单的介绍。针对静态查找问题,以搜索算法的不同实现,并对非递归线性搜索算法、递归线性搜索算法和二叉搜索算法这三种方法进行了比较和分析。 算法是为求解一个问题需要遵循的、被清楚地指定的简单指令的集合。解决一个问题,可能存在一种以上的算法,当这些算法都能正确解决问题时,算法需要的资源量将成为衡量算法优良度的重要度量,列如算法所需的时间、空间等。算法是对问题求解过程的一种描述,是为解决一个问题或一类问题给出的一个正确的,有限长的操作序列。 由于查找一个数的过程,无论运用哪种算法对于电脑来说速度都是非常快的,都爱1ms之内,无法用计时函数测试出来。所以为了能够直观准确地表示出各个算法间的差异,此程序用了循环查找的方法,具体的思想是:先随机生成3000

2017浙江房地产公司排名

2017浙江房地产公司排名 1.浙江万科南都房地产有限公司 2.碧桂园控股有限公司 3.绿地集团 4.浙江保利房地产开发有限公司 5.绿城中国控股有限公司 6.杭州滨江房产集团股份有限公司 7.中海地产(杭州)有限公司 8.融创中国 9.?地集团杭州公司 10.杭州龙湖房地产开发有限公司 11.新城控股集团 12.世茂房地产浙江区域公司 13.浙江佳源房地产集团有限公司 14.浙江祥?房地产有限公司 15.杭州富?房地产开发有限公司 16.远洋地产杭州公司 17.阳光城集团杭州公司 18.中国铁建 19.融信中国杭州 20.泰?集团杭州公司 21.九龙仓(杭州)公司 22.中梁地产集团有限公司 23.蓝城房产建设管理集团有限公司 24.华润新鸿基房地产(杭州)有限公司 25.越秀地产杭州公司 26.新湖中宝股份有限公司 27.合景泰富地产杭州公司 28.海亮地产 29.杭州北?置业有限公司 30.浙江北?资源地产有限公司 31.宝龙地产杭州城市公司 32.浙江?华房地产开发有限公司 33.和昌集团杭州公司 34.浙江信达地产有限公司35.德信控股集团有限公司 36.中粮地产杭州公司 37.光明地产浙江公司 38.嘉?置业(杭州)有限公司 39.上海保集(集团)有限公司 40.杭州城建开发集团 41.宁波银亿房地产开发有限公司 42.浙江省赞成集团有限公司 43.?开地产杭州公司 44.杭州宋都房地产集团有限公司 45.旭辉地产杭州公司 46.荣安集团股份有限公司 47.顺发恒业有限公司 48.浙江天阳置业有限公司 49.保亿置业集团有限公司 50.?厦房地产开发集团有限公司

各种查找算法的性能测试

算法设计与分析实验名称:各种查找算法的性能测试 作者姓名:xxx xxx 完成日期:2013年9月9日星期日 组的编号:28

目录 第一章:简介 (1) 第二章:算法规范 (2) 数据结构 (2) 伪代码 (3) 第三章:算法测试 (4) 顺序查找结果 (4) 二分查找结果 (5) 第四章:分析讨论 (6) 算法分析 (6) 时间复杂度分析 (6) 附录 (7) 声明 (7)

第一章:简介 问题的描述: 查找问题就是在给定的集合(或者是多重集,它允许多个元素具有相同的值)中找寻一个给定的值,我们称之为查找键。 对于查找问题来说,没有一种算法在任何情况下是都是最优的。有些算法速度比其他算法快,但是需要较多的存储空间;有些算法速度非常快,但仅适用于有序数组。查找问题没有稳定性的问题,但会发生其他的问题(动态查找表)。 在数据结构课程中,我们已经学过了几种查找算法,比较有代表性的有顺序查找(蛮力查找),二分查找(递归,非递归)。 利用随机函数产生N个随机整数,利用顺序查找,二分法查找(递归,非递归),并统计每一种查找所消耗的时间。把查找花的时间排在表格里面。

第二章:算法规范 数据结构: 在所有的查找策略中,我们用了数组,函数作为主要的数据结构。因为我们只是测试了不查找所需要的时间,也即分析了顺序查找,二分法查找(递归,非递归)的性能,没涉及其他复杂的操作,所以在这个项目中用了静态实现数组就可以。 伪代码如下所示 顺序查找: 1.int SeqSearch1(int r[ ], i nt n, int k) 3.1.while (i>0 && r[i]!=k); 3.2.循环 i--; 3.3.返回是否找到要查找的元素k; 二分法查找: 一.递归 1int search(int a[],int n,int k) 1.1.Low=0,High=n-1; Mid=(Low+High)/2; 1.2. if ((Low>=High)||(n==-1)) return -1

杭州市房地产发展历史回顾

杭州市房地产发展历史回顾

杭州市住宅开发历史简介 杭州市真正意义上的房地产开发始于93年,真正意义上的房地产开发是指由企业进行房地产投资开发和建设,通过市场销售的行为。而在此以前,房地产开发一般是计划经济下的政府行为,土地由政府划拨,建成后由政府和企业购买分配给职工,即所谓福利分房,市场上基本没有可以用货币购买的房产品,居民获得住房的唯一办法就是由政府或单位分配。 到93、94年,杭州市出现了居民可以用货币通过市场购买的住宅。这种具有商品属性的住宅,即称为“商品房”。因此杭州市房地产发展史应是商品房的开发历史。 93年至今的杭州市房地产发展基本可分成四个历史波段:1993年-1995年的初步繁荣期,1995年一1997年的平稳调整期,1998年至2004年的增长繁荣期,2005年至今的新一轮宏观调控期。 一、1993-1995年的初步繁荣期 自从93年国家政策允许以公司、企业行为进行房产的开发与销售后,杭州的房地产有了一个爆发式的发展,房地产开发公司如雨后春笋般地涌现出来。一是老牌的市区级国营公司,号称老十八家,分别为各级政府及房管部门所属。一般来说,每个区都有两家区级开发商,一家为区政府所属,另一家为区房管部门所属。像现在大家比较熟悉的滨江房产集团,最早其实是江干区下属的开发公司。区级开发商一般承担行政区内的旧城发行项目。市属房地产开发公司,包括市政府、市建委、市房管局所属的房地产开发公司一般承担市级旧城改造或城建项目。他们的开发项目一般集中在老城区内,以行政行为为主。在当时,官属开发商无论是市场占有率、影响力、客户接受程度都要远高于其他新组建的一些开发商,所以当时老百姓买房,是比较相信“组织”的,官字号的比较放心,觉得更有保障。 另外,每一行业相应成立自已的开发公司,如石油、纺织、轻工、经贸等一系列行业房地产公司,像名城房产,最早就是经贸厅下面同时。

杭州市房地产开发流程

杭州市房地产开发流程 第一部分,房地产开发公司的准备工作 在报行政机关审批之前,房地产开发公司应办理好土地出让手续,委托有资质的勘察设计院对待建项目进行研究并制作报告书,应附有详细的规划设计参数和效果图,并落实足够的开发资金。 第二部分,行政审批部分 根据我国当前法律、法规、规章,房地产建设项目的行政许可程序一般共分六个阶段:1)选址定点;2)规划总图审查及确定规划设计条件;3)初步设计及施工图审查;4)规划报建图审查;5)施工报建;6)建设工程竣工综合验收备案。 一、选址定点阶段。此阶段一般办理以下事项: 1、计委审查可行性研究报告和进行项目立项。 2、国土资源局进行土地利用总体规划和土地供应方式的审查。 3、建委办理投资开发项目建设条件意见书。 4、环保局办理生产性项目环保意见书(表)。 5、文化局、地震局、园林局、水利局对建设工程相关专业内容和范围进行审查。 6、规划部门办理项目选址意见书。 二、规划总图审查及确定规划设计条件阶段,此阶段办理以下一般事项: 1、人防办进行人防工程建设布局审查。 2、国土资源局办理土地预审。 3、公安消防支队、公安交警支队、教育局、水利局、城管局、环保局、园林局、文化局对建设工程相关专业内容和范围进行审查。 4、规划部门对规划总图进行评审,核发《建设用地规划许可证》。 5、规划部门确定建设工程规划设计条件。 三、初步设计和施工图设计审查,此阶段办理以下一般事项: 1、规划部门对初步设计的规划要求进行审查。 2、公安消防支队对初步设计的消防设计进行审查。 3、公安局交警支队对初步设计的交通条件进行审查。 4、人防办对初步设计的人防设计进行审查。 5、国土资源局进行用地预审。 6、市政部门、环保局、卫生局、地震局等相关部门对初步设计的相关专业内容进行审查。 7、建委制发初步设计批复,并对落实初步设计批准文件的要求进行审查。 8、建委对施工图设计文件进行政策性审查,根据业主单位意见,核发技术性审查委托通知单。 9、建委根据施工图设计文件审查机构发出的《建设工程施工图设计文件审查报告》,发放《建设工程施工图设计文件审查批准书》。 四、规划报建图审查阶段,此阶段办理以下一般事项: 1、公安消防支队进行消防设计审查。 2、人防办进行人防设施审查。

搜索算法比较和优化

深度优先搜索和广度优先搜索的比较和优化 第一节比较 一、深度优先搜索的特点是: 1、从上面几个实例看出,可以用深度优先搜索的方法处理的题目是各种各样的。有的搜索深度是已知和固定的,如例题2-4,2-5,2-6;有的是未知的,如例题2-7、例题2-8;有的搜索深度是有限制的,但达到目标的深度是不定的。 但也看到,无论问题的内容和性质以及求解要求如何不同,它们的程序结构都是相同的,即都是深度优先算法(一)和深度优先算法(二)中描述的算法结构,不相同的仅仅是存储结点数据结构和产生规则以及输出要求。 2、深度优先搜索法有递归以及非递归两种设计方法。一般的,当搜索深度较小、问题递归方式比较明显时,用递归方法设计好,它可以使得程序结构更简捷易懂。当搜索深度较大时,如例题2-5、2-6。当数据量较大时,由于系统堆栈容量的限制,递归容易产生溢出,用非递归方法设计比较好。 3、深度优先搜索方法有广义和狭义两种理解。广义的理解是,只要最新产生的结点(即深度最大的结点)先进行扩展的方法,就称为深度优先搜索方法。在这种理解情况下,深度优先搜索算法有全部保留和不全部保留产生的结点的两种情况。而狭义的理解是,仅仅只保留全部产生结点的算法。本书取前一种广义的理解。不保留全部结点的算法属于一般的回溯算法范畴。保留全部结点的算法,实际上是在数据库中产生一个结点之间的搜索树,因此也属于图搜索算法的范畴。 4、不保留全部结点的深度优先搜索法,由于把扩展出的结点从数据库中弹出删除,这样,一般在数据库中存储的结点数就是深度值,因此它占用的空间较少,所以,当搜索树的结点较多,用其他方法易产生内存溢出时,深度优先搜索不失为一种有效的算法。 5、从输出结果可看出,深度优先搜索找到的第一个解并不一定是最优解。例如例题2-8得最优解为13,但第一个解却是17。 如果要求出最优解的话,一种方法将是后面要介绍的动态规划法,另一种方法是修改原算法:把原输出过程的地方改为记录过程,即记录达到当前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优的,等全部搜索完成后,才把保留的最优解输出。 二、广度优先搜索法的显著特点是:

杭州市房地产市场运行情况分析

杭州市房地产市场分析汇报材料 第一部分2003年杭州市房地产市场运行情况分析 一、房地产市场供给分析 1、土地供给大幅增加 今年杭州市共举行土地出让会14次,成功出让51宗,总成交面积300余万平方米(约4549亩),出让土地幅数、总成交面积分别比上一年增长64.5%和62%。其中住宅用地(含住宅配套公建用地)为34宗,合计面积约234万平方米(合3512亩),同比增长52.7%。 2、房地产投资保持继续上扬态势 今年1-11月杭州市房地产投资完成情况良好,各项指标均有大幅增长。据市统计局数据显示:2003年1-11月杭州市累计完成房地产开发投资80.89亿元,同比增长22.38%,其中住宅投资60.16亿元,同比增长16.57%。而今年杭州市预计GDP增长率为14.5%,在目前房地产业快速发展的阶段,两者的增幅比例是比较协调的。 其中住宅投资的主导地位继续得到巩固。商品住宅投资是带动杭州市房地产开发投资增长的重要动力,2003年1-11杭州市商品住宅完成投资60.16

亿元,占全部投资的74.68%;所占比重较去年上升1.22个百分点。办公楼完成投资7.54亿元,占9.33%;商业营业用房完成投资6.69亿元,占8.27%;其他房屋完成投资6.49亿元,占8.02%。 3、商品房开发面积继续保持高增长势头 ·商品房施工面积 商品房施工面积总体规模继续扩大,2003年1-11月杭州市商品房施工面积1015.56万M2,同期增长29.93%。其中商品房住宅施工面积772.69万M2,同期增长25.68%;商业用房施工面积73.43万M2,同期增长36.44%;办公楼施工面积87.36万M2,同期增长39.06%;其他用房施工面积82.08万M2,同期增长63.7%。

杭州有项目的房地产开发商名录

上海有项目的房地产开发商名录 在售项目数量为零的,表示之前有开发项目,现在无在售项目 公司名称在售项目数量 万科企业股份有限公司15 绿城中国控股有限公司35 绿都控股集团 5 龙湖地产有限公司 5 杭州滨江房产集团股份有限公司13 世茂房地产控股有限公司9 德信控股集团有限公司9 大家房产7 浙江金纬房地产开发有限公司12 融创中国控股有限公司 6 上海景瑞地产(集团)股份有限公司 3 杭州东田房地产开发有限公司 2 上海亿丰企业集团 4 浙江天阳置业有限公司8 旭辉集团有限公司 2 保利房地产(集团)股份有限公司9 九龙仓集团有限公司 6 高运房产 2 顺发恒业股份公司7 众安房产有限公司 5 中国铁建房地产集团有限公司 3 东海地产股份有限公司 3 杭州华元房地产集团有限公司 6 浙江贝利控股集团有限公司 3 江苏新城地产股份有限公司 2 杭州宋都房地产集团有限公司 4 远洋地产控股有限公司 4 朗诗绿色地产有限公司 3 宝龙地产控股有限公司 3 上海绿地(集团)有限公司 1 中国海外发展有限公司 4 金成集团 4 中天地产 6 中粮地产(集团)股份有限公司 2 金地(集团)股份有限公司 6

雅戈尔置业控股有限公司 3 莱蒙国际集团有限公司 1 莱茵达置业股份有限公司 6 保亿置业集团有限公司 3 杭州开元地产集团有限公司 2 浙江新南北投资置业集团 3 广宇集团股份有限公司 6 金都房产集团有限公司 3 新世界中国地产有限公司 2 金帝联合控股集团有限公司 1 浙江华安房地产开发有限公司 1 浙江大华房地产开发有限公司 3 坤和建设集团股份有限公司 3 杭州富越房产开发有限公司 2 恒大地产集团有限公司 1 浙江昆仑控股集团 5 广州富力地产股份有限公司 1 浙江协安置业投资有限公司 2 浙江佳源房地产集团有限公司 2 方兴地产(中国)有限公司 1 浙江野风集团房地产公司 3 复地(集团)股份有限公司 3 杭州万泰房地产开发有限公司 2 恒基兆业地产有限公司 1 港中旅置业有限公司 2 浙江广厦股份有限公司 5 北京金隅嘉业房地产开发有限公司 3 杭州西湖房地产集团有限公司 3 中大房地产集团 2 杭州耀达房地产开发有限公司 3 浙江华盛达房地产开发有限公司 2 天鸿地产集团 2 嘉凯城集团股份有限公司 4 香港万亚国际控股有限公司 1 碧桂园控股有限公司 1 浙江方正房地产开发有限公司 4 越秀地产股份有限公司 1 浙江钱江房地产集团有限公司 6 新湖中宝股份有限公司 3 华润置地有限公司 2

杭州市房地产市场发展报告

年杭州市房地产市场发展报告

————————————————————————————————作者:————————————————————————————————日期:

2012年杭州市房地产市场发展报告 2012年国际经济仍然处于衰退之中,欧债危机、美国财政悬崖等问题不断冲击着国际社会,中国外贸也受到严重影响。在不利的国际环境下,国家宏观调控政策坚持“稳增长”导向,通过预调微调放松货币政策,通过税制改革减轻企业负担,通过金融服务支持小微企业发展,国民经济运行总体呈现出“探底走稳”的发展态势。 在“打造东方品质之城、建设幸福和谐杭州”的总体战略引导下,2012年杭州市社会经济发展走势平稳,投资和消费增速回稳,产业转型升级迅速,城乡统筹发展加快,保障体系建设力度加大,地铁开通为大都市注入新活力。 2012年国家房地产调控政策继续从紧,杭州市区延续了“限购、限贷”等遏制投资和投机购房的严厉政策措施,商品房价格水平有所回落。随着房价回落和开发商促销力度加大,二季度开始,以中小户型为主的购房需求开始释放,商品房成交规模快速增加,但供求关系基本稳定。展望2013年,杭州市房地产市场发展的社会经济基础稳定,但政策环境存在不确定性,市场预期可能出现波动,全年商品房成交规模和价格总体有望保持平稳。 一、新建商品房市场 1.供应规模 根据透明售房网统计,2012年杭州市区新建商品房的批准预售套数为90745套,建筑面积1031万平方米,新建商品房新增供应套数和面积均为近5年内最高。其中新建商品住宅72948套,建筑面积844万平方米,占新建商品房的面积比例为81.8%,可见住宅仍是现阶段房地产开发商的主力产品。从城区供应情况看,萧山、余杭的新建商品房供应量与主城区的供应量各占50%,近年来,萧山、余杭逐渐成为杭州市主要的商品房供应区域。 2.存量规模 根据透明售房网统计,截至2012年12月31日,杭州市区新建商品房可售面积达1079.7万平方米,共83859套,其中住宅760.7万平方米,57830套。无论是新建商品房还是住宅,可售面积和套数均达到2008年以来的新高,给2013年房地产市场带来较大的销售压力。

实验八各种查找算法性能比较

《数据结构》课程设计 课程设计题目: 各种查找算法性能比较 姓名: 宋京 院系: 计算机学院 专业:软件工程 年级: 12级 学号: E01214018 指导教师: 王爱平 2014年 11月2日

目录 1课程设计的目的 (3) 2 需求分析 (3) 3.1概要设计 (3) 3.2详细设计 (4) 3.3源程序 (4) 3.3调试分析 (8) 3.4运行结果 (9) 4 小结 (9) 5 参考文献 (9)

1.课程设计的目的 (1) 熟练使用 C 语言编写程序,解决实际问题; (2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 2.需求分析 程序通过使用不同查找算法在2000个随机数中查找一个数,比较不同算法的查找时间,从而得出算法性能。使用的算法有二分查找算法、二叉查找算法、散列查找算法。 3.1概要设计 使用数组来存放产生的2000个随机数并随机产生一个需查找的随机数,使用静态查找、动态查找、散列查找查找算法的函数

3.2详细设计 3.3源程序 #include #include #include using namespace std; template int Find_s(T data[], int n,T key,int &num) //顺序查找(从n维数组中查找key,并且给出比较的次数icmp {num=0; for(int i=0;i

杭州房地产市场分析汇报材料

2003杭州房地产市场分析汇报材料 第一部分2003年杭州市房地产市场运行情况分析 一、房地产市场供给分析 1、土地供给大幅增加 今年杭州市共举行土地出让会14次,成功出让51宗,总成交面积300余万平方M(约4549亩),出让土地幅数、总成交面积分别比上一年增长64.5%和62%。其中住宅用地(含住宅配套公建用地)为34宗,合计面积约234万平方M(合3512亩),同比增长52.7%。 2、房地产投资保持继续上扬态势 今年1-11月杭州市房地产投资完成情况良好,各项指标均有大幅增长。据市统计局数据显示:2003年1-11月杭州市累计完成房地产开发投资80.89亿元,同比增长22.38%,其中住宅投资60.16亿元,同比增长16.57%。而今年杭州市预计GDP增长率为

14.5%,在目前房地产业快速发展的阶段,两者的增幅比例是比较协调的。 其中住宅投资的主导地位继续得到巩固。商品住宅投资是带动杭州市房地产开发投资增长的重要动力,2003年1-11杭州市商品住宅完成投资60.16亿元,占全部投资的74.68%;所占比重较去年上升1.22个百分点。办公楼完成投资7.54亿元,占9.33%;商业营业用房完成投资6.69亿元,占8.27%;其他房屋完成投资6.49亿元,占8.02%。 3、商品房开发面积继续保持高增长势头 ·商品房施工面积

商品房施工面积总体规模继续扩大,2003年1-11月杭州市商品房施工面积1015.56万M2,同期增长29.93%。其中商品房住宅施工面积772.69万M2,同期增长25.68%;商业用房施工面积73.43万M2,同期增长36.44%;办公楼施工面积87.36万M2,同期增长39.06%;其他用房施工面积82.08万M2,同期增长63.7%。 ·商品房新开工面积

杭州市房地产市场分析汇报

杭州市房地产市场分析汇报 作者:

---------------- 日期:

杭州市房地产市场分析汇报材料 第一部分2003年杭州市房地产市场运行情况分析 一、房地产市场供给分析 1、土地供给大幅增加 今年杭州市共举行土地出让会14次,成功出让51宗,总成交面积300 余万平方米(约4549亩),出让土地幅数、总成交面积分别比上一年增长64.5%和62%。其中住宅用地(含住宅配套公建用地)为34宗,合计面积约234万平方米(合3512亩),同比增长52.7%。 2、房地产投资保持继续上扬态势 今年1-11月杭州市房地产投资完成情况良好,各项指标均有大幅增长。 据市统计局数据显示:2003年1-11月杭州市累计完成房地产开发投资80.89 亿元,同比增长22.38%,其中住宅投资60.16亿元,同比增长16.57%。而今年杭州市预计GDP增长率为14.5 %,在目前房地产业快速发展的阶段,两者的增幅比例是比较协调的。 其中住宅投资的主导地位继续得到巩固。商品住宅投资是带动杭州市房地产开发投资增长的重要动力,2003年1-11杭州市商品住宅完成投资60.16 亿元,占全部投资的74.68% ;所占比重较去年上升1.22个百分点。办公楼完成投资7.54亿元,占9.33% ;商业营业用房完成投资6.69亿元,占8.27% ;其他房屋完成投资6.49亿元,占8.02% 。

3、商品房开发面积继续保持高增长势头 ?商品房施工面积 商品房施工面积总体规模继续扩大,2003年1-11月杭州市商品房施工面 积1015.56万M2,同期增长29.93%。其中商品房住宅施工面积772.69万 M2,同期增长25.68% ;商业用房施工面积73.43万M2,同期增长 36.44 %;办公楼施工面积87.36万M2,同期增长39.06 %;其他用房施工面积82.08万M2,同期增长63.7 %。

排序算法效率分析及总结

C 语言主流 的 排序算法效率分析及总结 作者:XXX 工作:算法搜集及程序组合,结论总结。 同组者:刘文 工作:程序测试,时间记录以及程序演示 这次我们组主要搜集了冒泡排序 算法,简单排序算法,直接插入排序算法,希尔排序算法,堆排序 算法,快 速排序算法六种常见的排序算法,并对它们的运行效率作了一个简单的测试与分析。 A 冒泡排序 算法思想简单描述: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较 和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反 时,就将它们互换。冒泡排序是稳定的。 算法时间复杂度:O(N2) 下面我们来测试一下不同数据量的排序时间: 这是200个乱序随机数: 冒泡排序运行时间为毫秒 这是1000个乱序随机数: 冒泡排序运行时间为毫秒 这是5000个乱序随机数: 冒泡排序运行时间为毫秒 这是20000个乱序随机数: 冒泡排序运行时间为毫秒 从不同数据量的纵向分析来看, 1,在冒泡排序算法里,随着数据量的增加,其运行时间也会越来越长。 2,在两百个数据的时候,其运行时间少到忽略不计,即运算瞬间完成。这说明冒泡排序在处理小数 据量的时候 还是很给力的 3,当处理的数据量从5000提到20000的时候,冒泡排序的运行时间发生了质的增加。 从几十毫秒到 几千毫秒,运行时间大大增加,从这里可见,冒泡排序在处理稍微大的数据的时候便已经显现岀 了力不从心感,我个人感觉已不大适用。 B 简单选择排序 算法思想简单描述: 在要排序的一组数中,选岀最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与 第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。选择排序是不稳定的。 时间复杂度:O(N2) 下面我们依然来测试一下简单选择排序在不同数据量的运行时间: 这是200个乱序随机数: 简单选择排序运行时间:毫秒 这是1000个乱序随机数: 简单选择排序运行时间:毫秒 这是5000个乱序随机数: 简单选择排序运行时间:毫秒 班级:计科二班 日期:2016-3-29 星期二

杭州市房产买卖契约(2020)

( 合同范本 ) 甲方:_____________________________ 乙方:_____________________________ 日期:__________年______月______日 精品合同 / Word文档 / 文字可改 杭州市房产买卖契约(2020) The contract concluded after the parties reached a consensus through equal consultations stipulates the mutual obligations and the rights they should enjoy.

杭州市房产买卖契约(2020) 卖方:(共有人:) 买方:(共有人:) 根据《中华人民共和国合同法》、《中华人民共和国城市房地产管理法》及其它有关法律、法规之规定,在平等、自愿、协商一致的基础上,买卖双方就下列房地产买卖事项订立本契约,共同遵守。 一、卖方将座落在区街号 房产,建筑面积平方米(套内建筑面积平方米,阳台建筑面积平方米,分摊公用建筑面积平方米),附属建筑物(已于年月日签订草约)出售给买方,并将与出售房屋相关的土地使用权同时转让给买方。买方已对上述房地产做了充分了解,自愿承买。 二、双方议定上述房地产(含附属建筑物)的总价款为人民币(大写) 万仟佰拾元

角分,(¥元)。 三、房产买卖成交后,在房产交易主管机关规定的期限内,双方共同申请办理过户手续。 四、卖方保证上述房地产合法,权属清楚。双方签约后,若发生与卖方有关的产权纠纷或债权债务,概由卖方负责清理,并承担民事责任,由此给买方造成的经济损失,卖方负责赔偿。 五、在履行本契约过程中,若发生争议,双方应采取协商办法解决;协商不成时,可向济南市仲裁委员会申请仲裁,或直接向人民法院起诉。 六、本契约自双方签章并经房产交易主管机关批准之日起发生法律效力,双方不得毁约。 七、办理房地产交易过户登记手续所需缴纳的有关税、费,由承担。 八、本契约一式肆份,双方各持壹份,房产交易主管机关存档贰份。 九、双方约定的其它事项:

【数据结构】搜索算法效率比较

1 数据结构课程设计 算法分析:搜索算法效率比较 专业 Xxxx 学生姓名 xxxx 班级 xxxxx 学 号 xxxxxxxxxxx

目录 1 设计题目 (1) 2 设计分析 (2) 3 设计实现 (3) 4测试方法 (6) 5测试结果 (7) 6 设计小结 (7)

1.设计题目 给定一个已排序的由N个整数组成的数列{0,1,2,3,……,N-1},在该队列中查找指定整数,并观察不同算法的运行时间。 考虑两类算法:一个是线性搜索,从某个方向依次扫描数列中各个元素;另一个是二叉搜索法。 要完成的任务是: 分别用递归和非递归实现线性搜索; 分析最坏情况下,两个线性搜索算法和二叉搜索算法的复杂度; 测量并比较这三个方法在N=100,500,1000,2000,4000,6000,8000,10000时的性能。 3

2.设计分析

5 在实际测试中,当程序运行时间太快,会无法获得实际运行时间。为了避免这种情 况,可以将同一操作运行K 遍,得到1秒以上的时间,再将结果除以重复次数K 得到平均时间。若单重循环还不能达到目的,可用多重嵌套循环解决。 3 设计实现 #include #include clock_t start, stop; /* clock_t 是内置数据类型,用于计时 */ double duration; /* 记录函数运行时间,以秒为单位*/ /***********非递归线性搜索x ***********/ int IterativeSequentialSearch(const int a[],int x,int n) { int i; for(i=0;i

浙江省杭州市房地产开发企业住宅施工面积和竣工面积数据分析报告2019版

浙江省杭州市房地产开发企业住宅施工面积和竣工面积数据分析报告2019版

序言 杭州市房地产开发企业住宅施工面积和竣工面积数据分析报告对杭州市房地产开发企业住宅施工面积和竣工面积做出全面梳理,从住宅施工面积,住宅竣工面积,住宅房屋面积竣工率等重要指标切入,并对现状及发展态势做出总结,以期帮助需求者找准潜在机会,为投资决策保驾护航。 杭州市房地产开发企业住宅施工面积和竣工面积数据分析报告知识产权为发布方即我公司天津旷维所有,其他方引用我方报告均需注明出处。 本报告借助客观的理论数据为基础,数据来源于权威机构如中国国家统计局等,力求准确、客观、严谨,透过数据分析,从而帮助需求者加深对杭州市房地产开发企业住宅施工面积和竣工面积的理解,洞悉杭州市房地产开发企业住宅施工面积和竣工面积发展趋势,为制胜战役的关键决策提供强有力的支持。

目录 第一节杭州市房地产开发企业住宅施工面积和竣工面积现状 (1) 第二节杭州市住宅施工面积指标分析(均指房地产开发企业) (3) 一、杭州市住宅施工面积现状统计 (3) 二、全省住宅施工面积现状统计 (3) 三、杭州市住宅施工面积占全省住宅施工面积比重统计 (3) 四、杭州市住宅施工面积(2016-2018)统计分析 (4) 五、杭州市住宅施工面积(2017-2018)变动分析 (4) 六、全省住宅施工面积(2016-2018)统计分析 (5) 七、全省住宅施工面积(2017-2018)变动分析 (5) 八、杭州市住宅施工面积同全省住宅施工面积(2017-2018)变动对比分析 (6) 第三节杭州市住宅竣工面积指标分析(均指房地产开发企业) (7) 一、杭州市住宅竣工面积现状统计 (7) 二、全省住宅竣工面积现状统计分析 (7) 三、杭州市住宅竣工面积占全省住宅竣工面积比重统计分析 (7) 四、杭州市住宅竣工面积(2016-2018)统计分析 (8) 五、杭州市住宅竣工面积(2017-2018)变动分析 (8) 六、全省住宅竣工面积(2016-2018)统计分析 (9)

常用系统算法总结及性能比较

一,常用推荐系统算法总结1、Itemcf (基于商品的协同过滤) 这个算法是cf中的一种,也是当今很多大型网站都在采用的核心算法之一。对于商城网站(以Amazon为代表,当然也包括京东那种具有搞笑特色的推荐系统在内),影视类推荐,图书类推荐,音乐类推荐系统来说,item的增长速度远不如user的增长速度,而且item之间的相似性远不如user之间的相似性那么敏感,所以可以在离线系统中将item的相似度矩阵计算好,以供线上可以近乎即时地进行推荐。因为这种方法靠的是item之间的相关性进行推荐,所以推荐的item一般都和喜欢的item 内容或者特性高度相似,很难推荐出用户潜在喜欢的item,多样性也比较差。 2、Usercf (基于用户的协同过滤) 这个是cf中的另外一种,它的主要特色是可以发现和用户具有同样taste的人,有句俗话叫做观其友知其人,大概也是这个道理吧。找到用户的相似用户,通过相似用户喜欢的item推荐给该用户。因为用户的相似用户群还是比较敏感的,所以要频繁地计算出用户的相似用户矩阵,这样的话运算量会非常大。而且这个算法往往推荐出来的item很多都是大家都喜欢的比较hot的item,有的时候它提供的结果并不是个性化,反而成了大众化的推荐了。用这种算法的web应用一般都是item更新频繁,比如提供资讯类服务的应用(以“指阅”为代表的),或者笑话类推荐(以“冷笑话精选”为代表的)。当然这种算法的一个中间产物-----用户相似度矩阵是一个很有用的东西,社交类的网站可以利用这个中间产物来为用户提供相同品位的好友推荐。

3、Content_based(基于内容的推荐) 基于内容的推荐,很大程度上是在进行文本挖掘。web应用提供的内容或者爬取的内容在推给用户之前可以做一些挖掘,比如资讯类的应用,将抓取到的资讯,通过文本分析那一套算法提取出每篇资讯的关键词,以及统计频次和逆向文档频率来聚类或者笨一点地话计算出资讯的相似度矩阵,即共同的key words越多,两篇资讯的相似度越高。当你的用户很少很少,你的显式反馈数据非常非常少的时候,你可以根据用户的浏览或者搜索等等各种行为,来给用户进行推荐。再猥琐一点的话,你可以在用户刚刚注册好你的应用的时候,给他一些提问,比如让他输入一些感兴趣的话题啊,或者对以前看过的电影打分什么的。(当然这些电影都是你从各个簇中随机选取的,要足够多样性)这个算法它好就好在,不需要拿到用户--项目的评分矩阵,只需要知道用户喜欢什么,就可以很快速地推荐给用户十分相关的item。这个算法需要每天都要根据你抓取的资讯,不断地计算item之间的相似性。这个算法有个好处在于可以从容应对上面的两个算法其实都很难应对的问题,就是如果你想推出一个新的item,因为没有一个人有对这个new item的评分,所以上述的两个算法不可能推荐新的东西给你,但你可以用基于内容的算法将新的item计算出它属于哪个类,然后时不时地推出你的新item,这点对于商城尤其重要。 4、Knn(邻近算法) K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法

(年度报告)杭州市区房地产市场分析报告

2010年11月杭州市区房地产一手房市场分析土地市场 2010年1至11月商业、住宅用地出让面积2089424平米,同比减少16%;出让总金额4850816万元,同比减少15%。2010年11月杭州市区住宅、商业用地供应量环比继续增加,楼面地价再创新高。滨江集团“杨家牌楼”地块以及喜来登“之江度假村”地块分别刷新杭州住宅及商业金融用地“地王”记录。 下沙大学城北板块住宅楼面地价环比10月上涨约18%,碧桂园进入杭州下沙板块。 申花板块住宅楼面地价比今年3月上升13%;蒋村单元住宅楼面地价环比5月上涨24.6%;田园板块住宅用地楼面地价相比09年均价下降2.6%。土地市场在保持总体热度的同时板块出现分化。 一手房市场 11月杭州市主城区新房成交3644套(11月13日、14日透明售房网无数据),同比减少32.84%,环比上升21.18%,平均每日成交130套。成交均价为21829元/平米,同比上升30.66%,环比下降5.45%。 11月杭城商品房成交区域第一是下沙开发区,共成交1215套;第二位西湖区成交744套;第三位上城区成交575套;江干区位列四,成交448套;滨江区成交176套;拱墅区成交163套;成交最少的是之江开发区,只有100套。

据统计,截至11月30日,海运国际成交505套写字楼,夺得11月成交冠军,成交第二名是滟澜山,成交464套;紫藤苑成交215套,江语海成交191套,分列三、四位。 11月一手房开盘套数环比10月基本持平,据统计11月初有28个楼盘计划开盘,而11月真正开盘的楼盘仅14个,约半数楼盘推迟开盘,如田园牧歌、名城湖左岸等。11月开盘楼盘当月平均销售率为67%,环比10月上升22个百分点。报纸房产新闻、广告投放情况 11月杭州主流报纸共报道房产新闻146次,平均每天4.9次,环比减少13%;共投放房产广告162次,平均每天5.4次,环比减少32%。 与10月相比,11月整版广告所占比例下降了17个百分点,跨版广告下降了4个百分点,单通广告比例上升15个百分点,小版面广告比例大幅上升。 一、宏观经济数据 (一)房产政策 1、杭州出台预售资金监管细则 杭州市主城区2010年11月20日后受理预售的商品房项目,如果没有签订商品房预售资金监管协议,将无法上市交易。 继浙江省商品房预售资金监管暂行办法实施之后,杭州市房管局日前会同中国人民银行杭州中心支行、银监会浙江监管局联合制定了《杭州市商品房预售资金监管实施细则》。

相关文档
最新文档