8th BCPC & DevArt

过去的一周里做了两个完全不同的比赛,分别是准备了很久的14年北邮校赛,以及临时决定参加的DevArt。前者只是一个周末就结束了,而后者则是花费我5天的时间不断完善。

先说说校赛吧。

读研以来,自己一直看重的还是算法和数学方面的训练。但由于已经没机会参加ICPC了,只能选一些常规比赛来检验自己的实力。而其中让人最有参与感的,莫过于本校学生自己组织的一年一度的校赛了。还记得去年研一的时候第一次参赛,那时候POJ还不到100题,算法导论只看了一半多。临场1个多小时做完3道简单题后,就一直卡在一题模拟题上,整整3个多小时,不断的WA。看着坐在我们旁边一队最后一小时连过3题,并最终拿到金奖(当时4题前7的队伍是金),差一名的我们只能拿银,心理一直无法释怀。

短短一年,很快又过去了。到现在为止,POJ 342题,具体数学读了一半,对各种算法都有一定的初步了解。终于可以挺直胸膛再次站上赛场。依然是与qoshi和usozki组队,这次的队伍名是Srotaidalg_Lufegnev,也即Vengeful Gladiators。比赛的过程,回想起来好像更多是一直在相互打闹……读好的题目大多都没什么障碍的很快过掉,除了那道K题。大概离结束还有一个多小时,我们已经过了5题,排名由于有外校队伍所以无法确定,手里读清并写完的只有一道K题,但交了多次还是WA。不断的思考,一直盯着提问版面看有没有相关的提问、澄清。考虑了多种可能的情况,一一尝试,但都一一错误。从怀疑思路本身有问题一路追溯到程序本身是否有错,反复检查、确认,但都无法找出原因。最后还是usozki想到,数据本身可能并不合法,也即命题人存在失误。时间不多了,修改一下加一个判断,提交。短暂的pending之后,终于返回一个AC,这时离比赛最后结束只剩不到10分钟。

list

当晚的颁奖仪式前,qoshi发现我们前面的队全都是外校队。也就是说,我们拿到了这次校赛的冠军。颁奖会上很嚣张的戴着glass就过去了……也见到了久违的CAPITAL。最后的奖品是给了每人一个“马化腾”公仔……以及一个完全用不着的罗技鼠标:

prizes

公仔是已经送出去了哈,看到这篇文章又想要鼠标的就来找我吧~ 最后也上一张气势磅礴的气球照:

BCPC2014

接下来说说DevArt

这是校赛正赛前一天跟着学校的Google Camp一起去谷歌北京总部玩时了(cai)解(dao)到(di)的(lei)。所谓DevArt,就是Google在全球范围内组织的,鼓励艺术家们通过编程进行艺术创作的比赛。然而,在中国这一活动的开展很不顺利。官方的宣传主要针对中央美术学院的学生,并组织了一些程序员进行协助(每个项目要求最多两人)。但是一个月过去了,很多项目都无法进行,不少人放弃了参赛。比赛是北京时间29号凌晨2点结束的,但直到当天(3月22号)仍没有人能完成一个完整的项目,正顺利进行的也屈指可数。

大概了解了下情况后,我们很快发现自己是被拉来临时救场的……稍微浏览了下DevArt官网上展出的项目,确实有不少很赞的作品,包括使用四轴飞行器结合延长曝光拍摄的空中光弧分析图画色彩并进行空间可视化用机械臂控制画笔让大家通过手机、平板等软件绘同一幅画等等等等……真是好酷炫……

嗯,然后也听了一下美院那边学生对自己项目的介绍。其中有一位的想法大概是这样的:自然界有其自身的组成规律,而河流作为自然界中庞大的存在,如同人体经络,循环往复汇成错综复杂的网络。我们希望赋予其新的定义,通过建立一组规则来以声乐的方式阐述每一支河流的独特之处。

听起来很棒,对吧?不过和她合作的人2个多星期以来都一直推脱很忙,如此大概难以按时完成。一起来的朋友都比较感兴趣,就也讨论了下细节。一边自己也在想,我能不能做到呢?语言方面,基本上只会C++,以及用Matlab作简单的图像处理,再就是刚学了一点皮毛的OpenCV。实话说,技术确实不是很扎实呢……但至少,时间安排方面倒是可行的,校赛过后暂时也不太需要忙别的。

那就稍微尝试一下吧。

接下来的5天,从周一到周五,一直都在写这个项目。很久没写这样开放性的程序了。由于搭档并非计算机专业,因此所有的技术细节都要自己敲定,这也正和我意。从一开始的如何抓取google map图像,到如何判断河流是否存在以及找上下游位置,再到确定河流如何流动、在时序上对各个帧和音符进行相应处理等等等等……很久没有这么疯狂的google了。其中最棘手的问题在于如何播放声音,OS X上的系统发声调用非常复杂,是一个叫做AudioQueue的技术,最后还是搜了官方的sample code改了一下用的。当然也有很多解决不了的问题……比如搭档一开始的设想是河流的发声应该由河流本身特点确定,这个我并没有想到特别好的实现方案……另外就是,河流的分支对应着和弦以及其他音色等等的设想(真的很棒哦)……我也没有能力给予实现……

做项目的过程中,也得知对方才18岁,但已经在读大二了……总能给我一种超出其年龄的成熟感。由于之前并没有接触过学艺术的学生,一直也在留心对她进行观察。即使愚钝如我,也能隐约察觉,她对“美”确实有独特的感知能力。而就其性格而言,貌似也是不愿轻易服输的一个人,虽然这周是结课周,并且周末还要去香港,却始终在和我一起跟进这个项目,好像每天也都是深夜还在交流,第二天又接着早起的节奏。

和这样的人一起合作,真的很享受。

最后,还是赶在周六凌晨之前,基本做出了一个完整的项目。最上面Cover的正是艺术家搭档精心修改的结果,还不错吧……?

cover

项目期间也遇到了一些意料之外的Bug,包括DevArt官网上post信息出错,youtube视频上传bug等等……后者是由于我常规方式上传不了(VPN突然被禁,GoAgent又时好时坏)后,发现可以把邮件发给指定的邮箱作为“手机上传”方式上传。结果,我一封邮件过去,系统就悲剧了。每隔1小时就说我成功上传了一个视频,然后狂发邮件给我……到目前为止已经莫名其妙多了24次的额外上传了,feedback过去也不理我,哎:

youtube_bug

最后,为了感谢各位读到这里,也附送一些周二在央美那边参观双年展的照片:
cafa0s

cafa1s

cafa2s

cafa3s

cafa4s

cafa5s

cafa6s

cafa7s