【CodeForces】925 C.Big Secret 异或】的更多相关文章

[题目]C.Big Secret [题意]给定数组b,求重排列b数组使其前缀异或和数组a单调递增.\(n \leq 10^5,1 \leq b_i \leq 2^{60}\). [算法]异或 为了拆位分析,先考虑一个简单的问题:已知一个合法b数组和一个数字"1",求数字"1"是否能插入? 容易发现,"1"插入的位置必须满足前面的数字中有偶数个奇数(可以是0个),因为这样前缀和才能比上一位多1,满足要求. 进一步的,已知一个有y个奇数的合法b数组和…
题意: 给你n个数,b[1],b[2],b[3].......,让你重新排列,使a[i]的值递增 a[i]和b的关系: a[i] = b[1]^b[2]^b[3]^....^b[i]; 首先说异或  因为是递增,所以1^0  0^0  1^1都不满足条件 只有0^1满足条件 1^0 == 1   相当于没有增长 0^1 == 1  这才相当于增长了1 再看   a=00 01 01 10 b=00 10 11 10 这两个二进制数a,b进行异或 对于第一位  大家都等于0  异或出来相当于没变…
https://codeforces.com/contest/1113/problem/C 题意 一个n个数字的数组a[],求有多少对l,r满足\(sum[l,mid]=sum[mid+1,r]\),sum为异或和(n<=3e5,a[i]<=2^20) 题解 异或和为零的区间可以分成任意两个区间(这两个区间的异或和相等) 定义dp[i][j]为异或和为i,下标为j(只记录奇偶)的前缀个数 枚举r,然后累加l 代码 #include<bits/stdc++.h> #define M…
题意:给你\(n\)堆石子玩尼姆博弈,每堆石子可以是\(a_i\)也可以是\(b_i\),选择概率相等且每堆选择相互独立,求先手必胜(异或不为0)的概率 首先需要找出一种优雅的策略表示方法(利用异或的思想) 我们需要处理的是\(c_i=a_i \ xor \ b_i\)的线性基,然后用\(S\)代表\(a_i\)的整体异或,那么\(S \ xor \\)(\(c_i\)的任意组合)即可表示原问题的选择策略 那么原问题首先转换为\(c_i\)是否可以凑出\(S\) 剩下的我在代码中已经注释 PS.…
题意 给一个长度为\(n\)的位数为\(k\)的整数数列\(a\),一次操作可将任意\(a_i\)取反,问经过任意次操作后最多有多少个区间异或和不为\(0\) 分析 求出前缀异或和,区间异或和为\(0​\)的区间数转化为求有多少对前缀异或和相等,然后用总区间数减一下, 对一个\(a_i​\)取反等同于对这个位置的前缀异或和取反,所以每个位置的前缀异或和有两种,贪心取当前值出现次数最小的一种, 总区间数为\(n*(n+1)/2​\) ,对于每个非\(0​\)数字减去\(C(x,2)​\),\(x​…
题目链接 这道题比赛的时候没做出来,赛后补题的时候发现其实可以构造一个前缀异或和数组,然后根据初始化的第一个值进行填数,但是作为菜鸡的我虽然坚信自己的想法是正确的却想了很久也没有能够构造出来所谓的前缀异或和数组.唉,嘤嘤嘤 本题思路:我们可以根据这个构造一个前缀异或和数组,由ans[ i ] ^ ans[ i - 1 ]就可以得到数组里第i个元素的值. 如何构造这个前缀数组呢,我们暂时把我们构造的前缀数组叫做b,最后输出的答案数组称作a,那么我们可以知道,a [ l ] ^ a[l + 1] ^…
题目链接:https://codeforces.com/contest/1263/problem/D 题意:有n个小写字符串代表n个密码,加入存在两个密码有共同的字母,那么说这两个密码可以认为是同一个集合,可以互相破解,先求有多少个不同集合的密码 思路:简单的并查集.首先一共有26个字母,对于每个密码,我们合并其所涵盖的字母,例如密码1:abcd,那么abcd合并起来,含有abcd的任意密码都同属于一个集合,所有我们把n个密码串先做一次合并.最终再扫一遍所有的密码串,用set维护集合的个数,最终…
题面传送门 题意: 你有一个可重集 \(S=\{a_1,a_2,\dots,a_n\}\),你要把它划分成两个可重集 \(S_1,S_2\) 使得 \(S\) 中每个元素都恰好属于 \(S_1\) 与 \(S_2\) 之一. 记 \(X_1\) 为 \(S_1\) 中所有元素的异或和,\(X_2\) 为 \(S_2\) 中所有元素的异或和. 最大化 \(X_1+X_2\),如果有多种分配方案,再最小化 \(X_1\). \(n \in [1,10^5],a_i \in [1,10^{18}]\)…
Secret Combination Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 496B Description You got a box with a combination lock. The lock has a display showing n digits. There are two buttons…
题目连接:http://codeforces.com/contest/757/problem/D D. Felicity's Big Secret Revealed time limit per test 4 seconds memory limit per test 512 megabytes input standard input output standard output The gym leaders were fascinated by the evolutions which t…