【P2447 [SDOI2010]外星千足虫】 题解
题目链接:https://www.luogu.org/problemnew/show/P2447
dalao们都说简单...解异或方程组
可我不是dalao qwq
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <iostream>
#include <bitset>
using namespace std;
const int maxn = ;
const double eps = 1e-;
char s[maxn];
bitset<maxn> A[maxn];
int n, m, ans[maxn], flag;
bool check;
int main()
{
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]-'';
int p;
scanf("%d",&p);
A[i][n+] = p;
}
for(int i = ; i <= n; i++)
{
int p = i;
while(p < m+ && !A[p][i]) p++;
if(p == m+)
{
printf("Cannot Determine\n");
return ;
}
else flag = max(flag, p);
if(i != p) swap(A[i],A[p]);
for(int j = i + ; j <= m; j++)
if(A[j][i]) A[j]^=A[i];
}
ans[n] = A[n][n+];
for(int i = n - ; i >= ; i--)
{
ans[i] = A[i][n+];
for(int j = i + ; j <= n; j++)
ans[i] ^= ans[j] * A[i][j];
}
printf("%d\n",flag);
for(int i = ; i <= n; i++)
{
if(ans[i] == ) printf("Earth\n");
if(ans[i] == ) printf("?y7M#\n");
}
return ;
}
【P2447 [SDOI2010]外星千足虫】 题解的更多相关文章
- P2447 [SDOI2010]外星千足虫 (高斯消元)
题目 P2447 [SDOI2010]外星千足虫 解析 sol写到自闭,用文字描述描述了半个小时没描述出来,果然还是要好好学语文 用高斯消元求解异或方程组. 因为 \(奇数\bigoplus奇数=偶数 ...
- 洛谷 P2447 [SDOI2010]外星千足虫
P2447 [SDOI2010]外星千足虫 题目描述 公元2089年6月4日,在经历了17年零3个月的漫长旅行后,“格纳格鲁一号”载人火箭返回舱终于安全着陆.此枚火箭由美国国家航空航天局(NASA)研 ...
- 【题解】Luogu P2447 [SDOI2010]外星千足虫
原题传送门 根据题意,题目给的每个操作就相当于异或上选中的那几只虫子的足数(mod 2)等于0/1 这是一个异或方程组,珂以用高斯消元解出每个虫子的足数(mod 2).所需最小次数或判断有多解 但是看 ...
- [SDOI2010]外星千足虫 题解 高斯消元+bitset简介
高斯消元 + bitset 简介: 高斯消元其实就是以加减消元为核心求唯一解.这道题还是比较裸的,可以快速判断出来.我们将每一只虫子看作一个未知数,这样根据它给出的 m 组方程我们可以高斯消元得出每一 ...
- [洛谷P2447][SDOI2010]外星千足虫
题目大意:有$n$个数,每个数为$0$或$1$,给你其中一些关系,一个关系形如其中几个数的异或和是多少,问最少知道前几个关系就可以得出每个数是什么,并输出每个数 题解:异或方程组,和高斯消元差不多,就 ...
- Luogu P2447 [SDOI2010]外星千足虫
题意 给定 \(n\) 个变量和 \(m\) 个异或方程,求最少需要多少个才能确定每个变量的解. \(\texttt{Data Range:}1\leq n\leq 10^3,1\leq m\leq ...
- 洛谷P2447 [SDOI2010]外星千足虫(异或方程组)
题意 题目链接 Sol 异或高斯消元的板子题. bitset优化一下,复杂度\(O(\frac{nm}{32})\) 找最优解可以考虑高斯消元的过程,因为异或的特殊性质,每次向下找的时候找到第一个1然 ...
- 洛咕 P2447 [SDOI2010]外星千足虫
一开始以为是异或高斯消元,实际上是简单线性基. 直接往线性基里插入,直到线性基满了就解出来了. // luogu-judger-enable-o2 #include<bits/stdc++.h& ...
- P2447 [SDOI2010]外星千足虫
怎么说呢? 因为是在mod 2 意义下的吗(一般是遇到二就可能是位运行算或二分图) 就可以利用异或计算. 因为奇数和偶数在二进制上就用判断最后一位就可以了 然后因为异或符合交换律和结合律 直接消元就可 ...
随机推荐
- java多线程之join方法使用
看这篇博客:http://www.cnblogs.com/skywang12345/p/3479275.html
- VS2010中VC++目录和C/C++之间的区别。VC++ Directories和C/C++的区别。
首先,这是个历史遗留问题,说起来比较复杂.其次,这个问题在微软的MSDN博客上已经专门被说起过了,英文好的请直接移步到原文:<VC++ Directories>.另外,stack over ...
- 使用setInterval函数改变网页背景的颜色
var icolor=0; var iNum=256; var iID=setInterval(setbgColor, 500); function setbgColor() { body.backg ...
- MyEclipse 中tomcat 调试时进入未打断点的代码
在preferences里面取消挂起未捕获异常
- Linux自有服务
Linux自有服务 Linux自带的功能:运行模式.用户和用户组管理.网络配置.ssh服务 1.运行模式 Linux下的初始化进程:init,进程id为1 该进程的配置文件:/etc/inittab ...
- PHP连接MySQL数据库的几种方式
PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口. PDO (PHP Data Objects ...
- dpkg 打包root权限app
dpkg 安装Macports 下载对应系统的Macports安装时间会比较久,安装完毕后放在了/opt/local/bin 目录下 安装dpkg 打开终端,输入 sudo port -f insta ...
- 任务四:CSS定位和居中问题
任务目标 实践HTML/CSS布局方式 深入了解position等CSS属性 任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 ...
- Mirco F-measure and Macro F-measure
- Java Web 常用在线api汇总(不定时更新)
1.Hibernate API Documentation (3.2.2.ga) http://www.hibernate.org/hib_docs/v3/api/ 2.Spring Framewor ...