首页 > 其他分享 >线性基学习笔记

线性基学习笔记

时间:2023-11-27 22:24:51浏览次数:20  
标签:基中 log rebuild 笔记 学习 异或 线性 queryKth

我废话怎么这么多wwwwwwwwwww\(\color{white}地址\)

rebuild

思想就是使满足线性基的条件下,使每一个二进制位只在一个位置上为 1。

可以用高斯消元直接处理出,也可以处理出任意一组线性基后从后往前扫一遍,如果 \(a_i\) 第 \(j\) 位上为 \(1\),则 \(a_i\oplus a_j\to a_i\)。此时如果用一个二进制数表示取线性基中的哪些数异或起来,记作 \(b_S\),则 \(b\) 单调上升。

queryKth(去重)

将一组线性基 rebuild 后的性质很好,所以结果即为 \(b_k\)。

queryRank

二分+queryKth 是 \(O(\log^2 n)\) 的。但是可以考虑类似倍增的东西,rebuild 后从后往前扫一遍,异或之后值不超过 \(x\) 就异或上并加上排名贡献。\(O(\log n)\)。

merge

直接将 \(b\) 中每个往 \(a\) 做一次 insert。

Lemma 1

\(n\) 个数组成大小为 \(s\) 的线性基,组合出 \(2^s\) 个不同的数,每个出现 \(2^{n-s}\) 次。

Proof:考虑在不在线性基中的数中选择一个子集异或和为 \(x\),则在线性基中一定有一种方法组合出异或和 \(x\) ,否则子集中应有一些数会插入线性基。并且只有一种方法,否则不满足线性基条件。则得到为 \(0\) 的异或和后,再使用线性基内的数组合一下就可以得到这 \(2^s\) 个数中的任意一个。

标签:基中,log,rebuild,笔记,学习,异或,线性,queryKth
From: https://www.cnblogs.com/yinhee/p/XXL_yiw_XXJ_jy.html

相关文章

  • spring事务学习
    1,spring方法内部调用亲自测试:同一个类中一个方法(无事务)调用另一个方法(有事务),事务不生效问题同一个类中一个方法(有事务)调用另一个方法(有事务),事务会生效   ......
  • Linux I/O重定向与管道的学习
    学习 Liunx 的 I/O 重定向与管道是理解 Liunx 系统的重要部分,以下是一些学习心得:1. 理解基本概念:在学习 I/O 重定向与管道之前,需要先理解 Liunx 的文件描述符、标准输入输出、文件系统等基本概念。- 文件描述符(File Descriptor):文件描述符是一个非负整数,用于标识打开......
  • 学习Python相关软件的安装
    学习Python相关软件的安装Typora软件的使用它不是国产软件的,它是国外的,官方网站是国外,在国内下载国外的软件,就会出现下载速度慢的问题#1.下载:https://typoraio.cn/这个软件不是免费使用的,虽然收费但是不贵,很好用!#2.这款软件是支持markdown格式的,是目前使用最为频繁......
  • 学习python的计算机基础
    编程与编程语言1.什么是语言? #语言就是人与人之间交流的媒介2.什么是编程语言呢? #就是人与计算机之间交流的媒介常见的编程语言:Python、Java、Go、PHP、C、C++、C#等3.什么是编程? #编程就是写代码编程就是程序员(码农)使用计算机能够读懂的语言把自己的'......
  • offline RL | BCQ:学习 offline dataset 的 π(a|s),直接使用 (s, π(s)) 作为 Q learni
    题目:Off-PolicyDeepReinforcementLearningwithoutExploration,ICLR2019pdf版本:https://arxiv.org/pdf/1812.02900.pdfhtml版本:https://ar5iv.labs.arxiv.org/html/1812.02900GitHub:https://github.com/sfujim/BCQ参考博客:https://zhuanlan.zhihu.com/p/493039753,......
  • 再探欧式筛——一种泛用性更强的欧拉筛法/线性筛法实现
    一、引言欧式筛/欧拉筛法/线性筛法(EulerSieve)是一种能够在\(O(n)\)时间复杂度内,处理\([1,n]\)内质数的方法。其相比埃氏筛/埃拉托斯特尼筛法(EratosthenesSieve)的\(O(n\log\logn)\)时间复杂度,主要的优化在于欧式筛保证了所有正整数\(n\)均只被其最小质因数\({minp}_n......
  • 学习笔记12
    第十四章总结摘要MySQL关系数据库系统MySQL的重要性在Linux机器上安装和运行MySQL使用MySQL在命令模式和批处理模式下使用SQL脚本创建和管理数据库将MySQL与C编程相结合;演将MySQL与PHP集成,通过动态Web页面创建和管理数据库MySQL简介MySQL是一个关系数据库系统。在关系......
  • openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项
    openGauss学习笔记-133openGauss数据库运维-例行维护-日维护检查项133.1检查openGauss状态通过openGauss提供的工具查询数据库和实例状态,确认数据库和实例都处于正常的运行状态,可以对外提供数据服务。检查实例状态gs_check-Uomm-iCheckClusterState检查参数openG......
  • java基础学习:三元运算符,运算符的优先级
    三元运算符介绍:格式:条件表达式?值1:值2;执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果值为false,返回值2代码:packagecom.itheima.operator;publicclassOperator6{publicstaticvoidmain(String[]args){//目标:三元运算符的基本使用do......
  • 基于深度学习网络的烟雾检测算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      基于深度学习网络的烟雾检测算法是一种端到端的检测方法,主要分为基于候选区域的二阶段目标检测器和基于回归的单阶段目标检测器两类。      基于候选区域的二阶段目标检测......