POJ3321 Apple Tree dfs序+树状数组

Cadence IC618/Spectre231安装避坑指南:详解环境变量配置与License管理那些事儿 本文深入解析Cadence IC618/Spectre231安装过程中的环境变量配置与License管理难题,提供从变量冲突解决到高效License管理的实用方案。针对常见的64位标识冲突、路径污染及License服务器连接问题,给出具体诊断步骤和优化建议,帮助用户构建稳定可靠的EDA环境。 阅读详情

原题地址
题意:给一颗根为1的树,节点数为n,一开始每个节点上有一颗苹果,现有两个操作:
1.Q x,输出x的子树上的苹果个数。
2.C x,如果x点有苹果就拿走,没有就长一个出来。
m次操作。

思路:用dfs序把树上的节点转换成区间形式,然后用树状数组或者线段树维护和查询,模板题。

#include <iostream>
#include <stdio.h>
#include<cmath>
#include <cstdio>
#include<algorithm>
#include <cstring>
#include <string>
#define LL long long
#define INF INT64_MAX
#define MOD 1000000007
#define stree SegTree[root]
#define lson SegTree[root << 1]
#define rson SegTree[root << 1 | 1]
using namespace std;
typedef pair<int,int>pa;
const int N = 5e5+7;
char s[105];
int cnt, k, vis[N], d[N], head[N], l[N], r[N];
struct node
{
    int to, next;
}edge[N];
void add(int u, int v)
{
    edge[k].to = v;
    edge[k].next = head[u];
    head[u] = k++;
}
void dfs(int x)
{
    l[x] = ++cnt;
    for(int i = head[x];i!=-1;i = edge[i].next)
        dfs(edge[i].to);
    r[x] = cnt;
}
int lowbit(int x) {return x&(-x);}
void update(int x, int val)
{
    for(int i = x;i <= cnt;i+=lowbit(i)) d[i] += val;
}
int sum(int x)
{
    int res = 0;
    for(int i = x;i; i-=lowbit(i)) res += d[i];
    return res;
}
int main()
{
    int t, n, m, x, k, u, v, q;
    scanf("%d", &n);
    memset(head, -1, sizeof(head));
    for(int i = 1;i < n;i++)
    {
        scanf("%d %d", &u, &v);
        add(u, v);
    }
    dfs(1);
    for(int i = 1;i <= n;i++)
    {
        vis[i] = 1;
        update(l[i], 1);
    }
    scanf("%d", &q);
    while(q--)
    {
        scanf("%s%d", s, &x);
        if(s[0]=='Q')
            printf("%d\n", sum(r[x])-sum(l[x]-1));
        else
        {
            if(vis[x]) update(l[x], -1);
            else update(l[x], 1);
            vis[x] ^= 1;
        }
    }
    return 0;
}

4D毫米波雷达 详解4D成像毫米波雷达 阅读详情

相关推荐

Windows下Colmap编译安装全攻略:从Boost到CUDA的避坑指南

本文详细介绍了在Windows系统下编译安装Colmap三维重建工具的完整流程与实战经验。针对Boost库版本兼容性、CUDA与Visual Studio的版本匹配等常见难题提供了具体的避坑指南和解决方案,帮助开发者高效完成从环境配置到最终部署的全过程。

weixin_28235513的博客 198

【POJ 3321】 Apple Tree 树状数组 + DFS序(详解)

Description There is an apple tree outside of kaka’s house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tree. The ...

待到山花烂漫时 657

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

Poj3321 Apple Tree dfs序 + 树状数组

Poj3321 Apple Tree dfs序 + 树状数组 单点加 区间询问 1 #include <cstdio> 2 #include <cmath> 3 #include <cstdlib> 4 #include <cstring> 5 #include <algorithm> 6 #i...

weixin_33842328的博客 157

Mac 不小心断开移动硬盘导致磁盘无法读取和加载(顺利解决!)

Mac移动硬盘不正确断开连接导致无法读取加载的解决方法,亲测有效

Robin_Pi的博客 1万+

【科研】Michaelis–Menten 曲线(米氏曲线)中反应速率的计算

Michaelis–Menten 曲线 米氏曲线 纵坐标 反应速率求值 朗伯比尔定律

weixin_42809675的博客 2万+

POJ3321 Apple Tree(树状数组+dfs序)

