/** 题目:hdu6121 Build a tree 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6121 题意:n个点标号为0~n-1;节点i的父节点为floor((i-1)/k); 0是根节点。 求这个树的所有节点为根的子树的节点数的异或和。 思路... ...
分类:
其他好文 时间:
2017-08-17 21:23:20
阅读次数:
120
给你n,K,让你构造出一颗n个结点的完全K叉树,求所有结点子树大小的异或和。 先把n号结点到根的路径提取出来单独计算。然后这条路径把每一层分成了左右两部分,每一层的左侧和其上一层的右侧的结点的子树大小相同。 就可以容易计算每种大小的子树个数了。 当K等于1时,要单独讨论,答案为1 xor 2 xor ...
分类:
其他好文 时间:
2017-08-17 00:40:44
阅读次数:
121
http://acm.hdu.edu.cn/showproblem.php?pid=6121 题意:给你一颗完全K叉树,求出每棵子树的节点个数的异或和。 思路: 首先需要了解一些关于完全K叉树或满K叉树的一些知识: 对于每棵子树,只有三种情况: ①是满K叉树 ②不是满K叉树 ③叶子节点 并且非满K叉 ...
分类:
其他好文 时间:
2017-08-17 00:30:39
阅读次数:
170
补题进度:9/13 1001 待填坑 1002(数学推导) 题意 有一个按顺序的n个点的k叉树,问每个点子树个数的异或和是多少(n,k<=1e18) 分析 可以先求出最大的d,满足d以上都是满K叉树,最后一层是一些零散的点 然后枚举每一层,每一层的点分为三种,一种是最下面的孩子深度是d+1,一种是部 ...
分类:
其他好文 时间:
2017-08-16 20:22:42
阅读次数:
148
给定一棵n<=100000个点的带权树,求树上最长的异或和路径。 “求树上最xx路径”“统计树上xx路的方案数”,本来想用点分的,然后想处理出根节点到每个点的亦或路径时如何统计答案避免判重,突然发现:根节点到A的路径亦或根节点到B的路径就是A到B的路径! 于是预处理(用bfs,避免爆栈)出根节点到每 ...
分类:
其他好文 时间:
2017-08-10 10:15:46
阅读次数:
168
【算法】trie树+xor路径 【题解】 套路1:统计从根到每个点的xor路径和,由于xor的自反性,两个点到根的xor路径和异或起来就得到两点间路径和。 然后问题就是找到n个值中异或值最大的两个值,考虑枚举每个数字,对于一个数找到与其异或和最大的数。 套路2:对所有数值二进制建01-trie,对于 ...
分类:
其他好文 时间:
2017-08-09 21:08:48
阅读次数:
132
设c[x]为x到根的xor路径异或和 那么a->b的xor路径异或和为c[a]^c[b] 因为lca(a,b)到根的xor路径异或和被抵消了 所以我们要做的就是dfs一遍求出c[i]然后找到max{c[i]^c[j]} 这个时候我们可以用trie求出答案 ...
分类:
其他好文 时间:
2017-08-07 20:32:47
阅读次数:
152
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5661 题意: 给你一个长度为n的整数序列,询问任意区间的极端异或和。 定义极端异 ...
分类:
其他好文 时间:
2017-08-05 07:31:07
阅读次数:
247
传送门 规则类似与NIM博弈,但是取到最后一颗石子的人输 必败态有两种 异或和不为0且(石子数多余1的堆)数目为0 异或和为0且(石子数多余1的堆)数目大于1 ...
分类:
其他好文 时间:
2017-08-03 16:04:14
阅读次数:
130
先把问题放在后缀数组上考虑 已知两个数组a b,求min(a[i],...,a[j])+(b[i]^b[j])的最大值 套路题 初始每个点都是一个小连通块 把a按从大到小的顺序加入,计算当前加入边作为min的贡献: 每次加入会把两个连通块联通,答案就是两边连通块各出一个数能得到的异或和最大值 我:这 ...
分类:
编程语言 时间:
2017-08-02 11:54:00
阅读次数:
286