tmd水题又玩了一个上午
比赛思路
- T1(meal):首先随机出来的点构成的最小的树先假定每条边都经过两遍,那么接下来再减掉这个树的直径的长度就好了。然后就变成求直径的期望长度。暴力枚举直径的两个端点,然后再判一下哪些点不能在这个树里面就好了。可以发现如果加进来的点有更长的直径,一定有一个端点是原直径之一,所以只需要考虑与两个端点的距离就好了。注意相同长度要判重。
- T2(partition):博弈?SG函数?
- T3(tree):还是博弈?在树上?刚开始以为只能向下面走,然后发现理解错题意了。
赛后消化
- T1我判重的时候少了判了一种简单的条件,也就是没有考虑周全,外加计算答案的时候忘模了。。。爆炸了。
- T2Nim积???什么东西
- T3需要找到博弈的结论,然后变成树形DP,用长链剖分优化就是O(n)的了。
总结
- 做题的速度太慢。。。水平还有很大的差距。
- 今天的题目还是有点难的Orz。
- 老是忘记取模!!!