首页 > TAG信息列表 > Xor

2022/09

摆烂记录 P5283 选出 \(k\) 个不重复子区间,使得区间异或之和最大。 典中典,首先前缀异或和,转化为 \(p_r \ xor \ p_{l-1}\) 最大。 首先初始时对于每个 \(r\),求出 \(k\),使得 \(p_r \ xor \ p_k\) 最大(\(0\le k<r\))。 做法是 trie 树,每次插入权值在叶子节点记录 \(l\)(任意一个)。

随机乱作 part 1

1. NOI2020 制作菜肴 2. ZJOI2020 抽卡 3. CTSC2018 假面 4. ZJOI2018 历史 5. CF1168E Xor Permutations 6. CF1109E Sasha and a Very Easy Test 7. 联合省选2022 学术社区 8. CF1288F Red-Blue Graph 9. CF798E Mike and code of a permutation 10. CF848D Shake It!

re | [网鼎杯 2020 青龙组]jocker

[网鼎杯 2020 青龙组]jocker 涉及的点: smc xor 主函数没办法直接反编译 直接动调脱smc然后发现是是个异或但是只有19位 出来是这个: 后面几位完全没有验证逻辑,放在了一个函数里头,直接看了wp说要xor 71 无聊。

D2. Xor-Subsequence (hard version)

D2. Xor-Subsequence (hard version) 昨天cf的E题,挺好的一个DP优化问题。 暴力的DP就是设dp[i]表示以i结尾的最长长度。转移时枚举之前的所有j,复杂度O(n^2)。 考虑怎么优化,优化往往都是从转移条件上做文章的,我们考虑当前i的dp值怎么计算, 是所有max(f[j]+1),而且这些j满足\(a_i\)

【luogu CF1710C】XOR Triangle(数位DP)

