博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3764 The xor-longest Path Trie
阅读量:5057 次
发布时间:2019-06-12

本文共 1655 字,大约阅读时间需要 5 分钟。

求树上的一条最长异或路径。

定义f(u, v)为u到v的路径, 那么显然f(1, u)^f(1, v) = f(u, v), 想不到这个就没有办法做。

然后就可以用字典树查询+插入了。

用指针版本的狂T不止。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define pb(x) push_back(x)#define ll long long#define mk(x, y) make_pair(x, y)#define lson l, m, rt<<1#define mem(a) memset(a, 0, sizeof(a))#define rson m+1, r, rt<<1|1#define mem1(a) memset(a, -1, sizeof(a))#define mem2(a) memset(a, 0x3f, sizeof(a))#define rep(i, n, a) for(int i = a; i
pll;const double PI = acos(-1.0);const double eps = 1e-8;const int mod = 1e9+7;const int inf = 1061109567;const int dir[][2] = { {-1, 0}, { 1, 0}, { 0, -1}, { 0, 1} };const int maxn = 2e5+5;int head[maxn*2], num, val[maxn], top = 31, cnt;struct node{ int to, nextt, w;}e[maxn*2];void add(int u, int v, int w) { e[num].to = v, e[num].w = w, e[num].nextt = head[u], head[u] = num++;}void init() { num = cnt = 0; mem(val); mem1(head);}void dfs(int u, int fa) { for(int i = head[u]; ~i; i = e[i].nextt) { int v = e[i].to; if(v == fa) continue; val[v] = val[u]^e[i].w; dfs(v, u); }}struct Trie{ int next[2]; void init() { next[0] = next[1] = 0; }}trie[maxn];void insert(int pre) { int p = 0; for(int i = top-1; i>=0; i--) { int tmp = pre>>i&1; if(!trie[p].next[tmp]) { trie[p].next[tmp] = ++cnt; trie[cnt].init(); } p = trie[p].next[tmp]; }}int query(int pre) { int p = 0, ret = 0; for(int i = top-1; i>=0; i--) { int tmp = pre>>i&1; if(trie[p].next[tmp^1]) { ret |= 1<

 

转载于:https://www.cnblogs.com/yohaha/p/5084908.html

你可能感兴趣的文章
lua之base64加密和解密算法。
查看>>
tomcat错误信息解决方案 严重:StandardServer.await:
查看>>
下载网页流
查看>>
html img图片等比例缩放
查看>>
03 方法
查看>>
树形数据查询示例
查看>>
登录成功后,跳转到登录前的页面
查看>>
SQLServer函数 left()、charindex()、stuff()的使用
查看>>
VBS 映射远程电脑磁盘
查看>>
ajax控件无法使用 iis配置及web修改
查看>>
plsql通过instantclient连接oracle数据库报连接超时
查看>>
亿级SQL Server运维的最佳实践PPT分享
查看>>
快速理解高性能HTTP服务端的负载均衡技术原理(转)
查看>>
BZOJ 3038: 上帝造题的七分钟2
查看>>
BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
查看>>
MapReduce详解及shuffle阶段
查看>>
css可视化格式模式
查看>>
HDU1257最少拦截系统
查看>>
[bzoj3273]liars
查看>>
Graph_Master(连通分量_B_Trajan+完全图)
查看>>