[GDOI2016][树链剖分+主席树]疯狂动物城

题面:

Description

Nick 是只在动物城以坑蒙拐骗为生的狐狸,儿时受到偏见的伤害,放弃了自己的理想。他被兔子 Judy 设下圈套,被迫与她合作查案,而卷入意想不到的阴谋,历尽艰险后成为搭档。他们识破了绵羊副市长 Bellwether 的计划,发现是 Bellwether 陷害食肉动物,用毒药让食肉动物发狂。Bellwether 被抓到了监狱里面, Nick 和 Judy 过上了一段平静的日子。

然而,故事并没有这样结束,之前在车管所帮他们查车牌号的憨厚的树懒 Flash,才是陷害食肉动物事件的幕后主使。Flash 批量制作了大量让食肉动物发狂的药剂,投放到了食肉动物群中。现在,大量的食肉动物被感染,动物城陷入了一片混乱。警察局的牛局长 Bogo 找到了 Nick,希望他能帮忙。幸运的是,动物城联邦安全局非常有先见之明,他们在每个州都秘密放置了一台机器,机器能生产能量石,这些能量石能让食肉动物恢复正常。现在 Nick 和 Judy 需要去启动这些机器。

动物城是一个有 N N 个州的联邦,该联邦是一个树的形状,即 N 个州共有 N1 N − 1 条双向道路连接它们,且 N N 个州是相互连通的。 N 个州的编号依次为 1,2,3,,N 1 , 2 , 3 , … , N 。每个州都有且仅有一台机器。一台机器启动后的下一个时刻,就会开始生产能量石, 每个单位时间生产一个。能量石从被生产的时刻开始即生效,每一个单位时间能救一定数量的食肉动物。每个州的解毒机器制造出的能量石的品种可能是不同,第 i i 个州的机器生产的能量石每个单位时间能救 a i 只食肉动物。

Nick 和 Judy 剩下的时间不多了,他们决定分工合作。 Nick 从 X X 州出发,目的地为 Y 州,路径为 X X Y 的最短路径。 Nick 从 X X 州出发的时刻为 0 ,每隔一个单位时间移动一个州。每到一个州, Nick 就会启动这个州的机器。 Nick 想知道他从 X X 州出发到达 Y 州的这段时间里,一共有多少食肉动物被拯救。 Nick 在纠结他的路线选择,因此,他会给你若干的询问,希望比他更聪明的你能帮助他。

在他给你询问的过程中,动物城的局势也在发生着一些变化。动物城联邦安全局可以执行一个修改操作 "X,Y,delta" " X , Y , d e l t a " ,会对 X X 州到 Y 州的最短路径上的州(包括 X X , Y 州)的机器进行升级,这样,这些机器生产出来的能量石,每个单位时间能救的食肉动物的数量会增加 delta d e l t a 。树懒 Flash 当然也不会坐以待毙,他有一台监控仪,会监控每个州的机器的情况,每当有机器被升级,监控仪就会保存下当前所有州的机器的属性 ai a i 。 Flash可以用一种神秘的武器执行一个读取操作 "X" " X " ,把当前各个州的机器恢复到第 X X 次保存的状态($X=0表示未进行过升级时的初始状态)。注意, 只有修改操作执行的时后会进行保存。

现在,依次给出 M 个操作,若该操作为一个询问,请你输出 Nick 在当前局面下,他从 X X 州出发到达 Y 州的这段时间里,一共有多少食肉动物被拯救,由于这个答案可能很大,你只需要输出答案模 20160501 20160501 后的值。请注意, M M 个操作都是被加密过的。

Input

第一行 2 个整数 N , M 表示节点个数和操作次数。

接下来 N1 N − 1 每行 2 2 个整数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值