题意:有n个点,每个点都有苹果,操作1 查询 点x的子树上有又多少个苹果包括自身,操作2 若点x上有苹果则摘下,没有则长出一个 思路:用树状数组去维护苹果树上的苹果个数,dfs序建树获取树上子树和根的区间。 #include <cstdio> #include <cstring> #include <algorithm> #include <set> #include<iostream> #include<vector> //#incl

Ray.C.L的博客 494

9、横向束流光学:原理、模拟与耦合效应

本文系统介绍了横向束流光学中的关键概念,包括色度、色散、发射度、动量压缩因子以及四维耦合效应。通过MATLAB代码详细演示了相关参数的计算与模拟流程,展示了粒子在加速器中的运动特性及其对束流稳定性的影响。同时,讨论了如何通过磁铁配置优化束流光学性能,为加速器的设计与优化提供了理论基础和实践指导。

resnet7explorer的博客 118

poj3321 Apple Tree 树状数组+dfs序

                                         Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 34141   Accepted: 10231 Description There is an apple tree outside of...

OOOak 317

EMS案例:BMS传导发射超标整改案例

BMS作为新能源汽车的关键部件,其EMC性能直接影响整车的安全性和可靠性。本文通过一个实际的传导发射整改案例,详细展示了从问题定位、分析到解决方案实施的全过程。希望这些经验能够为从事类似产品设计的工程师提供有价值的参考,在未来的产品开发中避免类似问题,设计出更加可靠、稳定的BMS产品。EMC设计是一门结合理论与实践的艺术,只有通过不断积累经验、深入理解电磁场理论,并紧密结合实际应用场景,才能在复杂的电磁环境中设计出鲁棒性强的电子产品。

m0_56451176的博客 272

内网渗透(二)之基础知识-工作组介绍

在一个大型单位里,可能有成百上千台计算机互相连接组成局域网,它们都会列在"网络"(网上邻居)内。如果不对这些计算机进行分组,网络的混乱程度是可想而知的 为了解决这一问题,产生了工作组( Work Group)这个概念。将不同的计算机按功能(或部 门)分别列入不同的工作组,例如技术部的计算机都列入"技术部"工作组、行政部的计算机都 列入"行政部"工作组。要想访问某个部门的资源,只要在"网络"里双击该部门的工作组名 就可以看到该部门的所有计算机了。相比不分组的情况,这样的情况有序得多(尤其对大型局域网来说)。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1219

Apple Tree POJ - 3321 dfs序+树状数组

There is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tree. The tree hasN...

wa的一声就哭了 307

SAP中关于预测需求的重要载体:计划独立需求

预测,就是为了调节客户需求的波动、不平衡,使企业的生产计划、物料计划尽量平稳、有序的必备工具。计划独立需求,Planned Independent Requirement(PIR)是SAP系统中最常见的预测需求。

saplakes的博客 1878

POJ3321Apple Tree(DFS序 +树状数组)

Apple Tree 题意:给出一棵树,n个节点,根节点1。有两种操作,(1)Q,xQ,xQ,x。(2)C,xC,xC,x。 (1).查询第x个节点, (2). // poj3233 #include<iostream> #include<cstdio> #include<vector> #include<map> #include<queue> #include<cstring> using namespace std; typede

weixin_45363113的博客 442

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

POJ 3321 Apple Tree 树状数组+dfs序

题目:http://poj.org/problem?id=3321 题意:给出一个苹果树,开始每个节点都有一个苹果,有2个操作 C:有苹果就吃掉,没有就会长出一个苹果 Q:查询包括x的子树上苹果的个数 这个题目的关键就是怎么把它从一颗树转化成一个数组 可以用dfs序重新编号,保存节点所维护的区间,然后用树状数组可以解决了 #include<iostream&g...

dengyaodan0206的博客 166

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

poj 3321 Apple Tree 树状数组 dfs序

题目链接 参考资料: http://www.cnblogs.com/gj-Acit/p/3236843.html   ——再见~雨泉 题意: 给一棵树,初始时每个节点的 val 均为 1,现有一些操作, Q:将某个节点的 val 取反 C:询问以某个节点为根的子树的 val 总和 思路: dfs 一遍,将每个点的编号映射到 dfs 序,以 dfs 序来

kkkkahlua的博客 418

[POJ - 3321] Apple Tree (树状数组+dfs序)

