A
前一篇文章已详细证明+总结
一头雾水的题,可能是我数学太差了
B
这道题有三个相对显然的性质。
1.最终路线一定是从起点出发走过某些格子后,原路返回到起点。
2.为了最大化价值,如果产生循环节(沿一些点反复行走),那么必然是走到循环节,然后在循环节上兜上几 圈再原路返回。
3.如果路线上有循环节,这个循环节的大小一定为 2
没有想到性质3,然后我就原地豹炸了
C
神仙题是给神仙做的
大概就是lca+dfs序+set
对于任意一个点 x:
x 与其它点的 lca 深度最大就是 x 本身。
1.若有金额朝上的点位于 x 为根的子树中,那么最深 lca 就是 x 了;
2.若无金额朝上的点位于 x 为根的子树中,那么找 fa[x]为根的子树中,金额朝上的点,那么
lca 就是 fa[x]。否则我们找 fa[fa[x]]为根的子树中,金额朝上的点,那么 lca 就是 fa[fa[x]]。.......
以此类推。即尽量找与 x”亲戚”关系较近的金额朝上的点。
总结
期望得分:(40 + 40 + 50 = 130)
实际得分:(40 + 0 + 50 = 90)
B题bfs打炸(我觉得这题bfs也做不出来)