HDU 5416 CBR and tree
#include<bits/stdc++.h>
using namespace std;
#define for(i,a,b) for(int i=a;i<=b;++i)
//T,N,Q,,u,v,w,s,tree[maxn][?],val[maxn],cashbook[maxn*2],ans
const int maxn=1e5+5;
struct node
{
int i,v;
node(){}
node(int a,int b){i=a,v=b;}
};
vector<node> tree[maxn];
int val[maxn],cashbook[2*maxn],s;
long long ans;
void dfs(int i,int p)
{
//record in cashbook[]
cashbook[val[i]]++;
//renew ans;
ans+=cashbook[s^val[i]];
//move to sons, cal their value
int nei=tree[i].size();
for(j,0,nei-1)
{
int name=tree[i][j].i;
if(name==p)continue;
val[name]=val[i]^tree[i][j].v;
dfs(name,i);
}
}
int main()
{
int T;scanf("%d",&T);
while(T--)
{
//construct the tree
int N,u,v,w;scanf("%d",&N);
for(i,1,N)tree[i].clear();
for(i,1,N-1)
{
scanf("%d%d%d",&u,&v,&w);
tree[u].push_back(node(v,w));
tree[v].push_back(node(u,w));
}
//query
int Q;scanf("%D",&Q);
while(Q--)
{
memset(cashbook,0,sizeof cashbook);
memset(val,0,sizeof val);
ans=0;
scanf("%d",&s);
dfs(1,0);
//print ans
printf("%lld\n",ans);
}
}
}
HDU 5416 CBR and tree的更多相关文章
- Hdu 5416 CRB and Tree (bfs)
题目链接: Hdu 5416 CRB and Tree 题目描述: 给一棵树有n个节点,树上的每条边都有一个权值.f(u,v)代表从u到v路径上所有边权的异或值,问满足f(u,v)==m的(u, v) ...
- HDU 5416 CRB and Tree(前缀思想+DFS)
CRB and Tree Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
- HDU 5416——CRB and Tree——————【DFS搜树】
CRB and Tree Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)
CRB and Tree Time Limit: 8000/4000 MS (J ...
- HDU 5416 CRB and Tree (2015多校第10场)
欢迎參加--每周六晚的BestCoder(有米!) CRB and Tree Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536 ...
- HDU 5416 CRB and Tree
题目大意: T, T组测试数据 给你一个n有n个点,下标是从 1 开始的.这个是一棵树,然后下面是n-1条边, 每条边的信息是 s,e,w 代表 s-e的权值是w 然后是一个Q代表Q次询问. 每次询问 ...
- HDU 5416 CRB and Tree (技巧)
题意:给一棵n个节点的树(无向边),有q个询问,每个询问有一个值s,问有多少点对(u,v)的xor和为s? 注意:(u,v)和(v,u)只算一次.而且u=v也是合法的. 思路:任意点对之间的路径肯定经 ...
- hdu 5274 Dylans loves tree(LCA + 线段树)
Dylans loves tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- Hdu 5274 Dylans loves tree (树链剖分模板)
Hdu 5274 Dylans loves tree (树链剖分模板) 题目传送门 #include <queue> #include <cmath> #include < ...
随机推荐
- idea运行javadoc生成文档以及 报错编码gbk的不可映射字符坑
将项目类信息生成文档 idea整合了javadoc的操作,可以一键生成doc文档 方法: 选中你要生成文档的项目 点击上方tools->Generate JavaDoc 运行即可 注意这里有一个 ...
- Java基础知识1-Java简介
Java语言技术架构 JAVASE:(Java platform to Standard Edition)标准版,用于桌面级应用开发. JAVAME:(Java plataform to Micro ...
- Linux:启动http服务
1.安装apache yum install httpd #根据提示,输入Y安装即可成功安装 systemctl start httpd.service #启动apache systemctl sto ...
- MySQL操作表的约束
完整性:指数据库的准确性和一致性. 约束:是在表中定义的用于维护数据库完整性的一些规则. 主键:给某一个字段来唯一标识所有记录,值是唯一的,非空的 外键:多个表之间参照的完整性. 一.设置非空约束 u ...
- scrapy中使用selenium来爬取页面
scrapy中使用selenium来爬取页面 from selenium import webdriver from scrapy.http.response.html import HtmlResp ...
- Java第二十天,Map集合(接口)
Map接口 一.定义 Map集合是双列集合,即一个元素包含两个值(一个key,一个value),Collection集合是单列集合. 定义格式: public interface Map<K,V ...
- Linux(Fedora)系统下配制8086汇编环境
1.到www,nasm.us下载nasm 2.解压并安装nasm #tar -xzvf nasm-2.11.08.tar.gz #cd nasm-2.11.08 #./configure #make ...
- 09-soap接口类型进行测试webservice协议
webxml.com.cn/zh_cn/weather_icon.aspx webxml.com.cn/webservices/weatherWS.asmx? 以上2个url可用来免费使用(经典场景) ...
- logback日志实战
<?xml version="1.0" encoding="UTF-8" ?> <!-- <configuration> < ...
- CentOS安装C函数库的man帮助
安装linux可能没有安装C的man帮助, 像我安装时选择的是最小化安装就没有, 网上的大多是ubunu的安装方式,或者是C++的man帮助, 都不适合,那么CentOS安装C man手册的方法就是: ...