今天一下午+晚上啥也没干,就做了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
此坑待填。还没有搞懂是怎么做的,希望我能不通过题解做出此题……
最近睡眠严重不够,导致智力下降等直接结果。希望会改善。
发表回复