Codeforces Round #362 Lorenzo Von Matterhorn
来源:互联网 发布:先导爱知同人吧 编辑:程序博客网 时间:2024/05/04 10:37
题目链接:http://codeforces.com/problemset/problem/696/A
题意:给我们一个二叉树,一开始每条边的权值都是0,现在给我们两个操作,第一个是讲从点u到点v这条路上的每一条边边权都加上w,第二个操作是询问我们从u到v这条路上的权值和。
很显然,如果我们能用一个二维数组来存储两两之间的关系的话,那么问题会非常简单,但是很明显我们是开不出10^18次方的数组的,所以这里我们用一个神奇的map来代替二维数组,map<LL, map<LL,LL> >,这样的map就和二维数组用起来没什么区别。
#include <map>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;typedef long long LL;map<LL, map<LL,LL> > Map;int main(){int T;scanf("%d",&T);while(T--){LL op,u,v,w,ans;scanf("%I64d%I64d%I64d", &op, &u, &v);if(op == 1){scanf("%I64d", &w);while(u != v){if(u > v){Map[u/2][u] += w;u /= 2;}else{Map[v/2][v] += w;v /= 2;}}}else{ans = 0;while(u != v){if(u > v){ans += Map[u/2][u];u /= 2;}else{ans += Map[v/2][v];v /= 2;}}cout << ans << endl;}}}
0 0
- Codeforces Round #362 Lorenzo Von Matterhorn
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn(暴力)
- Codeforces Round #362 (Div. 2) C Lorenzo Von Matterhorn
- Codeforces Round #362 (Div. 2) C.Lorenzo Von Matterhorn
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn
- codeforces #362(div2) C. Lorenzo Von Matterhorn
- codeforces C. Lorenzo Von Matterhorn
- codeforces 696A Lorenzo Von Matterhorn (from:Codeforces Round #362 div 2)
- Codeforces Round #362 (Div. 1) A (696A) Lorenzo Von Matterhorn (LCA)
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn (map离散化)
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn (二叉树+map)
- Codeforces Round #362 (Div. 2)C. Lorenzo Von Matterhorn 二叉树结点规律
- Codeforces Round #362 (Div. 1) A. Lorenzo Von Matterhorn(map&LCA)
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn LCA(最近公共祖先)
- Codeforces Round #362 (Div. 2) C. Lorenzo Von Matterhorn(LCA思想)
- 解题报告:Codeforces Round #362 (Div. 1) A. Lorenzo Von Matterhorn 树状概率DP
- codeforces #362(div2)-> C. Lorenzo Von Matterhorn (map的使用)
- Codeforces-697C Lorenzo Von Matterhorn
- Java模拟斗地主发牌
- Linux svn服务器端搭建过程
- 区块链技术原理
- 基于静态数组的容器类bag实现
- HDU - 2444 The Accomodation of Students(判断二分图 + 二分图匹配)
- Codeforces Round #362 Lorenzo Von Matterhorn
- 连载:面向对象葵花宝典:思想、技巧与实践(9) - “抽象类” 详解
- leetcode_c++:链表:Palindrome Linked List(234)
- python获取及提交测试
- <java编程思想>(thing in java) 阅读笔记(第十一章至第十二章)
- 企业级云应用平台的实践和思考
- ambari 安装hbase thrift2服务
- Android 7(N)网络安全配置
- 【Android】HorizontalNumberPicker