总结
这次比赛翻车了。。。
T1:水题一道,但是因为样例描述不清多了一个换行所以就呵呵了。。
只需要把1~n的火车依次加入栈中,当栈顶等于a[x]的时候出栈,最后判断下就好了。
T2:考试时看到果断弃疗了。完全没有思路,打了个表刷了10分。
正解:设f[i,0]表示选了i节点后独立集的个数,f[i,1]表示不选i节点独立集的个数。
我们观察后发现:如果选了i节点的话那么i的儿子都不能选,那么就很容易推出方程:
f[i,0]=f[son1,1]*f[son2,1]*f[son3,1]*...*f[sonn,1](son表示i的儿子);
如果是不选i节点的话,选不选它的儿子都不会影响的,这样就可以得出方程:
f[i,1]=(f[son1,1]+f[son1,0])*(f[son2,1]+f[son2,0])*(f[son3,1]+f[son3,0])*...*(f[sonn,1]+f[sonn,0])。
最后从根开始搜一遍就好了。
T3:一道奇葩的数学题,用了一种奇葩的方法然后就A了(我也没看懂这种方法)
仍在理解中。。。请稍后。。。