| ||||||||||
Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:应该是f[i][0]=max(f[j][0],f[j][1])+max(f[k][0],f[k][1]).....吧?In Reply To:应该是f[i][0]=max(f[j][0],f[j][1])+max(f[k][0],f[k][1]).....吧? Posted by:alpc16 at 2007-08-15 11:45:46 > g[i][0]与g[i][1]的求法好像有点不一样吧? > g[i][0]表示i点不去时获得最大值的方法有多少种,所以g[i][0]的求法应该是 > g[i][0]=g[j][?]*g[k][?]*......(j,k是i的儿子) > ?号表式获取最大值的决策。而且中间还得考虑f[j][0]和f[j][1]相等的情况,因为若两种情况相等,则任选一种都满足。这样一来就显得复杂一些了。 > 同样,g[i][1]表示i点去时获得最大值的方法有多少种,这种情况比较简单, > g[i][1]=g[j][0]*g[k][0]*.......(j,k是i的儿子) > 不过这样一来就觉得烦琐了,但是由于题目要求的并非是方法数,而只要判断方法数是否唯一就行了,因此我觉得对g数组进行一下改进,用bool型来表示是否唯一即可,为真时方法唯一否则不唯一,则有: > 当儿子的方法存在不唯一或存在f[j][0]==f[j][1]则g[i][0]为false,否则为true。 > 而求g[i][1]则应该是g[j][0]&&g[k][0]&&....... > 这样一来应该是简单一些了,但暂时我还没有实现,所以不知道这样分析是否正确。哪位大牛帮忙看一下吧。 f[j][0]和f[j][1]相等的情况,因为若两种情况相等,则任选一种都满足,这句话是错的。 如果相等的话,应该两个都取的。 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator