2010年GDCPC比赛记录
原来没想着能去观摩比赛的,比赛前几天,才被告知能够随大队一起去。
周六去注册报名试机和做阿里巴巴的PK,我没事做,在教练室闲着。其他高校很多人留在那里做阿里巴巴的PK,我们懒得做,跑去玩和吃雪糕了,等到钟了就去吃自助餐,吃得好饱,据郭老说,人均标准是60元。总的来说,我们不是去吃东西,我们是去学习、进步、交流的,我根本不记得我吃了七八个肉丸、十多只茶叶虾、四五块鲜嫩鸡肉、四个小蛋糕、一碟拉皮、猪骨玉米汤、红枣莲子汤、一碗豆芽猪红、牛腩、香蕉西瓜番茄若干、可乐两杯、雪碧一杯、紫番薯两块,我只记得人山人海以及阿里巴巴PK比赛的趣味性。
第二天比赛,早早过去,在教练室一边看他们比赛,一边记录下现场报告,可惜3个小时后电脑没电了,所有插座都被老师用光了~~只能看起题目来,发现我自己来做,也是只能做出3道。。。囧
很可惜的是,79名就能够拿到三等奖,良智他们队85名,主要是在K题提交了几次,或者说E题没做出来。其他队更是在120名之后~
事后评判长的题目分析是这样的:
A题:水题,全场都过。
B题:水题,仅有几支队伍没过。
C题:网络流+二分答案。
D题:
E题:右上角开始搜索。
F题:中国剩余定理变型+高精度。
G题:博弈,判断两端端点或者用SG理论。
H题:
I题:
J题:枚举、DP都行。
K题:BFS、智权的最长路径、DP都能过。
椰子的弟弟他们队伍拿到了十六名。看着场上那些拿奖的牛人,我觉得我们更应该觉得热血沸腾,想方设法超越他们。难道我们只想着看着别人在我们面前打机而看不过别人在我们面前拿奖?
我相信他们在接下来的区域赛能够表现得很好。那也是能够让学校瞩目的机会。实在不行就当是次旅行也行吧?据说最近的赛区是在武汉。
以上是我们学校的比赛总结,下面看看本次冠军队伍的总结,转自中大论坛逸仙时空:
http://argo.sysu.edu.cn/bbscon?board=ACMICPC&file=M.1273582283.A
发信人: litexavier (Xavier), 信区: ACMICPC
标 题: GDCPC 2010 Summary @ SYSU_Stellation
发信站: 逸仙时空 Yat-Sen Channel (Tue May 11 20:51:23 2010)
自blog截出来的,砍掉了一大段东西,将就着看吧。
另外已将题解剧透,有想明年做GDCPC2010的忽略此文好了。
——ANALYSIS——
按照规矩,先来说下这次比赛的简单题解:
A: 在n x n x n的盒子中,放m x m x m的木块,问最多放多少块木块。
答案应该很显然吧。
B:一开始序列S={1..N},P={},然后每次P = P + S,S删掉最小的M个元素,如此循环,直
到S={},问P中第K个元素是什么。
简单的计数问题。等差数列解之即可。
C:给出M种产品,以及每种产品的个数。给出N个检查员,每个检查员能检查给定种类中若
干产品的一个,但是每个产品只能由一个检查员检查。并且检查每个产品的时间是一样的
。问最少花费多少时间才能检查完所有产品。
构造一个流量图:如果检查员A能够检查产品B,那么在A,B间连一条流量为无穷大的边,所
有产品到汇点连一条以产品个数为流量的边。那么,如果已知最少花费时间为T,那么就从
源点连一条流量为T的边到每个检查员上。这个图的意义很明显:“所有检查员在T时间内
检查完所有产品”的充分必要条件为“该图的最大流等于产品总数”。那么,接下来只要
二分T即可。
D:给出N个点,试确定两个正方形,满足:(1)所有给定点都在某个正方形内;(2)正方
形的中心(对角线连线的交点)必须在某个给定点上;(3)最大的正方形的面积最小。
二分正方形的边长L。然后根据鬼才知道的某个单调性扫描判断出用两个长度为L的正方形
能不能满足题设。
E:杨氏矩阵上的一些操作。
做法都固定了吧。
F:给出A和B两个序列,试找出一个最大的Y和最小的X,满足X = Ai ( mod Bi * Y ),for
each i。
首先因为 X = Ai + Ki * Bi * Y = Aj + Kj * Bj * Y,于是必有 Ai = Aj ( mod (Bi,B
j)*Y ),即 (Bi,Bj)*Y | Ai-Aj。于是Y被确定下来,接下来的事情就只是中国剩余定理了
。
G:给定一个无向图G。问经过G中给定的X个点和Y条边的最小花费是多少。
由于X和Y很小(X+Y<16),于是一个简单状态压缩动态规划即可。注:别忘了做预处理。
H:给出N个总长度不超过300,000的关键字。并且,给出M个文本,每个文本的长度为L。对
于每个文本,求出该文本出现的关键字个数S,然后用S替代下一个文本的"0",并输出S。
经典自动机。需要注意的是要延迟处理关键字个数的统计,总之,是个细节题,要仔细分
析每步的复杂度。
I:无爱的博弈题啊。
SG值可以搞定,大概。不知道SG值是何的可以搜Game Theory这书。
J:给出N个二元组(v,c),从中选出K个,并确定顺序,使得给定函数的值最大。注意:c <
1。
按照 v / (1-c) 排序。然后顺序就确定了,之后就是一个简单的动态规划问题了。
K:打地鼠游戏。已知地鼠出现的时间,并且规定锤子每单位时间只能移动到相邻的地洞上
,并且击打操作是不需要时间的。问最多打到几只地鼠。
简单的动态规划题目。
——????——
开场后,老样子,db从A开始,我从K开始,赵牛中间。db第一时间读完A题,并很快开始c
oding。我读完了K,算了下复杂度,刚好的样子。于是又一道水题到手了。db交A了之后,
我开始敲K。不久之后A返回Yes,然后db的B就在队列中了。敲完的K的代码没过样例,离线
debug了下,发现是初始化状态搞错了。改之,返回第二个Yes。再来db连续开了B,E,C三题
,都是很顺利的过掉了。
我下来之后,赵牛扔了D给我。这时候看了下时间——才过了一个半小时。比赛的时候还未
知这是一个大坑来着。就这样,我一直想,一直想,一直想……头脑各种混乱……
抛开这个僵尸进程不谈,我们来说赵牛。
赵牛在阅遍大半版的题目后发现了第一个看起来能做的题目——I。才推了不到一会,赵牛
很坚定的说:“我来敲I ”。I就这样accepted了。再之后看时间还有好久,我就直接把一
个看起来像是动态规划的题目J(不过有个序的问题需要证明)扔给了赵牛。他看后没等我
反应,直接上去抢机器了。不过很诡异的是,直到赵牛敲完J,还没人过这个所谓的简单题
。到赵牛刚要交时,才发现第一个accepted这题的队伍。然后,不出所料,J一次提交即返
回Yes。
因为这时我们队伍已经8题,领先第二名2题之多。所以剩下的时间就交给赵牛研究他的F。
虽然赵牛英勇无比地再次在现场推导出中国剩余定理的公式,但是难奈BigCowZhang的阴险
的数据使然,赵牛陷入了苦战。
回头看db这边。
db投出的超高速直线球三好一坏不仅起到了稳定军心的作用,同时我们也确立的巨大的罚
时上的领先优势。他下来之后,我将 H题的题意说给他看,并说了下大概做法。当然,我
相信他也是会的——毕竟雅加达那次比赛我们就栽倒在一道差不多的题目上面。在三次TL
E之后,H终于顺利返回Yes。3个小时之后的第8道题终于accepted。
然后也不知是我们太放松还是如何,我们一直坚信G是一个节点规模为100的TSP问题。于是
我便拉db来跳火坑(D 题)。
期间我们许久没出题,甚至郭老师都忍不住送食物过来了。
最后半个小时,虽然db回过头看了下G发现我们全读错题了,然则为时晚矣。赵牛的F也被
完美的卡到死。
至于D题?……(……(……))