码迷,mamicode.com
首页 > 其他好文 > 详细

线性基

时间:2021-02-25 11:48:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:个数   --   lan   集合   相等   bre   continue   for   数列   

线性基,给定一个数列,需要我们求出一个集合,要求对于每一个数列中的元素,都可以在集合中找到一些元素异或起来与其相等,并且要求集合元素最少。

代码出奇的简单好懂……

for(int i = 1;i <= m;i ++) {
		ll t = a[i];
		for(int j = 50;j >= 0;j --) {
			if(!(t>>j&1)) continue;
			if(b[j]) t ^= b[j];
			else {b[j] = t,ans ++;break;}
		}
	}

其中a是给定数列,b是所求线性基。

线性基

标签:个数   --   lan   集合   相等   bre   continue   for   数列   

原文地址:https://www.cnblogs.com/nao-nao/p/14441814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!