【PKU 3321】Apple Tree(树状数组)
来源:互联网 发布:股票记录软件 编辑:程序博客网 时间:2024/05/26 09:57
【题目描述】:
就是说有一棵二叉树,每个节点上面有一个权值,这个权值只可能是0或者是1。首先给你这棵树,然后进行M次操作:
C X 表示将编号为x的节点的权值改变(就是1-->0,0-->1)
Q X表示查询以X为根的子树上权值的和。
(N<=100000,M<=100000)
【题目分析】:
这个题数据量一看就是奇大的那一种,肯定必须要用Nlogn或是N的强悍算法~然后我们发现这个题可以这样想:对于DFS的时间戳来说,我记录入栈的时间,和出栈的时间,这中间出栈的节点一定是这个子树上的节点,所以我们会发现,实际上是维护一个连续段上的和的问题。可以用的方法有线段树还有树状数组。
我用的是树状数组,程序分为3步:
STEP1 读入,建树
STEP2 DFS(注意:入栈的时间是当前的time+1,而这个time只在有东西出栈的时候才往上加[想一想为什么呢~])
STEP3 利用树状数组维护性质和完成询问。
【代码】:
- 【PKU 3321】Apple Tree(树状数组)
- pku 3321 Apple Tree(时间戳,树状数组)
- pku 3321 Apple Tree(dfs+树状数组)
- Apple Tree-----树状数组
- poj 3321 Apple Tree( 树状数组 )
- POJ 3321 apple tree 树状数组
- POJ 3321 Apple Tree(DFS+树状数组)
- POJ 3321 Apple Tree 树状数组
- poj 3321 apple tree 树状数组 水
- POJ 3321 Apple Tree(DFS+树状数组)
- POJ 3321 Apple Tree 树状数组
- POJ 3321 Apple Tree (树状数组)
- POJ 3321 Apple Tree (dfs + 树状数组)
- POJ 3321 Apple Tree (DFS + 树状数组)
- Poj 3321 Apple Tree - 树状数组
- [poj 3321]Apple Tree[树状数组]
- POJ 3321 Apple Tree DFS + 树状数组
- POJ 3321 Apple Tree(树状数组)
- 基于ICMP的一个ping程序
- C# 强制退出程序
- [zz] armgcc编译器下载安装
- Vss 2005配置
- Struts Hibernate Spring SSH集成碰到的问题
- 【PKU 3321】Apple Tree(树状数组)
- 向Access中插入记录 报错误: Unhandled exception Type=Segmentation error vmState=0x0005ff05 J9Generic_Signal_Number=00000004 ExceptionCode=
- AGDLP
- Apache-2.2.8+mod_encoding解决URL中文编码问题-2008.1.8
- ubuntu在机房上网
- 反射学习一 :学习反射机制 c# 转载
- 案例研究:Team Foundation Server的帐户信息同步
- C#线程中使用委托方式设置控件属性
- 几个C函数:fgets, sscanf,fread,fwrite , strncpy,fopen, sprintf