poj 3321

主要是dfs,只要dfs这一步想到,也就是怎样把问题转化为区间求和,就很容易用树状数组来求解

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn= 100000;
int head[maxn+10],e[maxn+10],num[maxn+10],lim[maxn+10],sumx[maxn+10],vis[maxn+10];
int nextx[maxn+10];
int n,m,tot,tem;
void dfs(int x)//遍历映射每个点,确定每个点的起始在他和终止的点,也就是每个苹果和他这个子树之上的最后一个节点映射后的编号。
{num[x]=tem++;int i;for(i=head[x];i!=-1;i=nextx[i]) dfs(e[i]);lim[x]=tem;
}
int lowbit(int x)
{return x&(-x);
}
void update(int x)
{int i,flag=0;if(vis[x]){vis[x]=0;flag=1;}else vis[x]=1;for(i=x;i<=maxn;i+=lowbit(i)){if(flag) sumx[i]-=1;else sumx[i]+=1;}
}
int query(int x)
{int i,sum=0;for(i=x;i>0;i-=lowbit(i)) sum+=sumx[i];return sum;
}
int main()
{while(cin>>n){int i;int u,v;tot=0;memset(head,-1,sizeof(head));memset(sumx,0,sizeof(sumx));memset(vis,0,sizeof(vis));for(i=0;i<n-1;i++)//先把图建起来{scanf("%d %d",&u,&v);e[tot]=v; nextx[tot]=head[u];head[u]=tot;tot++;}tem=1;dfs(1);scanf("%d",&m);for(i=1;i<tem;i++) update(num[i]);char c;for(i=0;i<m;i++){getchar();scanf("%c %d",&c,&v);if(c=='C') update(num[v]);else  printf("%d\n",query(lim[v]-1)-query(num[v])+vis[num[v]]);}}return 0;
}


转载于:https://www.cnblogs.com/lj030/archive/2013/01/24/3002268.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XXE漏洞

简介 XXE (XML External Entity Injection) 漏洞发生在应用程序解析 XML 输入时&#xff0c;没有禁止外部实体的加载。 简单的理解&#xff0c;一个实体就是一个变量&#xff0c;可以在文档中的其他位置引用该变量。 实体主要分为四种&#xff1a; 内置实体 (Built-in entities…

Linq之Expression高级篇(常用表达式类型)

目录 写在前面 系列文章 变量表达式 常量表达式 条件表达式 赋值表达式 二元运算符表达式 一元运算符表达式 循环表达式 块表达式 总结 写在前面 首先回顾一下上篇文章的内容&#xff0c;上篇文章介绍了表达式树的解析和编译。如果忘记了&#xff0c;可以通过下面系列文章提供的…

NetCore框架WTM的分表分库实现

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

WordPress WP Photo Album Plus插件‘wppa-tag’跨站脚本漏洞

漏洞名称&#xff1a;WordPress WP Photo Album Plus插件‘wppa-tag’跨站脚本漏洞CNNVD编号&#xff1a;CNNVD-201301-458发布时间&#xff1a;2013-01-24更新时间&#xff1a;2013-01-24危害等级&#xff1a; 漏洞类型&#xff1a;跨站脚本威胁类型&#xff1a;远程CVE编号&…

SpringCloudAlibaba分布式流量控制组件Sentinel实战与源码分析(上)

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

Offer是否具有法律效力?

版权声明&#xff1a;原创作品&#xff0c;同意转载&#xff0c;转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址&#xff1a; http://blog.csdn.net/jobchanceleo/archive/2008/10/17/3089644.aspx<?xml:namespace prefix o …

【单元测试框架unittest】

转载于:https://www.cnblogs.com/ppppying/p/6899750.html

MySQL 添加列,修改列,删除列 的SQL写法

ALTER TABLE&#xff1a;添加&#xff0c;修改&#xff0c;删除表的列&#xff0c;约束等表的定义。 查看列&#xff1a;desc 表名;修改表名&#xff1a;alter table t_book rename to bbb;添加列&#xff1a;alter table 表名 add column 列名 varchar(30); 试了好长时间 终于…

python项目

python实战项目&#xff1a; http://www.the5fire.com/category/python实战/ python基础教程中的十个项目: python项目练习一&#xff1a;即时标记python项目练习二&#xff1a;画幅好画python项目练习三&#xff1a;万能的XMLpython项目练习四&#xff1a;新闻聚合python项目练…

C++ 炼气期之基本结构语法中的底层逻辑

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

压缩CSS代码

function yasuoCss (s) {//压缩代码   s s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释   s s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");   s s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理   s s.replace(/;\s*;/g, ";…

优惠券的工厂与策略模式实现方案

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

自然数的公理化理论体系定义的新方法

目前&#xff0c;我们人类可通过皮亚诺的五个命题和在此基础上的三个公理来定义自然数的公理化理论体系.现在&#xff0c;我们用π来定义自然数的公理化理论体系.几年前&#xff0c;美国人用2π代替π&#xff0c;看起来&#xff0c;似乎已经非常的完美了.我也比较认同这个看起…

WP8.1学习系列(第九章)——透视Pivot开发指南

Windows Phone 8 的 Pivot 控件 2014/6/18 适用于&#xff1a;Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1 Windows Phone Pivot 应用提供了一种快速管理视图或页面的方法。该方法可以用于筛选大型数据集、查看多个数据集或切换应用视图。例如&a…

PS图层混合模式中英文对照

英文 中文 原理介绍 Normal 正常 默认的模式。不和其他图层发生任何混合。 Dissolve 溶解 溶解模式产生的像素颜色来源于上下混合颜色的一个随机置换值&#xff0c;与像素的不透明度有关。 Behind 背后 只对图层的透明区域进行编辑。该种模式只有在图层的…

ESP8266 系统环境搭建

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

无线网络配置

转载于:https://www.cnblogs.com/lingxzg/archive/2013/02/09/2909606.html

Java编程之反射中的注解详解

“注解”这个词&#xff0c;可谓是在Java编程中出镜率比较高&#xff0c;而且也是一个老生常谈的话题。我们之前在聊Spring相关的东西时&#xff0c;注解是无处不在&#xff0c;之前我们简单的聊过一些“注解”的相关内容&#xff0c;比如在Spring中是如何进行“注解”组合的。…

SCCM 2012 R2实战系列之十三:辅助站点部署

由于最近几个月一直处于AD升级项目中&#xff0c;很久没有更新SCCM的技术文档了。SCCM 2012中的辅助站点部署方法还是比较特别的&#xff0c;需要注意的地方也非常多&#xff0c;今天跟大家分享辅助站点的具体部署和配置方法。1. 前提条件加入域环境 安装IIS组件安装BITS和远程…

DevOps落地实践点滴和踩坑记录-(1)

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…