1901 大逃杀 (树形dp 背包)
罗方炜 信息学luoOJ 8月21日
自从Y 君退役之后,她就迷上了吃鸡,于是她决定出一道吃鸡的题。
Y 君将地图上的所有地点标号为1 到n,地图中有n-1 条双向道路连接这些点,通过一条双向道路需要一定时间,保证从任意一个点可以通过道路到达地图上的所有点。
有些点上可能有资源,Y 君到达一个有资源的点后,可以选择获取资源来使自己的武力值增加wi,也可以选择不获取资源。如果Y 君获取了一个点上的资源,这个点上的资源就会消失,获取资源不需要时间。
有些点上可能有敌人,Y 君到达一个有敌人的点后,必须花费ti 秒伏地与敌人周旋,并最终将敌人消灭。如果Y 君消灭了一个点上的敌人,这个点上的敌人就会消失。Y 君不能无视敌人继续前进,因为这样会被敌人攻击。
如果一个点上既有资源又有敌人,Y 君必须先消灭敌人之后才能获取资源,否则就会被敌人突袭。
游戏开始时,Y 君可以空降到任意一个点上,接下来,她有T 秒进行行动,T 秒后她就必须前往中心区域送快递。Y 君希望她前往中心区域送快递时,武力值尽可能大,请你帮助Y 君设计路线,以满足她的要求。你只需输出T 秒后Y 君的武力值。
背包式的树形dp,不换根。
f[i][j]表示从i点出发,i的子树内花费j时间,每条边走来回的最大价值
g[i][j]表示从i点出发,i的子树内花费j时间,有一条路线的边走单向