GCJ2016 R3

今天一下午+晚上啥也没干,就做了3个题,太爬了。以后应当提高训练效率。

问题请转g.co/codejam,不再另加描述。GCJ真是人类智慧,只要足够智慧甚至不需要什么算法知识就能取得好成绩……应当多加训练

Forest University 

我一开始写了个用double计算的方法来生成随机方案,不是很优雅。

后来,YangDavid大佬启发我想到了一种如下的方法:

对于一个n个点的有根森林,生成一个拓扑排序的方法。先生成一个长度为n的序列,其中为1到sz[Tree_1]的位置,第一个位置设为Tree_1的根,剩下的位置离散化后递归的使用相同的方法生成第一个树。以此类推,sz[Tree_1]+1到sz[Tree_1]+sz[Tree_2]的位置生成第二棵森林中的树。

感觉这种方法非常易于理解。

Go++

一道申必构造题,十分巧妙。建议直达题解。

Rebel Against The Empire

此坑待填。还没有搞懂是怎么做的,希望我能不通过题解做出此题……

最近睡眠严重不够,导致智力下降等直接结果。希望会改善。

《GCJ2016 R3》上有3条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注