102331b bitwise gym xor
ARC133D Range XOR
ARC133D Range XOR 题目链接:【ARC133D】 Range XOR 非常好数位 dp。 思路 根据异或的前缀和,我们可以把式子化成这样。 \[\sum_{i=l}^r\sum_{j=i}^r [s_j\oplus s_{i-1}==v] \]然后先去掉 \(l \leq r\) 的 ......
gym 102452 Constructing Ranches 题解
题目 题意 给定一颗树,每个点有点权。求有多少对点对 \((x,y)\) 满足 \(x<y\) 且以 \(x\) 到 \(y\) 的简单路径上的所有点的点权作为边长,能围成一个凸多边形。 \(1 \leq n \leq 10^5\),\(1 \leq a_i \leq 10^9\)。 思路 遇到这种 ......
gym103415A Math Ball
套路生成函数。 写出答案的式子,设 \(f_i(x)=\sum j^{c_i} x^j\),不难得到答案为: \[[x^W]{1\over 1-x}\prod_{i=1}^n f_i(x) \]考虑求 \(f_i(x)\)。看到指数上有 \(c_i\),想到用斯特林数展开: \[f_i(x)=\su ......
CF1055F Tree and XOR
这道题代码虽然比较短,但花了我整整一天才过,太菜了 这是 CF241B 的加强版,但是有点不同,因为 CF241B 后半部分求前 \(k\) 大的和没法优化了,而这道题能把前面的求第 \(k\) 小时间复杂度优化到单 log ,但是需要注意这道题开 trie 完全开不下,所以肯定没法 trie 上二 ......
题解 Gym 102341B【Bulbasaur】/ SS231107C【爬梯高手】
题解 SS231107C【爬梯高手】 撞原了,好耶!Gym 102341B 顺便把我的变异加强版爆标了!!! problem 有一个 \(n*m\) 个点的有向分层图,共有 \(n\) 层,每层 \(m\) 个点,每条边一定是从第 \(i\) 层连向第 \(i+1\) 层。 定义 \(f(i,j)\ ......
Sum of XOR Functions 题解
题意 给定一个数 \(n\) 和一个包含 \(n\) 个数的序列 \(a\),求出以下式子模 \(998244353\) 的值: \(\sum_{i=1}^{n}\sum_{j=i}^{n} f(i,j)\times (j-i+1)\)。 其中 \(f(i,j)\) 的值为 \(a_{i}\oplu ......
[AGC016D] XOR Replace 题解
题目链接 点击打开链接 题目解法 很有思维难度的一道题 首先考虑简化操作(或者说用一种比较好的方法表示) 假设我们选择交换的位置为 \(x\),不难发现,操作等价于交换 \(sumxor\) 和 \(x\) 于是,有解的条件就好判了,即 \(\{b_i\}\subseteq \{a_i\}\bigc ......
[Codeforces] CF1722G Even-Odd XOR
CF1722G Even-Odd XOR 题意 给定一个正整数 \(n\),请你找出一个长度为 \(n\) 数组 \(a\),满足数组是由互不相同的非负且小于 \(2^{31}\) 的整数组成,并且该数组中奇数项上元素的异或值与偶数项上元素的异或值要相等。 思路 根据异或的交换律,可以发现:奇偶位异 ......
[Gym101194G] Pandaria 题解
[Gym101194G] Pandaria 题解 题目描述 给定一张无向图,边有边权,点有颜色 \(\le 10^6\),每次询问给定 \(x, w\),表示 Mr. Panda 从 \(x\) 出发,可以选定一个颜色 \(c\),使得在不走 \(> w\) 的边的情况下,能到达颜色为 \(c\) ......
[gym102538H] Horrible Cycles
题目链接 考虑把所有点按一定顺序排,使得左部点前面所有右部点恰好是他连向的所有右部点。 定义 \(dp_{i,j}\) 表示前 \(i\) 个点,那么此时一个环会被分出 \(j\) 条链的方案。强制钦定一条链的两边都是右部点。 如果 \(i\) 是一个右部点,他可以选择是否选到环中, \(dp_{i ......
CodeForces 1902F Trees and XOR Queries Again
洛谷传送门 CF 传送门 如果我们能把 \(x \to y\) 路径上的所有点权插入到线性基,那么可以 \(O(\log V)\) 查询。 但是因为线性基合并只能 \(O(\log^2 V)\)(把一个线性基的所有元素插入到另一个),所以只能倍增做 \(O((n + q) \log n \log^2 ......
F Trees and XOR Queries Again (树链剖分)
看了知乎一位大佬的文章,用st表优化了查询,在st表中维护线性基 让lognN^2的查询 少了个log加了很多优化的方法 但无济于事 但是这样跑了9000ms 依然没法过 优化了一下线性基的查询方式 从枚举位数变成了类似lowbit的__lg(返回最大的1的位置) 不知道具体怎么算的优化 现在时间大 ......
【题解】CodeForces 1902F Trees and XOR Queries Again
传送门:https://codeforces.com/contest/1902/problem/F 数据结构题,这里讲两种思路。 $ST$ 表思路: 判定“从若干个数中能否取出其中一些,使得异或和为 $x$”的问题,第一时间想到线性基,本题要做的显然就是快速求出询问路径上所有数的线性基。两组数的线性 ......
F. Trees and XOR Queries Again
首先容易想到lca+线性基,\(O(nlognB^2+qlognB^2)\),显然T飞了。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vector> #i ......
【题解】Trees and XOR Queries Again - Codeforces 1902F
https://codeforces.com/contest/1902/problem/F 方法一 可以从树上路径想到轻重链剖分(也可以用其他种类的LCA算法),然后从数的异或表示很容易想到线性基。 然后因为是无修改的,所以可以轻重链剖分+ST表+线性基。具体来说就是: 先进行轻重链剖分。然后把每次 ......
[AGC052B] Tree Edges XOR 题解
题目链接 点击打开链接 题目解法 怎么感觉这场 \(B\) 比 \(C\) 思维量更大 考虑一步很妙的操作:把边权变成点权,以达到简化操作的目的 使每条边的边权为两端点的异或和,手画一下可以发现,操作简化成了交换两端点的点权 我们定义 \(d_{1/2,i}\) 定义为在 \(1/2\) 树上,\( ......
D2. Xor-Subsequence (hard version)
D2. Xor-Subsequence (hard version) It is the hard version of the problem. The only difference is that in this version $a_i \le 10^9$. You are given an ......
D1. Xor-Subsequence (easy version)
D1. Xor-Subsequence (easy version) It is the easy version of the problem. The only difference is that in this version $a_i \le 200$. You are given an ......
简单的文件加密程序(md5xor异或winlinux)
简介 小程序是基于 md5 + password + xor 的组合方式来加密文件。程序支持跨平台(Windows/Linux)。 使用方法: 源文件清单:main.c md5.c md5.h setup.sh 完整代码(main.c): #include <stdio.h> #include <s ......
xor 线性基
void add(int x) { dn(i,60,0) if(x>>i&1) { if(mg[i]) x=x^mg[i]; else { mg[i]=x; break; } } } 线性基的第 \(i\) 位如果有数,那它最高位是 \(2^i\)。 首先这样搞出来的是一个线性基,它有这些性质( 线 ......
cf1415D. XOR-gun(思维)
https://codeforces.com/problemset/problem/1415/D 从高位到低位考虑,需要注意的是我们的最后一个数可能是有后面的数异或来的,需要记录异或了几次(下面会说) 如果当前这一位全都为0,直接下一位 如果当前这一位出现了至少4个1,那么答案为1。 如果只有一个1 ......
Xor Master
感觉这题也没那么难阿,但是就是不会做。 注意到若记 \(g'(x,S)=\min_{T\subseteq S}(x\oplus \operatorname{xor}(T))\),则 \(g(x\oplus y,S)=g(x,S)\oplus g'(y,S)\)。证明这一结论并不困难,但是想到这个对我 ......
Gym - 103119L的另类解法
题意 有一个长为\(n(n<=50)\)的整数序列\(A\),每个数都是随机生成的,并且每个数在\(1-n\)的范围内等概率生成。你的任务是计算有多少长度为\(n\)的排列(值域是\(1-n\))任意位置满足\(p_i<=a_i\),求期望的排列数量 输出要求 答案至少保留标准答案的前九位 解法1 ......
GYM103102/SEERC2020 J One Piece
GYM103102/SEERC2020 J One Piece 这题讲杂题的时候人没讲清楚,下来问做出来的大佬也没说清楚,网上翻半天题解一两句没了,心态炸了都。 题意略过,各位自己去看一遍原题目。 提前约定一些符号:\(\operatorname{dis}(a,b)\) 表示点 \(a,b\) 之间 ......
cf1446C. Xor Tree
https://codeforces.com/problemset/problem/1446/C 断断续续想了挺久的,还发现看错题了。 首先一个显然的结论是不会成环,证明显然。 突破口在于从高位往低位考虑,我们按照最高一位的值分成两类,一类是这一位为0,另一类为1,那么显然在我们不进行任何操作的时候 ......
cf1582F2. Korney Korneevich and XOR (hard version)(暴力优化)
cf1582F2 对于每种数可以维护一个列表v[x],表示到当前位置,最后一个数小于等于x,能够取到的值,对于当前的数ai,我们可以用v[ai]中的值x与ai异或,来更新v[ai+1],v[ai+2]后面的值。 然后就是有两个优化,每次我们更新完后,都对v[a[i]]清空,因为只有两个相同数之间的数 ......
cf1709E. XOR Tree(启发式合并入门)
cf1709E. XOR Tree 贪心是显然的,关键是如何合并两棵子树的信息,可以采用启发式合并。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vecto ......
D. XOR Construction
D. XOR Construction You are given $n-1$ integers $a_1, a_2, \dots, a_{n-1}$. Your task is to construct an array $b_1, b_2, \dots, b_n$ such that: ever ......
Educational Codeforces Round 157 (Rated for Div. 2) D. XOR Construction
原题链接 解读一下题意:给一个长度n-1的数组,让你找到一个长度为n的数组b,并且是0到n-1的全排列,使得bi异或bi+1对于ai。 这道题乍一看没什么思路,但是仔细一想会发现其实考察的就是异或的性质。我们可以发现:如果a异或b等于c,那么abc任意两个异或都能得到另外一个,所以只要初始的b0确定 ......