XOR Triangle 题目链接:luogu CF1710C 题目大意 给你一个数 n,要你求有多少个满足条件的 a,b,c 使得它们两两异或得到的三个值可以得到一个非退化三角形。 其中 a,b,c 值域在 0~n 之间。 思路 考虑要满足三个数任意放要: \(a\oplus b+a\oplus c>b\oplus c\) 然后考虑一下 \(a\oplus b

杭电多校杂题收录

前言 和学长学弟一起打的hdu多校,打的很菜没啥难题收录,因为难的我都不会做。 正题 hdu7152-Copy 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=7152 题目大意 \(n\)个数字的序列\(a\),\(m\)次操作,每次将一段\([l,r]\)复制一份然后插入在这一段的后面,或者求某个位置的值。

CF 1600~1800 思维题泛做

CF 1592C Bakry and Partitioning 给定一棵 \(n\) 个节点,每个节点有点权的树,最多拆成 \(k\) 个连通块,问是否有方案使得所有联通块的异或和相等。 \(n,k \le 10^5,a_i \le 10^9\) \(\color{Blue}{1700}\) 对于异或,存在重要性质 \(x\, \text{xor}\, x = 0\)。 设所有数的异或和

CF1710C-XOR Triangle【dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF1710C 题目大意 求有多少对\(0\leq a,b,c\leq n\)满足\(a\ xor\ b,a\ xor\ c,b\ xor\ c\)作为边长时能构成一个非退化三角形。 n以二进制形式给出 \(1\leq n< 2^{2\times 10^5}\) 解题思路 我们假设\(x=a\ xor\ b,y=a\ xor\ c

P4839 P哥的桶

简要题意 (这道题描述是真的长) 你需要维护一个数据结构,支持单点异或和区间求最大异或和。 思路 对于这种区间问题,最容易想到的就是 分块 线段树。 而对于复杂的异或问题,最容易想到的就是 01 Trie 线性基。 合在一起,就是线段是套线性基。(好像还用了顶针的手法) 线段树套线性基不难写,

CF1710C XOR Triangle

https://www.luogu.com.cn/problem/CF1710C 打表发现一位上 \(a\bigotimes b +b \bigotimes c \ge a \bigotimes c\) 恒成立。 那么前面的位已经满足大于了,当前位怎么填都无所谓。也就是只要有 1 位满足大于就好了。 对 3 个式子分别记录,对 \(a,b,c\) 有无顶上界记录。因为前导零

1015 异或(xor) 结论题

链接:https://ac.nowcoder.com/acm/contest/26656/1015来源:牛客网 题目描述 从前,Apojacsleam家的水族箱里,养了一群热带鱼。 在这几条热带鱼里,Apojacsleam特别喜欢一条叫做TbGx(请勿人肉)的热带鱼,所以每次都让她第一个吃食物。对于每一条鱼,Apojacsleam

LGPP4067口胡

直接计算太困难了,考虑转化。 可以转化为原储能表的和减去原储能表中不大于 \(k\) 的部分,然后减去数量乘上 \(k\) 即可。零次和与一次和可以同时统计。 原储能表的元素和非常好算啊,直接拆位即可,复杂度 \(O(\log n)\)。 我们假设存在一个 \(t\) 满足 \(2^{t-1}<k\leq 2^t\)。 将行列

Xor-MST (最小异或生成树 贪心 01Trie) [2022.7.22]

Xor-MST 题面翻译 给定 \(n\) 个结点的无向完全图。每个点有一个点权为 \(a_i\)。连接 \(i\) 号结点和 \(j\) 号结点的边的边权为 \(a_i\oplus a_j\)。 求这个图的 MST 的权值。 \(1\le n\le 2\times 10^5\),\(0\le a_i< 2^{30}\)。 题目描述 You are given a complete undirecte

G. Xor Tree - 字典树

G. Xor Tree https://codeforces.ml/group/MKpYqfAQQQ/contest/386972/problem/G 题意 给一个数组里面的数都不相同 对于每个数组中的数 找到数组中与之亦或值最小的数 这两个数之间有一条边 求最多删去多少个数 使得最后得到的图是连通图 思路 字典树 处理每个数的二进制数 根据0

【数据结构与算法】原地交换两个整数值

原地交换两个整数值 一般的做法,我们要交换两个整数的值都要定义一个临时变量来存储,那有没有其他的方法可以交换变量的值呢? // 使用临时变量交换两个整型的值 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } 我们知道,异或的运算规则可以简单的描述为: 相同

[LeetCode] 1310. XOR Queries of a Subarray 子数组异或查询

You are given an array arr of positive integers. You are also given the array queries where queries[i] = [lefti, righti]. For each query i compute the XOR of elements from lefti to righti (that is, arr[lefti] XOR arr[lefti + 1] XOR ... XOR ar

codeforces div2 804

t1: 有三个整数a,b,c对于给定的n,满足(a xor b) +(a xor c) +(c xor b) == n 求出a,b,c 题解: 真的不会。。偶数直接0,0,n/2就好了,我想不出奇数的时候怎么办。奇数肯定得不到啊。脑子里分类讨论一下就好了。。。我在那想0 0 k 0 1 k。。。想这么久。   t2: 给定n,m找到一个n * m 的矩形满

位运算

  |=  按位或运算,a|=b : 把a和b按位或然后赋值给a,相当于a=a|b   & 按位与, | 按位或 , ^ 按位异或 AND (位与&) OR ( 位或| ) XOR ( 位异或^ ) 1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0 1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1 0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1 0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0

arc141 B - Increasing Prefix XOR

题意: 给定 \(n,m\),问有多少数组 \(a[]\) 满足: \(1\le a_1< a_2 < \cdots < a_n \le m\) \(b_1<b_2<\cdots <b_n\),其中 \(b[]\) 为前缀异或和即 \(b_i=a_1\oplus a_2\oplus \cdots \oplus a_i\) \(1\le n \le m<2^{60}\) 思路: \(a_i<a_{i+1}

AtCoder Regular Contest 141 - B - Increasing Prefix XOR

原文 Consider the problem in binary. If positive integers \(a\) and \(b\) have the same number of digits, the only case when both \(a<c\) and \(b < b\oplus c\) hold is when \(c\) has more digits than each of \(a\) and \(b\), in which ca

BUUCTF xor

利用ida64打开文件xor,并按F5进行反编译,得到代码 int __cdecl main(int argc, const char **argv, const char **envp) { int i; // [rsp+2Ch] [rbp-124h] char __b[264]; // [rsp+40h] [rbp-110h] BYREF memset(__b, 0, 0x100uLL); printf("Input your flag:\n"); ge

线性寄

定义 线性基是一个数的集合,取线性基中若干个数异或起来可以得到原序列中的任何一个数。 我们设 \(P\) 为线性基的集合,\(a\) 为原数组。 那么 \(a_i\) 都能被若干个 \(P\) 内的元素的异或和表示出来。 用途: 通常可以解决有关异或的一些题目。 线性基的性质: \(P_i\) 的最高位不同。

LeetCode 0136 Single Number

原题传送门 1. 题目描述 2. Solution 1 1、思路分析 使用异或运算,运算法则 1) 归零律: a xor a = 0 2) 恒等律: a xor 0 = a 3) 交换律: a xor b = b xor a 4) 自反率: a xor b xor a = b 由1)、2) ,令res初始时为0,遍历nums,工作变量为num,res与所有的num进行异或运算。 2、代码实现

BUU MRCTF2020]Xor

   直接打开main函数是不行的,看到网上的教程说是把那main下面的地址函数反编译成c就可以再去反编译main函数。 具体操作就是先反编译401020那个push函数,    然后再回去反编译main函数是可以正常打开的    分析一下这个也是一个个进行异或运算,将异或的字符与下面的进行比

BUUCTF_Re_[MRCTF2020]Xor

32位,无壳 IDA解析的时候.给了个奇怪的提示,没怎么注意,好像是pdb的问题 然后我的  IDA就不能反汇编了  那就 手撸    发现两个异或 第一个异或找不到什么东东 但是第二个函数     这个黄标函数里面有一串字符串        还有个M 'MSAWB~FXZ:J:`tQJ"N@ bpdd}8g' 然后