题意:给一棵树,每条边有一个权值,求满足u到v的路径上的异或和为s的(u,v)点对数思路:计a到b的异或和为f(a,b),则f(a,b)=f(a,root)^f(b,root)。考虑dfs,一边计算当前点到根的f值,用一个数组记录当前遍历过的点中到根的异或值为i的点的个数,那么答案可以O(1)算出来...
分类:
其他好文 时间:
2015-08-21 13:02:42
阅读次数:
148
题意:
在一棵树上有n个点,n-1条边,每条边都有一个权值。
令f(u,v)f(u,v)等于u到v这条路径上的前缀和。
现在给你Q次询问(Q<=10)(Q<=10)
询问f(u,v)=sf(u,v)=s的路径有多少条。
解析:
由于Q比较小可以直接利用O(n)复杂度的算法来做。
先用sum[u]保存下,从根节点到u的异或和是多少。
用一个hash map来保存,...
分类:
其他好文 时间:
2015-08-20 20:50:54
阅读次数:
216
题目大意:给定一个长度为nn的序列,要求分成mm段,使得每段异或和的或值最小
求出前缀异或和后从大到小按位确定,如果某一位上有至少mm个数是0且第nn个数是0,那么这一位就可以是0,同时将所有是1的数字标记为不可选
时间复杂度O(nlogai)(nloga_i)#include
#include
#include
#include <a...
分类:
其他好文 时间:
2015-08-20 17:04:19
阅读次数:
393
按位考虑,逐步确定答案。设当前是第i位,求出第i位的前缀异或和。若存在m个0且所有数字异或和为0,那么答案的这一位可以为0,并把所有1的位置给标记为不可选。否则答案的这一位只能是1。时间复杂度$O(n\log n)$。#include#define N 500010int n,m,i,j,t,b[N...
分类:
其他好文 时间:
2015-08-19 19:31:33
阅读次数:
378
bzoj3105 新Nim游戏题目大意:给定n堆火柴,第一二次取的时候可以取走任意堆,然后和普通的游戏一样,问怎样取能先手必胜,最小化第一次取的火柴数。思路:第一次取走后,剩下的火柴中不存在一个子集异或和为0(用线性基判断这件事),贪心能取就取,总和减去剩下的就可以了。实现的时候我们是用别的数来异或...
分类:
其他好文 时间:
2015-08-16 19:41:01
阅读次数:
123
bzoj2337 XOR和路径题目大意:无向图中,每个点等概率的选择周围的点走过去,求1~n路径权值(走过边的异或和)的期望。思路:对边权的二进制每一位单独考虑,因为异或后互不影响。设f[i]表示i~n的路径权值为1的概率,对于每一个点列出方程(注意边权为0/1),高斯消元求出答案。#include...
分类:
其他好文 时间:
2015-08-16 18:04:49
阅读次数:
136
通道题意:一棵树,每个节点有一个点值(字符),问u子树的深度为k的所有节点组成的字符串是否为回文思路:搜出dfs序及该节点的深度,那么u节点深度为K的那一段肯定在dfs序[l,r]区间内,然后对于回文的处理,要么这段异或和为0,要么lowbit(x)=x代码:#include using names...
分类:
其他好文 时间:
2015-08-14 15:04:05
阅读次数:
109
标题效果:鉴于无向图。右侧的每个边缘,求一个1至n路径,右上路径值XOR和最大首先,一个XOR并能为一个路径1至n简单的路径和一些简单的XOR和环我们开始DFS获得随机的1至n简单的路径和绘图环所有线性无关(两个或多个环异或得到)然后在一些数中选出一个子集。使它们与一个给定的数的异或和最大,这就是高...
分类:
其他好文 时间:
2015-07-28 12:49:46
阅读次数:
101
题意:
给出一个长度为n的初始序列,和m次操作;
A操作:在序列后面加入一个数;
Q操作:给出一段区间[l,r]和一个数x,求区间中的p使p的后缀异或和与x的异或值最大;
n,m
题解:
可持久化数据结构(2/4)进行中... ...
先做一个转化,因为是在序列后面加数,维护后缀和并不容易;
但是由于异或性质可以转化成前缀和的问题;
也就是在区间中选一个数,使其与另一...
分类:
其他好文 时间:
2015-07-25 18:35:02
阅读次数:
160