A:即求长度为偶数的异或和为0的区间个数,对前缀异或和用桶记录即可。 B:显然如果有解,答案一定不大于2,因为原串是回文串,找到第一个不是回文串的前缀和对其对应后缀切掉并交换即可。无解直接判断是否字母都相同或只有最中间字母不同。然后只需要check是否为1,暴力枚举切割点暴力判断即可。 D:显然枚举 ...
分类:
其他好文 时间:
2019-02-17 20:49:19
阅读次数:
170
题目大意: 给定一棵树,求有多少个联通块满足异或和=k,对于每一个k求答案。 思路: 设$dp_{i,j}$表示联通块深度最小的点为i时,异或和为j时有多少个满足条件。 从儿子转移,FWT优化即可。 cpp / ======================================= Auth ...
分类:
其他好文 时间:
2019-02-10 16:22:18
阅读次数:
199
题目大意: 有一些矿石,每个矿石有一个a和一个b值,要求选出一些矿石,b的和最大且不存在某个矿石子集它们的a的异或和为0. 解题关键:对魔力进行由大到小排序,依次加入线性基,统计即可。 ...
分类:
其他好文 时间:
2019-02-10 09:22:29
阅读次数:
150
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ36.html 题解 按照 $k$ 分类讨论: k=1 : 我们考虑每一位的贡献。若有至少一个数第 $i$ 位为 $1$ ,则对答案的贡献为 $2^i/2$ 。 k=2 : 发现每个异或和的平方为 $\sum ...
分类:
其他好文 时间:
2019-02-08 17:08:20
阅读次数:
185
题面 "题面" 题解 题面意思非常明确:求树上一条链的最大异或和。 我们用倍增的思想。 将这条链分成2部分:x lca , lca y 分别求出这2个部分的线性基,然后合并,再求最大异或和。 所以我们现在只需要考虑如何在树上求一条无需拐弯的链的最大线性基。 考虑倍增。 我们预处理出f[i][j]表示 ...
分类:
其他好文 时间:
2019-02-07 09:28:18
阅读次数:
141
题面 "题面" 题解 首先我们知道nim游戏先手必败当且仅当所有石堆异或和为0,因此我们的目标就是要使对手拿石堆的时候,无论如何都不能使剩下的石堆异或和为0。 对于一个局面,如果我们可以选取一些可以凑出0的石堆留下(因为不能全部拿走,所以这里至少要拿一堆),那么显然就先手必败了。 因此作为先手,我们 ...
分类:
其他好文 时间:
2019-02-07 09:17:34
阅读次数:
176
题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: 仅一行,表示答案。 输入输出样例 输入样例#1: 复制 2 1 1 输出样例#1: 复制 1 输入样例#1: 复制 2 1 1 ...
分类:
其他好文 时间:
2019-02-06 10:46:51
阅读次数:
167
题意: 排队买饭,时间为前一个人和后一个人的异或和,每个人允许其后面B【i】 个人先买到饭,问最少的总用时。 思路: 用dp【i】【j】【k】 表示1~i-1已经买好饭了,第i个人后面买饭情况为j,最后一个打饭的是i+k。 #include <algorithm> #include <iterato ...
分类:
其他好文 时间:
2019-02-02 14:21:58
阅读次数:
174
"传送门" 题意:给定一棵n个点的带权树,结点下标从1开始到N.求树上最长的异或路径.异或路径指的是两个结点之间的路径上的所有边权的异或值的和. 分析:设dis[x]表示根节点到x的路径上所有边权的异或和,则有dis[x]=dis[father(x)]^w[x,father(x)],看到这个式子,~ ...
分类:
其他好文 时间:
2019-01-30 19:54:54
阅读次数:
223
"题目蓝链" Description 给你一个序列,你需要支持以下两个操作: 1. 在序列尾部添加一个整数$x$,序列的长度增加$1$ 2. 询问操作,你需要找到一个位置$p \in [l, r]$,使得:$x \bigoplus a_p \bigoplus a_{p + 1} \bigoplus ...
分类:
其他好文 时间:
2019-01-28 23:10:48
阅读次数:
165