你是一处金矿的主人,并且有若干矿工要来这里挖黄金。
这处宝藏有 个可能的藏宝点,这 个点构成了一棵有根树的结构。
树上的每条边都是有向的,从父亲指向儿子,并且有个正整数权值 ,表示每有一个矿工从这条边走过,你会收取 的过路费。
每个矿工 会从某一个藏宝点 出发,并且有一个正整数权值 ,表示如果你允许他来挖宝,将会获得 的入场费。
某个藏宝点 可能还会出现一块权值为 黄金,表示如果有矿工挖取了这个黄金,你会从中提走 的利润。
一个矿工 挖取一块黄金 的收益是 ,其中边 在人 和黄金 的路径上。
注意一个矿工只能挖取一块黄金,一块黄金也只能被一个矿工挖取。一个矿工只能挖取他沿着树上有向边能到的黄金,同一条边在同一个挖取方案中可以被多个人经过。
一开始既没有黄金也没有矿工。
我们需要支持 次操作,每次操作有两种类型:
- :表示在点 上新出现了一个权为 的矿工。
- :表示在点 上新出现了一块权为 的黄金。
你需要在每次操作后算出,如果让某些矿工去挖取黄金,那么可能的最大收益是多少。
注意你并不需要最大化挖到黄金的人数量。