链接 http://poj.org/problem?id=3321 题意 给你一个nnn个节点的苹果树,开始这颗树上每个结点上都有一个苹果,现在需要你执行mmm次操作,操作分两种; C xC\ xC x,对结点xxx进行操作,如果结点xxx处有一个苹果就把它摘下来,如果没有它就重新生长出来一个; Q xQ\ xQ x,查询xxx所在子树苹果个数; 分析 ...

梧桐 293

POJ 3321-Apple Tree【树状数组+DFS序】

卡卡屋前有一株苹果树,每年秋天,树上长了许多苹果。卡卡很喜欢苹果。树上有N个节点,卡卡给他们编号1到N,根的编号永远是1.每个节点上最多结一个苹果。卡卡想要了解某一个子树上一共结了多少苹果。 现在的问题是不断会有新的苹果长出来,卡卡也随时可能摘掉一个苹果吃掉。你能帮助卡卡吗? Input 输入数据:第一行包含一个整数N(N<= 100000),表示树上节点的数目。 接下来N-1...

独钓门前月 633

Apple Tree POJ - 3321(dfs序树状数组)

There is an apple tree outside of kaka’s house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tree. The tree has N forks which are connected by branches. Kaka numbers the f

tomjobs的博客 690

【poj 3321】 Apple Tree 树状数组+dfs序

Apple Tree Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 23568 Accepted: 7118DescriptionThere is an apple tree outside of kaka’s house. Every autumn, a lot of apples will gro 树状数组+dfs

ATOD 1221

Apple Tree poj3321 树状数组+DFS序

Apple TreeTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 32666 Accepted: 9812DescriptionThere is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow in the tree. ...

mayuqing98的博客 242

POJ-3321 Apple Tree (树状数组 前缀和 dfs序)

树状数组+dfs序。题意:一颗树有1e5个点,每个点上权值仅可为0或1。1e5次操作,要么修改某个点的权值,要么询问某结点包括所有其儿子的权值和。

hmc0411的博客 3081

【题解】poj3321 Apple Tree dfs序+树状数组

题目链接 Description There is an apple tree outside of kaka’s house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple t...

翻过这座山,他们就会听到你的故事 312

Apple Tree POJ3321 dfs序 + 树状数组

题意 卡卡屋前有一株苹果树,每年秋天,树上长了许多苹果。卡卡很喜欢苹果。树上有N个节点,卡卡给他们编号1到N,根的编号永远是1.每个节点上最多结一个苹果。卡卡想要了解某一个子树上一共结了多少苹果。现在的问题是不断会有新的苹果长出来,卡卡也随时可能摘掉一个苹果吃掉。你能帮助卡卡吗? 解题思路 此题我们的想法肯定是想将查询和修改都降为lognlognlogn的复杂度,这区间查询单点修改正好用树状数组或线段树解决即可。关键我们怎么将树转化为区间,即每颗子树都附上区间,dfsdfsdfs可以帮我们解决这个.

pursuit的博客 488

poj3321-Apple Tree-dfs序+树状数组

http://poj.org/problem?id=3321 给你一颗树,最初每个节点上都有一个苹果, 有两种操作:修改(即修改某一个节点值为0或1) 和查询(查询某一个节点的【子树】上有多少个苹果)   这个在树上跑一遍dfs,得到树的dfs序,每个节点管辖的区间就是in[x] - out[x] 这个区间上的节点都是 节点x的子节点,其中in[x]是x自身 那么接下来的对

缺氧 668

POJ-3321-Apple Tree dfs序树状数组

具体题目是,POJ-3321,这里不给了; 数据先给了n;代表了一共有n个编号(对于n个结点); 大致题意是给一颗根节点为编号1的树,以及接下来的n-1条边(x,y) 根据discuss区描述这条边就是x to y,不用考虑y to x;(这不是重点) 再是m个操作(点修改and这个点的子树的结点个数查询);   3 1 2 1 3 3 Q 1 C 2 Q 1 dfs序 后 用树状数...

zhonglong_lin的博客 1589

【树状数组--dfs序转化】poj3321 Apple Tree

Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 29822   Accepted: 8881 Description There is an apple tree outside of kaka's house. Every autumn,

Hi_jiaxinwei的博客 1816
上一篇: Codeforces Round #734 (Div. 3) D2. Domino (hard version)
下一篇: Codeforces Round #632 (Div. 2) F - Kate and imperfection 思维好题+贪心策略
丶沙鸥
博客等级 码龄8年 10粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值