无意中变出的毒瘤题

*:毒瘤题怎么来的呢?题目看错变出来的。。

1.城池攻占

小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 \(fi <i\)。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数表示,其中第 i 个骑士的初始战斗力为 \(s_i\),第一个攻击的城池为 \(c_i\)

每个城池有一个防御值 hi,如果一个骑士的战斗力大于等于城池的生命值,那么骑士就可以占领这座城池;否则占领失败,骑士将在这座城池牺牲。占领一个城池以后,骑士的战斗力将发生变化,然后继续攻击管辖这座城池的城池,直到占领 1 号城池,或牺牲为止。

除1号城池外,每个城池\(i\)会给出一个战斗力变化参数 \(a_i\);\(v_i\)。若 ai =0,攻占城池 i 以后骑士战斗力会增加 vi;若 \(a_i=1\),攻占城池 i 以后,战斗力会乘以 \(v_i\)。注意每个骑士是单独计算的。也就是说一个骑士攻击一座城池,不管结果如何,均不会影响其他骑士攻击这座城池的结果。

现在的问题是,对于每个城池,输出有多少个骑士在这里牺牲;对于每个骑士,输出他攻占的城池数量。

改:把城池的加成属性放在骑士上,骑士每攻占一个城市,攻击力加/乘以\(v_i\)

2.generating。。

*:如果有大佬会做记得评论做法啊,蒟蒻感激不尽!

猜你喜欢

转载自www.cnblogs.com/functionendless/p/9458456.html