【zzulioj 1916 DFS序 + 树状数组】
发布日期:2021-11-04 12:58:41
浏览次数:6
分类:技术文章
本文共 844 字,大约阅读时间需要 2 分钟。
Description
给一颗树,有n个结点,编号为1到n,1为根节点,有两种操作,1 x y把x结点权值加y,2 x查询x到根节点所有结点的权值和.
每个结点权值初始化为0。Input
第一行输入一个整数t,代表有t组测试数据。
每组数据第一行为两个整数n,m代表结点个数和操作次数。 接下来n-1行,每行两个整数a,b,表示a结点和b结点有一条边。 接下来m行每行一个操作格式如上。 0<=n<=50000 ,0<=m<=50000,0<=y<=50000Output
对于每组查询输出一个整数表示结果
Sample Input
1
5 5 1 2 1 3 3 4 3 5 2 5 1 1 2 1 3 1 2 4 2 1 Sample Output0
3 2第一次用到 DFS序 ,又学到了新知识,好开森呀~~~
#include#include #include #include using namespace std;const int KL=50011;vector v[KL];long long pa[KL];int vis[KL],in[KL],out[KL];int num;void DFS(int x){ int i; in[x]=++num;//进节点时间 for( i=0;i 0){ ans+=pa[x]; x-=lowbit(x); } return ans;}int main(){ int T,N,M,i,a,b,k; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&M); for(i=0;i<=N;i++){ v[i].clear(); vis[i]=0; } memset(pa,0,sizeof(pa)); for(i=0;i
转载地址:https://blog.csdn.net/WYK1823376647/article/details/52239645 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月01日 14时44分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SpringBoot源码分析之@Scheduled
2019-04-27
JDK源码分析 NIO实现
2019-04-27
互联网大厂技术面试内幕@霞落满天
2019-04-27
Web框架基准测试
2019-04-27
Linux查看本机端口
2019-04-27
mongodb常用语句以及SpringBoot中使用mongodb
2019-04-27
为什么jdk源码推荐ThreadLocal使用static
2019-04-27
编程容易犯的错
2019-04-27
Spring @bean冲突解决方案
2019-04-27
不写容易出错的代码
2019-04-27
gcc -E 选项
2019-04-27
FastDFS安装与使用
2019-04-27
WEB打印大全
2019-04-27
ASP.Net ViewState的实现
2019-04-27
ASP.NET图象处理详解
2019-04-27
在ASP.NET中值得注意的两个地方
2019-04-27
在ASP.NET中跨页面实现多选
2019-04-27
深入讲解 ASP+ 验证
2019-04-27
PHP中的页面跳转
2019-04-27
鼠标移动,改变DataGrid颜色
2019-04-27