cf#362-C. Lorenzo Von Matterhorn
http://codeforces.com/contest/697/problem/C
给你一个完全二叉树
两个操作
1: u,v,w 把u到v上的路都加w权值
2:u,v 查询u到v的权值和
uv最多1e18,log一下也就是60层左右
那么直接用map模拟即可
mp[i]表示的是 i到其父亲的这条路的权值
类似倍增算法模拟一下即可
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <iostream>
using namespace std;const double pi=acos(-1.0);
double eps=0.000001;map<long long,long long>mp;
int main()
{int q;cin>>q;long long op,u,v,w;for (int i=1;i<=q;i++){scanf("%lld",&op);if (op==1){scanf("%lld%lld%lld",&u,&v,&w);while(u!=v){if (u>v)mp[u]+=w,u/=2;elsemp[v]+=w,v/=2;}}else{scanf("%lld%lld",&u,&v);long long ans=0;while(u!=v){if (u>v)ans+=mp[u],u/=2;else ans+=mp[v],v/=2;}printf("%lld\n",ans);}} return 0;}
cf#362-C. Lorenzo Von Matterhorn相关推荐
- Codeforces 697C Lorenzo Von Matterhorn(严格二叉树的LCA) - xgtao -
Lorenzo Von Matterhorn 给出一棵二叉树,节点i与2*i和2*i+1相连,i的范围是1~10^18,每一条边有一个权值w(0~10^9),给出q(1~1000)个操作,操作有两种, ...
- 【CodeForces - 697C】Lorenzo Von Matterhorn(二叉树,思维)
题干: 巴尼住在NYC.NYC具有从1开始的正整数编号的无数个交叉点.在交叉点 i 和 2i 之间以及 i和 2i + 1 之间存在双向道路,对任意整数 i 都满足.在任意两点之间都有且只有一条最短路 ...
- codeforces泛做
codeforces div1的题目,一般是做B.C.D 有的A题觉得有价值也会做,死活不会的就跳了-- 364 B: Connecting Universities Problem: 一颗无根树上给 ...
- Cf 362div2 C [map暴力,思维能力]
题目连接 http://codeforces.com/contest/697/problem/C Description Barney lives in NYC. NYC has infinite n ...
- CF Round #362 (Div. 2) 697D. Puzzles
题意 一棵树,点1为根.从1开始dfs搜索,由于搜索的顺序是有多种可能的,所以按搜索顺序给节点编号,每个点的编号也都是有多种可能的.求每个点编号的期望. 题解 如样例一,有1->2, 1-> ...
- 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!
前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...
- 本地应用 v-on补充
◆事件绑定的方法写成函数调用的形式,可以传入自定义参数 ◆定义方法时需要定义形参来接收传入的实参 ◆事件的后面跟上.修饰符可以对事件进行限制 ◆.enter可以限制触发的按键为回车 ◆事件修饰符有多种 ...
- VUE的本地应用-V- on
v-On: ◆v-on指令的作用是:为元素绑定事件 ◆事件名不需要写on ◆指令可以简写为@ ◆绑定的方法定 义在methods属性中 ◆方法内部通过this关键字可以访问定义在data中数据 结果: ...
- OC对象 vs CF对象
2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...
最新文章
- Centos下通过SMTP发送邮件失败解决
- CSS padding
- mysql访问60s出现timeout_websocket 每60s报WsHttpUpgradeHandler.timeoutAsync
- 笔记本电脑网络连接显示红叉_物联网设备的网络连接---上篇
- 蓝点中文_linux2.0 实验二 简单shell命令
- 不是每个人的一生都会有贵人相助
- ADO.NET实例教学一
- 关于用C#编写ActiveX控件1
- 第一个vue项目——从0到1构建vue(一)
- 高速电路设计基本概念之——PCB板材各项参数解读
- android红米升级失败怎么办,红米刷机失败怎么办?解决红米刷机失败教程
- 龙卷风路径_“龙卷风”:预判路径 减轻灾害
- error C4716 必须返回一个值 处理
- 【vulhub系列】cve-2018-1273S pring Expression Language 漏洞复现
- Three.js学习七——播放模型动画时模型沿着轨迹移动
- 不同手机型号图文预览_微信编辑器预览一般以多大的手机尺寸为准?
- python绘制散点图的步骤_python绘制散点图
- Visual Studio Code修改HTML Snippets插件中默认模板内容
- C语言编程题:分数的加减乘除
- 都2023年了,你如果还不知道这18个C语言入门经典程序就亏了