ICode9

精准搜索请尝试: 精确搜索
  • 【题解】P5283 [十二省联考 2019] 异或粽子(字典树 Trie,优先队列)2022-06-22 15:06:03

    【题解】P5283 [十二省联考 2019] 异或粽子 很好的优先队列+可持久化字典树练手题! 题目链接 P5283 [十二省联考 2019] 异或粽子 - 洛谷 题意概述 给定长度为 \(n\) 的序列 \(a_i\)。一个区间 \([l,r](1 \le l \le r \le n)\) 的价值为从 \(a_l\) 到 \(a_r\) 之间的每个数字进行的

  • AcWing 256. 最大异或和 & AcWing 255. 第K小数-主席树2022-06-22 00:01:20

    可持久化,有亿点点难 明天来补思路 #include<bits/stdc++.h> using namespace std; #define int long long #define fr first #define se second typedef pair<int,int> PII; typedef unsigned long long ULL; const int INF = 0X3f3f3f3f,N = 6e5+10,MOD = 1e9+10; int s

  • 面试题 16.01. 交换数字-----位运算2022-06-21 10:01:26

    题目表述 编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。 示例: 输入: numbers = [1,2] 输出: [2,1] 位运算 nums[0]存放两数异或的结果 nums[1]1位置数异或两次为0,故只剩0位置数 nums[0]0位置数异或两次为0,故只剩1位置数 class Solution { public i

  • 【计算机组成原理】加减运算和溢出判断2022-06-19 14:33:56

    溢出情况 溢出知乎发生在同符号位置的加法运算:例如: (-123)+(-123) 发生溢出 123+123  发生溢出 原码加运算        原码减运算   加法溢出 减法运算可以转成加法运算。 公式 :正+正=负数 说明溢出             负+负=正数 说明溢出 减法会被转化成加法 设机器字

  • 2022-6-19 #1 CF1270I & CF1637H2022-06-19 14:03:58

    每天都要能选出至少三道有意义的题,这样才算没有摆。 本地记录的话容易鸽掉,就放博客上了。(我博客是不是没啥人看啊) 001 CF1270I Xor on Figures 我们定义两个矩阵 \(A,B\) 的异或卷积 \(C\) 为: \[C_{a,b}=\oplus_{(u+i)\bmod 2^k=a}\oplus_{(v+j)\bmod 2^k=b}A_{u,v}B_{i,j} \]我们

  • 位运算2022-06-17 22:02:16

      |=  按位或运算,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

  • # NC20860 兔子的区间密码2022-06-17 00:01:50

    NC20860 兔子的区间密码 题目 题目描述 有一只可爱的兔子被困在了密室了,密室里有两个数字,还有一行字: 只有解开密码,才能够出去。 可爱的兔子摸索了好久,发现密室里的两个数字是表示的是一个区间 \([L,R]\) 而密码是这个区间中任意选择两个(可以相同的)整数后异或的最大值。 比如给了

  • js中字符串的异或2022-06-16 22:02:36

    'a'^'b'=0 'a'^'1'=1 'aa'^'bb'=0 '123'^'abc'=123 由上得出: 字符串异或字符串=0 数字字符串异或字符串=数字字符串 '123'^'23'=108 '123'^23=108 123^23=108 由上得出:数字字符串执行异或操作时,先

  • 位运算2022-06-14 00:00:15

    一、与、或、异或的运算规律 与(&) 0&0=0 1&0=0 0&1=0 1&1=1 或(|) 0|0=0 0|1=1 1|0=1 1|1=1 异或 0^0=0 1^0=1 0^1=1 1^1=0 与,有0值为0 或,有1值为1 异或,相同值为0,不同值为1 二、常见使用方式 取模 公式:x%2^n =x&(2^n–1),x对2的n次方取模,等于x按位与2的n次方-1。

  • 位运算算法2022-06-13 19:33:51

    今天主要想分享的是自己在面试过程中遇见的一道面试题,是一道简单的算法题。 在面试的过程中,我使用了 hash 表来解决的(时间复杂度和空间复杂度都是O(n)),但是面试官不满意,当时也实在没想到别的解法。 后来在慢慢的使用位运算的过程中,发现通过位运算,可以让时间复杂度为O(n),空间复杂度

  • CF DS题做题笔记(持续更新)2022-06-12 10:34:42

    CF DS题做题笔记(持续更新) 题目来源:Codeforces 的 problemset内,difficulty 2300-2600,并包含“data structures”的 tag。 1681F 题意:给定一棵树,边有边权 \(w_i\),定义 \(f(u,v)\) 为,\(u,v\) 路径上只出现一次的权值个数,求 \(\sum_{1\le u < v \le n} f(u,v)\),\(1 \le n,w_i \le 5 \t

  • 136. 只出现一次的数字(位运算)2022-06-06 00:32:14

    136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4

  • P3908 数列之异或 题解2022-06-04 17:34:18

    题目就是求 \(1 \wedge 2 \wedge 3 ..... \wedge N\) 的值。 我们有一个性质: \(a \wedge (a + 1) \wedge (a + 2) \wedge (a + 3) = 0\) 证明一下: 首先很明显,这四个数的二进制下不同的位数只有最后两位。 \(00, 01, 10, 11\)。 异或完后就是 \(0\)。 int ans = 0; signed mai

  • FWT2022-06-04 11:34:48

    简介 大概是解决形如要求 \(c_i=\sum_{j\bigoplus k=i} A_jB_k\) 这个符号可以是 或,与,异或 整个的流程和 FFT 很像,先正变换成 \(FWT(A),FWT(B)\) ,然后将两者相乘,最后再逆变换 具体的证明和定义和一些繁杂的过程这里就不说了,直接上结论 因为我们是形如 FFT 的分治运算,所

  • Simple, Fast Malicious Multiparty Private Set Intersection-解读2022-06-03 12:03:20

    文本记录阅读该论文的笔记。 这是文章框架,来自视频。 介绍 本文主要解决恶意攻击下安全的多方PSI,主要用到两大技术OPPRF和OKVS,构造合谋和不合谋的协议。 基础知识 OPPRF 这部分在OPRF中有介绍:OPRF PRF 伪随机函数,产生的结果类似于伪随机数。 OPRF 不经意的伪随机函数,在两方

  • 【luogu CF1119H】Triple(FWT)2022-06-03 08:00:20

    Triple 题目链接:luogu CF1119H 题目大意 给你 n 个数组,每个数组有 n 个数,其中有 x 个 ai,y 个 bi,z 个 ci。 x,y,z 是每个数组都一样,而 ai,bi,ci 每个数组不一样。 然后问你对于每个 i,从每个数组中选一个数,它们的异或和是 i 的情况有多少种。 思路 考虑弄一个类似每个数组的生成函数

  • 题解-THUSC2015异或运算2022-05-31 08:32:20

    初一小朋友都做这么♂的题了吗?我记得我初一的时候连背包都不会。 注意观察数据范围,发现 \(n,p\) 都非常小,那么就提示我们直接暴力枚举每一行。第 \(k\) 大考虑二分答案,然后这个异或又提示我们搞 trie。那么我们就可以在 trie 上二分。 思路大概是这样,具体做法如下。 对 \(y_1,y_2

  • UOJ#310-[UNR #2]黎明前的巧克力【FWT】2022-05-31 01:00:07

    1# 正题 题目链接:https://uoj.ac/problem/310 题目大意 给出一个长度为\(n\)的序列,求有多少种方案找出两个集合\(S,T\)使得这两个集合的异或和相等。 \(1\leq n\leq 10^6\) 解题思路 可以转换为找到一个异或和为\(0\)的集合\(S\),产生\(2^{|S|}\)的方案数。 然后考虑\(FWT\),那么

  • 两数交换2022-05-26 19:04:36

    (1)异或  ^  特性: 1. 0 ^ N  = N , N^N =0 2. A ^ N ^ A = N 3. 支持交换律和结合律 4. 记忆方法:二进制按位相加不进位 交换: a = a ^ b b = a ^ b a = a ^ b   (2)加减交换 a = a + b b = a - b a = a - b

  • 线性寄2022-05-21 22:31:35

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

  • raid多级别讲解2022-05-21 21:34:43

      raid全称为Redundant Arrays of Independent Drives,即磁盘冗余阵列。 raid技术是将多块独立的磁盘,组成了一个磁盘组 raid技术意图在于把多个独立的硬盘设备,组成一个容量更大,安全性更高的磁盘阵列组,将数据切位多个区段之后分别存储在不同的物理硬盘上。利用分散读写技术提升磁

  • UOJ #91. 【集训队互测2015】最大异或和2022-05-18 19:32:50

    题目大意 给出一个长为 \(n\) 的序列,要求实现三种操作,分别为区间异或上某数,区间覆盖为某数,和询问全局选出若干个数能获得的最大异或和。所有出现的数均不超过 $ 2^m $,询问数不超过 \(q\)。\(n,m,q\leq 2000\)。 分析题意 观察到询问操作所需的就是维护序列的线性基。注意到对于线

  • [AcWing 891] Nim游戏2022-05-15 18:02:21

    点击查看代码 #include<iostream> using namespace std; int main() { int n; cin >> n; int res = 0; while (n --) { int x; scanf("%d", &x); res ^= x; } if (res) puts("Yes");

  • 线性基学习笔记2022-05-14 18:00:07

    线性基,有很好的的性质且能表示原序列所有异或值的一列数。 https://oi-wiki.org/math/basis/   https://blog.csdn.net/a_forever_dream/article/details/83654397 这篇笔记为了方便,d[i]就对应第i位,可能和其他参考文章不同,不同的以这篇笔记为准,笔记本身也有注释、勘误的作用。 性

  • HDU-1850 Being a Good Boy in Spring Festival2022-05-14 14:33:48

    Being a Good Boy in Spring Festival 尼姆博弈 求出异或和之后,\(sum \oplus num[i]\) 就是除去当前值,其他数字的异或和,为了使整体异或为 0,所以就要让此时的 \(num[i]\) 变成 \(sum \oplus num[i]\),因此,如果 \(num[i] > sum \oplus num[i]\) 则改变这个 \(num[i]\) 可行,等于的时候

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有