首页 > 其他分享 >线性基

线性基

时间:2023-08-09 10:46:06浏览次数:31  
标签:int res -- 异或 即可 线性

背个板子即可。以下是前缀线性基。

struct xor_set {
	int a[32];	
	inline void add (long long val) {
		for (int i = 31; i >= 0; i --) {
			if (! (val & (1ll << i))) continue ;
			if (a[i]) val ^= a[i];
			else { a[i] = val; break ; }
		}
	}
	inline int query (int x) {
		int res = x;
		for (int i = 31; i >= 0; i --)
			if((res ^ a[i]) > res) res ^= a[i];
		return res;
	}
	inline void merge (xor_set v) {
		for (int i = 31; i >= 0; i --) add(v.a[i]);
	}
}

支持的是插入,查询异或最大值,合并,以及每一位异或值是否可以表示出来。

给出一点杂题。

CF1100F Ivan and Burgers

前缀线性基,维护所有位上编号最大的元素即可。

Duff as a Queen 同 [Ynoi2013] 无力回天 NOI2017

总所周知,线性基支持单点修改,老哥合并。所以考虑树状数组套线段树即可,区间修改转差分。

[WC2011] 最大XOR和路径

找到一个 \(1 \to n\) 的路径使得其异或和最大(可以重复经过点边)。

考虑之前 ARC 那个 F,然后走很多次是不算的,所以有如下结论。
一定是 \(1 \to n\) 一条路径选上一堆环。环丢进线性基即可。

标签:int,res,--,异或,即可,线性
From: https://www.cnblogs.com/Custlo/p/17616228.html

相关文章

  • Alex_Wei 的 《线性代数相关》注
    目录0x00行列式0x01定义0x02基本性质0x10高斯消元法0x11算法介绍0x12矩阵求逆0x13求行列式0x20矩阵树定理0x21算法介绍0x22有向图生成树个数0x23边权积的和0x24边权和的和【咕咕咕】0x25例题P6178【模板】Matrix-Tree定理P3317[SDOI2014]重建P4336[SHOI2016]黑......
  • 【线性代数】向量组/矩阵的秩、正交规范化/正交矩阵
    1.向量组的秩极大线性无关组的定义:注意:同一个向量组可能有很多不同的极大线性无关组,但是这些无关组的向量个数一定是一样的。如果一个向量组只包含一个零向量,则它没有极大线性无关组若向量组本身就线性无关,则其极大线性无关组就是其本身。向量组的秩的定义:向量组的极大......
  • 线性表-顺序表的操作(增删查改,扩容,缩容)
    SeqList.h#include<stdio.h>#include<stdlib.h>typedefstructSeqList{ int*data; intsize; intcapacity;}SL;//顺序表的初始化voidSeqListInit(SL*ps);//顺序表的遍历voidSeqListPrint(SL*ps);//释放空间voidSeqDestroy(SL*ps);//缩容voi......
  • 使用EasyX为线性筛创造动画
    更好的阅读体验:http://t.csdn.cn/pvMNR代码如下:#include<iostream>#include<string>#include<graphics.h>usingnamespacestd;#defineBLOCK_WIDTH70#defineSTART_X80#defineSTART_Y60#defineMAX_PER_LINE10#defineTEXT_COLOR_UNCHOOSE......
  • 线性基
    前线性基就相当于向量的基底,且表示的范围与原来表示的范围相同。插入线性基的过程本质上还是高斯消元,如果被消成全是\(0\)就说明这个向量能被其他向量线性表示。模板这里\(a_i\)表示第\(i\)位为\(1\),前面的全是\(0\)。voidin(llx){ for(inti=63;i>=0;i--) i......
  • 网络流与线性规划24题
    先贴个自己的Dinic板子。//最大流constintinf=0x3f3f3f3f3f3f3f3f;structEdge{ intfrom,to,cap; boolori; Edge(intu,intv,intc,boolo){ from=u,to=v,cap=c,ori=o; }};vector<Edge>edges;vector<int>id[10005];intadd_edge(intu,......
  • 线性同余方程
    Part1:前置知识扩展欧几里得算法(不会的点这里)Part2:求解线性同余方程1、定义给定整数\(a,b,m\),求一个整数\(x\)满足\(a*x\equivb\pmodm\),或者给出无解。因为未知数的指数为\(1\),所以我们称之为一次同余方程,也称线性同余方程。2、求解\(a*x\equivb\pmod......
  • 深度学习—线性回归预测销售额
    (深度学习—线性回归预测销售额)前提进行程序训练之前,需已经成功安装好深度学习环境若没有安装环境,可以参考:深度学习环境安装教程,进行环境安装。一、简介机器学习是人工智能的核心,是使计算机具有智能的根本途径。线性回归模型是机器学习中最简单、最基础的一类有监督学习模型......
  • 线性基(异或)
    线性基目录线性基定义:线性相关和线性无关基线性基的维护基本操作在线段树分治中的维护线性基的应用(代码模板在此)分析:代码:注:常用于异或定义:线性相关和线性无关平面向量基本定理:平面上两个不共线向量可以表示出该平面上任意一个向量这个定理可以拓展到n维有了这个,就能轻松理......
  • 线性基
    线性基用于解决异或相关的问题。如何构造线性基?设$p$为线性基的集合。插入一个数$x$时,枚举其最高位$i$,若$p_i$不存在,令$p_i=x$并退出,否则令$x=x:xor:p_x$。voidins(llx){ for(lli=SIZE-1;i>=0;i--) { if(!(x>>i))continue; if(!p......