暂无链接

洞穴辐射

[问题描述]

在火星表面着陆后,科学家发现了一个由隧道相连的洞穴系统。于是,他们开始使用遥控机器人帮助研究,它在每两个洞穴之间可以找到一条航线。洞穴中因微弱爆炸产生辐射,科学家们在每个洞穴内安装传感器来监测辐射水平。对于机器人的每次移动,他们想知道机器人在移动过程中要面对的最大辐射水平。因此,他们要求你写一个程序来解决他们的问题。

[输入格式]

笫一行为一个整数n(l≤n≤100000)n(l \le n \le 100000)n(l≤n≤100000)表示洞穴的数量。

接下来n−1n-1n−1行描述隧道,每行包含两个整数Ai,Bi(l≤Ai,Bi≤n)A_i,B_i(l \le A_i,B_i \le n)Ai​,Bi​(l≤Ai​,Bi​≤n),表示相应的洞穴被隧道相连。

下一行有一个整数q(q≤100000)q(q \le 100000)q(q≤100000)表示指令数。

接下来qqq行描述指令,均以GGG或III为开头:

(1)GuvG\ u\ vG u v:表示这是一个査询,询问当机器人从洞穴uuu移动到洞穴vvv所受到的最大辐射值为多少;

(2)IuvI\ u\ vI u v:表示洞穴uuu处发生了微弱爆炸,该处的辐射值增加了v(0≤v≤10000)v(0 \le v \le 10000)v(0≤v≤10000),默认初始时辐射值均为0。

[输出格式]

对于每一个査询输出一行,表示最大辐射水平。

[输入样例]

4
1 2
2 3
2 4
6
I 1 1
G 1 1
G 3 4
I 2 3
G 1 1
G 3 4

[输出样例]

1
0
1
3

[时间和空间限制]

时间限制为3秒,空间限制为64MB。

题解

打板

代码
#include<bits/stdc++.h>
#define ls son[v][0]
#define rs son[v][1]
using namespace std;
const int M=1e5+5;
int son[M][2],dad[M],mx[M],val[M],n,q;
bool rev[M];
bool notroot(int v){return son[dad[v]][0]==v||son[dad[v]][1]==v;}
void up(int v){mx[v]=max(val[v],max(mx[ls],mx[rs]));}
void turn(int v){swap(ls,rs);rev[v]^=1;}
void down(int v){if(!rev[v])return;if(ls)turn(ls);if(rs)turn(rs);rev[v]=0;}
void push(int v){if(notroot(v))push(dad[v]);down(v);}
void spin(int v)
{int f=dad[v],ff=dad[f],k=son[f][1]==v,w=son[v][!k];if(notroot(f))son[ff][son[ff][1]==f]=v;son[v][!k]=f;son[f][k]=w;if(w)dad[w]=f;dad[f]=v;dad[v]=ff;up(f);up(v);
}
void splay(int v)
{push(v);int f,ff; while(notroot(v)){f=dad[v];ff=dad[f];if(notroot(f))spin((son[f][0]==v)^(son[ff][0]==f)?v:f);spin(v);}
}
void access(int v){for(int f=0;v;v=dad[f=v])splay(v),rs=f,up(v);}
void beroot(int v){access(v);splay(v);turn(v);}
void split(int x,int y){beroot(x);access(y);splay(y);}
void link(int x,int y){beroot(x);dad[x]=y;}
void in()
{int a,b;scanf("%d",&n);for(int i=1;i<n;++i)scanf("%d%d",&a,&b),link(a,b);
}
void ac()
{char ch[10];int a,b;scanf("%d",&q);for(int i=1;i<=q;++i){scanf("%s%d%d",ch,&a,&b);if(ch[0]=='G')split(a,b),printf("%d\n",mx[b]);else splay(a),val[a]+=b,up(a);}
}
int main()
{in();ac();return 0;
} 

