Lorenzo Von Matterhorn

2020年1月17日 1211点热度 0人点赞 0条评论

Lorenzo Von Matterhorn

时间: 1ms        内存:128M

描述:

Barney住在纽约。纽约市有无限数量的路口路口为1开始编号正整数。在路口i2*i以及i2*i +1之间存在双向道路,您可以清楚地看到任意两个路口之间存在唯一的最短路径。 

最初任何人都可以免费通过所有道路。但是由于SlapsGiving领先于我们,很快就会有q个连续事件发生。有两种类型的事件: 

1.政府制定新规则。规则可以用整数vuw表示。作为这一行动的结果,从uv的最短路径上的所有道路的通过费用增加了w美元。 

2. Barney从路口v移动路口u那里是他想拥抱一个女孩。他总是使用两个十字路口之间的最短路径(访问最小数量的交叉路口或道路)。 

政府需要你的计算。每次Barney去拥抱一个女孩时,应该支付多少钱

输入:

输入的第一行包含一个整数q1q1 000)。

q行按时间顺序包含有关事件的信息。每个事件的形式描述 


1 v u w如果当政府提出一个新的规则有关从增加uv的最短路径上的所有道路的通过费w美元。

2 v u当Barney从路口v到路口u拥抱一个女孩

1vu ≤10^18v u1w ≤10^9

输出:

对于第二类事件,按相应事件的时间顺序在一行中打印Barney道路的通行费总和

示例输入:

7
1 3 4 30
1 4 1 2
1 3 6 8
2 4 3
1 6 1 40
2 3 7
2 2 4

示例输出:

94
0
32

提示:

参考答案:

解锁文章

没有看到答案?微信扫描二维码可免费解锁文章

微信扫描二维码解锁

使用微信扫描二维码打开广告页面后可以立即关闭,再刷新此页面即可正常浏览此文章

所跳转广告均由第三方提供,并不代表本站观点!

已经扫描此二维码?点此立即跳转

code

这个人很懒,什么都没留下

文章评论