首页 > 其他分享 >线性基

线性基

时间:2023-08-06 19:44:18浏览次数:30  
标签:ll 插入 异或 bigoplus ans 线性

线性基用于解决异或相关的问题。


如何构造线性基?

设 $ p $ 为线性基的集合。

插入一个数 $ x $ 时,枚举其最高位 $ i $ ,若 $ p_i $ 不存在,令 $ p_i = x $ 并退出,否则令 $ x = x : xor : p_x $ 。

void ins(ll x)
{
	for(ll i=SIZE-1;i>=0;i--)
	{
		if(!(x>>i))continue;
		if(!p[i]){p[i]=x;break;}
		x^=p[i];
	}
}

性质 $ 1 $ : 原数列里的任何一个数都可以通过线性基里的数异或表示出来。

性质 $ 2 $ : 线性基没有异或和为 $ 0 $ 的子集。

性质 $ 3 $ : 一个数列的线性基里(可能多个),数的数量一定唯一,且满足性质 $ 1 $ 。


性质 $ 1 $ 显然。

性质 $ 2 $ : 假设存在 $ p_1 \bigoplus p_2 \bigoplus p_3 =0 $ ,则 $ p_1 \bigoplus p_2 = p_3 $ ,故 $ p_3 $ 不会被插入,矛盾。

性质 $ 3 $ : 分类讨论。

$ 1. $ 当所有数都能被插入线性基时,显然成立。

$ 2. $ 若元素 $ x $ 无法插入线性基,则 :

$ ( : 1 : ) $ $ x=0 $ 。肯定无法插入线性基。

$ ( : 2 : ) $ 存在 $ p_a \bigoplus p_b \bigoplus ... \bigoplus p_c =x $ 。就是说插入 $ p_c $ 之后, $ x $ 就必定无法插入了。故 $ x $ 与 $ p_c $ 相排斥,但两者只影响线性基中一位的取值。

综上,性质 $ 3 $ 得证。


查询一个数能否被异或得到

从高位向低位找,若该位为 $ 1 $ 则异或该位的线性基。

由性质 $ 1 $ ,若最后的值为 $ 0 $ ,说明该数能够被表示出来。

bool find(ll x)
{
	for(ll i=SIZE-1;i>=0;i--)
	if(x>>i)x^=p[i];
	return !x;
}

查询异或最大值

按位贪心。若当前答案异或上 $ p_i $ 的值变大,则异或 $ p_i $ 。

ll qmax()
{
	ll ans=0;
	for(ll i=SIZE-1;i>=0;i--)
	ans=max(ans,ans^p[i]);
	return ans;
}

查询异或最小值

答案即线性基中的最小元素。

ll qmin()
{
	if(flag)return 0;//flag表示是否存在0这个数
	for(ll i=0;i<SIZE;i++)
	if(p[i])return p[i];
}

求排名和大小以后会补。

前缀线性基板子 CF1100F

标签:ll,插入,异或,bigoplus,ans,线性
From: https://www.cnblogs.com/SError0819/p/17609827.html

相关文章

  • 6.数据分析(1) --描述性统计量和线性回归(1)
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 凸优化8——线性规划、二次规划
    线性规划以及等价变换中科大-凸优化笔记(lec25)-等价变换_凸优化等价_及时行樂_的博客-CSDN博客二次规划QP 二次约束二次规划QCQP中科大-凸优化笔记(lec26)-二次规划_二次约束二次规划_及时行樂_的博客-CSDN博客引入了lasso回归和岭回归......
  • 算法工程师学习运筹学 笔记二 线性规划
    线性规划 框架图先放在这里图片由知乎@运筹说提供,原文链接:https://zhuanlan.zhihu.com/p/382644742  线性规划模型标准型 标准型如上目标函数求max;约束条件两端用“=”连结;右端常数项非负;所有决策变量非负。(如有决策变量没有约束,则把该变量拆成两个正数变量......
  • 关于回归的线性模型的讨论
    关于回归的线性模型的讨论1.回归线性模型综述这篇文章我们来讨论回归问题。回归问题的目标是在给定D维输入(input)变量x的情况下,预测一个或者多个连续目标(target)变量t的值。典型的回归问题的例子是:多项式曲线拟合问题。多项式是被称为线性回归模型的一......
  • 线性代数
    线性代数前言:最近咕咕咕了好久了,1是因为换了教室,2是因为很多题在做,没时间,3则是因为上了线性代数。目录线性代数前言:矩阵矩阵的基本运算特殊矩阵矩阵运算的应用矩阵加速dp前提:矩阵快速幂加速线性dp广义矩阵运算矩阵应用的一些总结(主要是思路上)高斯消元(矩阵基础上)整数域使用(当然......
  • 非线性混合效应 NLME模型对抗哮喘药物茶碱动力学研究|附代码数据
    茶碱数据文件报告来自抗哮喘药物茶碱动力学研究的数据。给12名受试者口服茶碱,然后在接下来的25小时内在11个时间点测量血清浓度 代码数据******** ) 。head(thdat)复制代码此处,时间是从抽取样品时开始给药的时间(h),浓度是测得的茶碱浓度(mg/L),体重是受试者的体重(kg)。12名受......
  • 【数据结构 | 入门】线性表与链表 (问题引入&实现&算法优化)
    ......
  • 线性方程组数学原理、矩阵原理及矩阵变换本质、机器学习模型参数求解相关原理讨论
    线性方程组数学原理、矩阵原理及矩阵变换本质、机器学习模型参数求解相关原理讨论1.线性方程组0x1:无处不在的线性方程组日常生活或生产实际中经常需要求一些量,用未知数x1,x2,....,xn表示这些量,根据问题的实际情况列出方程组,而最常见的就是线性方程组(当然并不......
  • 【视频】R语言用线性回归预测共享单车的需求和可视化|数据分享
    全文链接:https://tecdat.cn/?p=33350原文出处:拓端数据部落公众号分析师:ShuliWang自行车共享系统是新一代的传统自行车租赁,从会员,租赁到归还的整个过程已经自动化。通过这些系统,用户可以轻松地从特定位置租用自行车,然后在另一个位置返回。目前,全球约有500多个自行车共享计划,其......
  • seaborn的详解-线性关系04
    线性关系可视化许多数据集都有着众多连续变量。数据分析的目的经常就是衡量变量之间的关系,我们之前介绍了可以绘制双变量分布的函数。然而,使用统计模型来估计两个噪声观测组之间的简单关系可能是非常有帮助的。我们在这一章中讨论的函数功能将在线性回归的框架实现。 请注意,seabor......