摘要: 分析:子树上操作,要用到线段树+dfs序,关键就是子树内k还要增加,这个就不是很好办.可以求出在根节点+0后每个点会加多少,记为d[i],如果要对点x进行A操作,实际上只需要对子树加k - d[i]再加上子树的d[i]和,但是在实际求答案的时候不能直接求出子树和+Σd[i],因为如果你没有修改的话答 阅读全文
posted @ 2017-10-23 20:11 zbtrs 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 分析:很显然这是一道搜索题,可能是由于我的搜索打的太不美观了,这道题又WA又T......如果对每一个询问都做一次bfs是肯定会T的,注意到前70%的数据范围,N的值都相等,我们可以把给定N的所有情况给算出来,然后O(1)查询.从终点状态往起点状态BFS就可以了. 当最终状态很少,起始状态很多的时候 阅读全文
posted @ 2017-10-23 13:47 zbtrs 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 分析:一道非常恶心的dp题.每个人要么选或不选,很像是0-1背包,可以套用背包问题的状态,但是因为题目要求3个值,所以可以再加一维表示3个答案. f[i][j][k][l][p][0/1/2]表示i个守门员,j个后卫,k个中锋,l个前锋,花费是p,最后一维是0则表示不考虑队长的价值,1是方案数,2是 阅读全文
posted @ 2017-10-23 08:56 zbtrs 阅读(153) 评论(0) 推荐(0) 编辑