BZOJ 1923: [Sdoi2010]外星千足虫 [高斯消元XOR]
1923: [Sdoi2010]外星千足虫
对于 100%的数据,满足 N≤1,000,M≤2,000。
裸高斯消元解异或方程组
给定方程顺序要求用从上到下最少的方程,那么找主元时记录一下最远找到哪个方程系数不为0就行了
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <bitset>
using namespace std;
const int N=,M=;
int n,m,ans,t;
bitset<N> a[M];
char s[N];
void Gauss(){
int now=;
for(int i=;i<=n;i++){
int j=now;
while(j<=m&&!a[j][i]) j++;
if(j==m+){ans=-;break;}
else ans=max(ans,j);
swap(a[now],a[j]);
for(int k=;k<=m;k++)
if(k!=now&&a[k][i]) a[k]^=a[now];
now++;
}
}
int main(){
freopen("in","r",stdin);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++){
scanf("%s",s+);
for(int j=;j<=n;j++) a[i][j]=s[j]-'';
scanf("%d",&t);
a[i][n+]=t;
}
Gauss();
if(ans==-) puts("Cannot Determine");
else{
printf("%d\n",ans);
for(int i=;i<=n;i++){
if(a[i][n+]) puts("?y7M#");
else puts("Earth");
}
}
}
BZOJ 1923: [Sdoi2010]外星千足虫 [高斯消元XOR]的更多相关文章
- BZOJ.1923.[SDOI2010]外星千足虫(高斯消元 异或方程组 bitset)
题目链接 m个方程,n个未知量,求解异或方程组. 复杂度比较高,需要借助bitset压位. 感觉自己以前写的(异或)高斯消元是假的..而且黄学长的写法都不需要回代. //1100kb 324ms #i ...
- BZOJ 1923: [Sdoi2010]外星千足虫 高斯消元+bitset
高斯消元求解异或方程组,可以多学一下 $bitset$ 在位运算中的各种神奇操作. #include <cstdio> #include <bitset> #define N ...
- 【BZOJ-1923】外星千足虫 高斯消元 + xor方程组
1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 766 Solved: 485[Submit][Status ...
- P2447 [SDOI2010]外星千足虫 (高斯消元)
题目 P2447 [SDOI2010]外星千足虫 解析 sol写到自闭,用文字描述描述了半个小时没描述出来,果然还是要好好学语文 用高斯消元求解异或方程组. 因为 \(奇数\bigoplus奇数=偶数 ...
- 【BZOJ1923】[Sdoi2010]外星千足虫 高斯消元
[BZOJ1923][Sdoi2010]外星千足虫 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果.每行 ...
- BZOJ1923:[SDOI2010]外星千足虫(高斯消元)
Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果.每行 包含一个“01”串和一个数字,用一个空格隔开.“01 ...
- Luogu P2447 [SDOI2010]外星千足虫 高斯消元
链接 给出的条件是异或类型的方程,可以直接用bitset优化高斯消元. 至于求K,在高斯消元时记录用到的最大的方程的编号即可. 代码: // luogu-judger-enable-o2 #inclu ...
- bzoj 1923 [Sdoi2010]外星千足虫(高斯消元+bitset)
1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 634 Solved: 397[Submit][Status ...
- bzoj 1923: [Sdoi2010]外星千足虫【高斯消元】
裸的异或高斯消元 #include<iostream> #include<cstdio> using namespace std; const int N=2005; int ...
随机推荐
- HDU--2115
I Love This Game Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 织梦dedecms如何去除版权中的Power by DedeCms
很多站长在使用dedecms建站过程中,很多人都会调用到dedecms自带的powerby标签,这样在版权信息中就会多出Power by DedeCms这个连接.今天教大家如何去除. 工具/原料 de ...
- Effective Java 第三版——27. 消除非检查警告
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- webpack模块机制浅析【一】
webpack模块机制浅析[一] 今天看了看webpack打包后的代码,所以就去分析了下代码的运行机制. 下面这段代码是webpack打包后的最基本的形式,可以说是[骨架] (function(roo ...
- bootstrap 响应式图片自适应图片大小
<img src="..." class="img-responsive center-block" > 或者 $(window).load(fun ...
- linux_NFS
NFS是什么? 网络文件系统,又叫共享存储,通过网络连接让不同主机之间实现共享存储. 应用于存放图片.附件.视频等用户上传文件 相关同类应用:大型网站nfs有压力,使用moosefs(mfs),Ghu ...
- linkinFrame--测试项目添加git管理
OK,前面一篇博客,已经搭建好了项目的基础的结构.现在我们添加一个简单的servlet来测试下项目能不能跑,然后在讲项目添加到coding上用git管理. 1,我们编写一个servlet,编写一个js ...
- Oracl Over函数
Oracl Over函数 简介 在介绍Over之前, 必须提到开窗函数, 与 聚 合函数一样, 开窗函数也是对行集组进行聚合计算, 但是它不像普通聚合函数那样每组只返回一个值, 开窗函数可以为每组返回 ...
- 【转】布同:如何循序渐进学习Python语言
大家都知道Python语言是一种新兴的编程语言.1989年,Python就由Guido van Rossum发明.Python一直发展态势很好. 原因有几点:1.跨平台性好.Linux.Windows ...
- grep使用技巧一:模式pattern为字符串文件
pattern文件: antc areq bdos bogt …… igs.txt文件: abmf 298.4725 16.2623 abpo 47.2292 -19 ...