洞穴辐射(radiation)相关推荐

  1. β射线与哪些物质可产生较高的韧致辐射_辐射无所不在,香蕉土豆里都有?我们还能愉快生活吗?...

    作为一枚受过系统科学教育,耳聪目明的当代年轻人,你是不是隔三差五被长辈亲友群里各种"XX有放射性,赶紧远离!"的科学谣言搞得哭笑不得?又或者,稍一不注意,长辈亲友就买回了各种号称黑 ...

  2. 线缆束的辐射与抗干扰

    内容:线缆束的辐射与抗干扰 一.模型描述 1.1模型描述:   图1:线缆与环境-全模型示意图,包括线缆截面形式 1.2计算方法描述: 采用矩量法-MoM+MTL 1.3 线缆规格: 采用两根单线组成 ...

  3. 2011大学英语四级核心高频词汇表免费下载

    2011年大学英语四级核心高频词汇表 abandon vt.丢弃:放弃,抛弃 ability n.能力:能耐,本领 abnormal a.不正常的:变态的 aboard ad.在船(车)上:上船 ab ...

  4. 开关电源雷击浪涌整改_大佬多年经验总结,开关电源EMI整改策略

    以下是作者分享有关开关电源EMI整改的多年经验总结,包括:开关电源设计前 EMI 一般应对策略,开关电源设计后 EMI 的实际整改策略等,总共有 99 条经验,希望能帮助大家. EMC的分类及标准: ...

  5. sp烘焙流程_烘焙工作流程图

    烘焙工作流程图 [相关阅读] 烘焙学基础篇 烘焙是门学问.根据字意的解释,"烘"是用火烘干湿物,例如 烘干;"焙"是用微火烘烤东西,例如焙茶;"烤&q ...

  6. 商务英语转计算机,BEC商务英语

    随着计算机和网络技术的发展,计算机英语词汇在日益增多,这些新词汇通常借助添义法或某一构词法形成,对它们作词汇形成分析并找出规律,可便于计算机使用者更好地理解词义和识记计算机英语词汇. 纵观计算机英语词 ...

  7. Ls-Dyna 软件简介 (1)

    1.1 LS-DYNA 简介 LS-DYNA 是世界上最著名的通用显式动力分析程序,能够模拟真实世界的各种复杂问题,特别适合求解各种二维.三维非线性结构的高速碰撞.爆炸和金属成型等非线性动力冲击问题, ...

  8. emc整改措施及案例_EMC整改方案

    页脚内容 1 篇一: emc 实用整改方案 emc 的分类及标准: emc = emi + ems emi : 電磁干擾 ems : 電磁相容性 ( 免疫力 ) emi 可分为传导 conductio ...

  9. 每日新闻丨中国人工智能专利申请量百度腾讯微软浪潮居前四;物联网设备Wi-Fi 6试用测试成功...

    趋势洞察 中国人工智能专利申请量排行:百度腾讯微软浪潮居前四 近日,国家工业信息安全发展研究中心发布<人工智能中国专利技术分析报告>,百度.腾讯.微软.浪潮位居前四.报告针对人工智能下基础 ...

  10. 感量越大抑制频率约低_开关电源EMI设计与整改策略100条!

    EMC的分类及标准:本文引用地址:http://www.eepw.com.cn/article/201705/358653.htm EMC(Electromagnetic Compatibility) ...

最新文章

  1. 阔力梯的树(2020 CCPC Wannafly Winter Camp Day2 Div.12 )dsu on tree
  2. oracle数据库查询open_cursors值的sql语句,达梦数据库查询MAX_SESSION_STATEMENT值方法,MAX_SESSION_STATEMENT的最大值、上限是多少
  3. CCNA重点难点:生成树配置
  4. 什么是整除,什么是素数
  5. cefsharp已停止工作_windows资源管理器已停止工作怎么解决
  6. couchdb java 连接_CouchDB客户端连接的说明---Java版
  7. sql注入攻击实例mysql_MySQL 处理SQL注入攻击
  8. Table(name=“xx“)与Entity(name=“xx“) 问题
  9. php curl 命令行,curl 命令行教程
  10. linux添加Qt的fontconfig,qt – 如何在Red Hat 5.3中将fontconfig更新为更新版本?
  11. vs2005安装使用指南
  12. 永中office linux卸载,安装永中Office for linux
  13. 抓包工具 - HttpWatch(功能详细介绍)
  14. 国土防线2计算机内存不足,国土防线2革命配置要求高吗?PC配置要求介绍
  15. CSS 样式修改技巧及心得汇总
  16. 国家级发明专利专利 - 崔博文
  17. Qt入门01 创建第一个Qt程序
  18. 解决NameError: name '__file__' is not defined的方法
  19. mvn scm 作用
  20. 利用占空比的改变调节小车速度

热门文章

  1. Raki的读paper小记:DEBERTA: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION
  2. 复旦nlp实验室 nlp-beginner 任务三:基于注意力机制的文本匹配
  3. 我的世界android制作教程,《我的世界手机版》怎么制作mod制作JS教程图文攻略
  4. jsp android 交互,Android中HTTP几种请求和响应的代码实现
  5. mac储存文件应该放在哪里_单位不能存档,个人档案应该放在哪里呢,影响今后退休金吗?...
  6. php对字符串简单加密解密,PHP字符串加密解密
  7. 用傅里叶分析得到频域信息 MATLAB,信号分析实验_傅里叶matlab实现.doc
  8. IdentityServer4 中文文档与实战
  9. Android数据结构与算法(一):基础简介
  10. php utf8 gbk 数组 互转