首页 > 其他分享 >省选模拟赛 3.4

省选模拟赛 3.4

时间:2023-03-06 12:55:24浏览次数:46  
标签:typedef ch 省选 ret int 3.4 out 模拟 define

A

注意到 \(a[i]\) 可以异或上任意多次 \(a[1 \to i - 1]\),于是 求出 \(1\to i - 1\) 的线性基 \(V\),能变成数的个数是 \(2^{|V|}\)。

评测记录

// Sparkle
#include <bits/stdc++.h>
#include <assert.h>
using namespace std;
typedef long long ll;
typedef double db;
#define ep emplace_back
#define pii pair<int,int>
#define fi first
#define se second
#define mp make_pair
#define fout freopen("out.out","w",stdout);
#define fin freopen("in.in","r",stdin);
#define dd(x) cerr << #x" = " << x << endl;
inline int read() {
	int x=0, v=1,ch=getchar();
	while('0'>ch||ch>'9') {
		if(ch=='-') v=0;
		ch=getchar();
	}while('0'<=ch&&ch<='9') {
		x=(x*10)+(ch^'0');
		ch=getchar();
	}return v?x:-x;
}
const int P = 998244353;
int n, p[35], sz;
void ins(int x) {
	for(int i = 30; i >= 0; -- i) {
		if(x >> i & 1) {
			if(p[i]) {
				x ^= p[i];
			}else {
				p[i] = x;
				++ sz;
				return;	
			}
		}
	}
}
int qpow(int x,int p) {
	int ret = 1;
	for(;p;p>>=1,x=1ll*x*x%P)if(p&1)ret=1ll*ret*x%P;
	return ret;
}
signed main() {
 	n = read();
	int ans = 1;
 	for(int i = 1; i <= n; ++ i) {
 		int x = read();
		ans = 1ll * ans * qpow(2, sz) % P;
		ins(x);
	}
	cout << ans;
	return 0;
}

标签:typedef,ch,省选,ret,int,3.4,out,模拟,define
From: https://www.cnblogs.com/Lates/p/17179977.html

相关文章

  • 基于纳维斯托克斯方程的流体模拟器 FluidS
    源码下载gitclonehttps://github.com/george-chou/QPoisson.gitDemo视频原理浅讲编译教程C++版Qt项目动态及静态编译统一教程......
  • 2023.02.17 模拟赛小结
    2023.02.17模拟赛小结目录2023.02.17模拟赛小结更好的阅读体验戳此进入赛时思路T1CodeT2CodeT3Code正解T1CodeT2UPD更好的阅读体验戳此进入赛时思路T1有一道类似的......
  • 2023.02.21 模拟赛小结
    2023.02.21模拟赛小结目录2023.02.21模拟赛小结更好的阅读体验戳此进入赛时思路T1CodeT2CodeT3CodeT4Code正解T1CodeT2CodeT3T4UPD更好的阅读体验戳此进入赛时思路T1......
  • day04(2023.3.4)
    1.类型自动转换2.强制转换已及强制转换会出现的问题 3.键盘输入 4.台球小项目  台球小项目运行截图: 5.台球所用的素材:  写了个小小的台球游戏,还......
  • K8S CKA 1.26 模拟环境 实验环境(一键导入) Kubernetest v1.26题库
    K8SCKA1.26考试环境,按照CKA最新原题搭建的,模拟环境已集成考题,可直接模拟练习,做题实操。资料包含:2023年3月最新题库+答案解析+考试笔记+模拟环境+技术支持+在线辅导答疑......
  • Momiria:基于计算机程序模拟的疫情传播实验
    基于计算机程序模拟的疫情传播实验 Momiria​摘要:通过设计计算机程序模拟疫情传播机理,通过调控参数进行对比试验、并对实验数据进行函数拟合、数学建模,由此总结出......
  • 周一英语链编程感受(3.4)
    其实关于英语链的这些内容一开始想的有些过于简单了本来以为可能会和c++上的那些类似,后来在实际编程的过程中发现还是自己想简单了,以至于操作过程中出现了很多的问题最后......
  • 3.4每日总结
    今天顺着菜鸟教程学一点,相对布局部分。margin和padding的区别margin代表的是偏移,比如marginleft="5dp"表示组件离容器左边缘偏移5dp;padding代表的则是填充,而填充的......
  • 2023.3.4 NOI春季赛游记
    2023.3.3Day-1本来想着去机房试试小黑屋的Linux顺便敲点板子然后正好因为腿疼拿到了体活课的假条就直接体活+自习+晚自习一起翘掉去机房了晚上6点他们去吃饭我下楼......
  • 跨屏建站平台2023.3.4发布更新,启用了新logo
    跨屏建站平台2023.3.4发布更新,启用了新logo,网站整体风格布局进行了比较大的调整,走的是极简设计风格,最大的变化是网站变得更加简洁了,网站采用极简设计的好处很多,不仅耐看,而......