P2447 [SDOI2010]外星千足虫

题意:

有n个未知数
给你一个m行n+1列的式子,对于每行,1到n列为这个n个未知数的系数,第n+1列为该行式子的和mod2,问n个未知数是否有唯一解,并输出,并输出最少需要前k个式子就可以得到唯一解。有多个解输出Cannot Determine

题解:

很明显高斯消元异或方程组,没错这算是个模板题
这个k怎么求?在高斯消元求解异或方程组的过程中是有交换行的,我们只需要在交换行的过程中记录答案就行
复杂度是O(13∗n2∗m)O(\frac{1}{3}*n^2*m)O(31​∗n2∗m)
n<=1e3会超时,所以要用bitset优化

代码:

#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll=1e18;
const int INF_int=0x3f3f3f3f;
inline ll read(){ll s=0,w=1ll;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1ll;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10ll+((ch-'0')*1ll),ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
void rd_test(){#ifdef ONLINE_JUDGE#elsestartTime = clock(); //计时开始freopen("insect.in","r",stdin);#endif
}
void Time_test(){#ifdef ONLINE_JUDGE#elseendTime = clock(); //计时结束printf("\n运行时间为:%lfs\n",(double)(endTime - startTime) / CLOCKS_PER_SEC);#endif
}
const int maxn=3e3+9;
bitset<maxn> a[maxn];
int ret=0;
int equ,var;
int ans=0;
void swap(bitset<maxn> &x,bitset<maxn> &y){bitset<maxn>t=x;x=y;y=t;
}
int Gauss()
{for(int i=1;i<=var;i++){int j=i;while(j<=equ&&!a[j][i])j++;if(j==equ+1){ret++;break;}if(j>ans)ans=j;if(i!=j)swap(a[i],a[j]);for(int j=1;j<=equ;j++)if(i!=j&&a[j][i])a[j]^=a[i];}return ret;//返回的是自由变量
}
int main()
{rd_test();int i, j;//var是变量//equ是式子数 scanf("%d %d",&var,&equ);memset(a, 0, sizeof(a));for (i = 1; i <=equ; i++) {j=1;string s;int x;cin>>s>>x;for(int k=0;k<s.length();k++)a[i][j++]=s[k]-'0';a[i][j++]=x;}int free_num=Gauss();if(!free_num){printf("%d\n",ans);for (i = 1; i <=var; i++) {if(!a[i][var+1])printf("Earth\n");else printf("?y7M#\n");}}else {printf("Cannot Determine\n");}Time_test();return 0;}/*
//5是式子数
//3是变量
5 3
0 1 1 1
1 1 0 1
1 0 1 0
1 1 1 1
0 1 0 1
*/ 

P2447 [SDOI2010]外星千足虫相关推荐

  1. BZOJ 1923: [Sdoi2010]外星千足虫

    1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 921  Solved: 592 [Submit][Stat ...

  2. 线性代数五之高斯消元——[SDOI2010]外星千足虫,[HNOI2013]游走,[HNOI2011]XOR和路径,[hdu 4035]Maze

    多类型高斯消元杂题 [SDOI2010]外星千足虫 description solution code [HNOI2013]游走 description solution code [HNOI2011 ...

  3. [Luogu P2447] [BZOJ 1923] [SDOI2010]外星千足虫

    洛谷传送门 BZOJ传送门 航空航天局(NASA)研制发射,行经火星.金星.土卫六.木卫二.谷神星."张衡星"等232323颗太阳系星球,并最终在小行星"杰森星" ...

  4. [SDOI2010]外星千足虫 题解 高斯消元+bitset简介

    高斯消元 + bitset 简介: 高斯消元其实就是以加减消元为核心求唯一解.这道题还是比较裸的,可以快速判断出来.我们将每一只虫子看作一个未知数,这样根据它给出的 m 组方程我们可以高斯消元得出每一 ...

  5. bzoj1923 [Sdoi2010]外星千足虫 压位+高斯消元

    这个题手动压位非常麻烦,因为对于同一块,后加的数比先加的数小,所以判断最后一位的时候需要定位到最后一块最小的数,而且在找元的时候还不能找到这个位置 注意块的总数每个是30个不要存错, 码: #incl ...

  6. [SDOI 2010]外星千足虫

    Description 题库链接 给出 \(m\) 个 \(n\) 元的 \(0,1\) 方程,即系数非 \(0\) 即 \(1\) ,方程的结果为奇偶性. \(1\leq n\leq 1000,1\ ...

  7. 【BZOJ1923】外星千足虫,高斯消元解xor方程组

    Time:2016.08.29 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 原本以为是高斯消元解取模方程,后来发现这题意不就和异或方程一样吗 [异或(XOR)运算由于与" ...

  8. 【BZOJ2251】[2010Beijing Wc]外星联络 后缀数组

    [BZOJ2251][2010Beijing Wc]外星联络 Description 小 P 在看过电影<超时空接触>(Contact)之后被深深的打动,决心致力于寻 找外星人的事业.于是 ...

  9. 递归——外星密码(洛谷 P1928)

    题目选自洛谷P1928 这道题很明显得用递归来做,我这里给出很清楚的解题思路,供大家参考! 1.初步思路 输入的这个字符串是被多重「压缩」的,所以一重一重地「解压缩」可能会非常非常麻烦(不过应该是可行 ...

最新文章

  1. 根据经纬度获取用户当前位置信息
  2. shardingjdbc每月分表_shardingjdbc分库分表测试
  3. 《全栈性能Jmeter》-4JMeter脚本开发
  4. macos可以升级到指定版本吗_iOS13系统终结版本即将出现,iOS13.5还值得升级吗
  5. python 处理 json 四个函数dumps、loads、dump、load的区别
  6. Linux信号量之内核信号量
  7. python开发中遇到的难题_初学者在Python开发中常见的问题(上)
  8. React 第十二章 React思想
  9. 消防信号二总线有没电压_杭后旗医院消防消防设备电源原理
  10. .NET重要技术思考
  11. 比较贵的计算机配置,什么电脑配置好 几款配置比较豪华的笔记本电脑推荐【图文】...
  12. 『运筹OR帷幄』——60w运筹学|优化理论|人工智能|数据科学的技术原创和交流社区...
  13. php max file uploads,php上传多文件max_file_uploads限制问题
  14. Cloudera Manager Agent 的 Parcel 目录位于可用空间小于 5.0 吉字节 的文件系统上。 /opt/cloudera/parcels(可用:5.0 吉字节 (12.74%)
  15. Python—基础知识之总结(6)
  16. 危险化学品题库及答案
  17. Redis主从复制(薪火相传模式 演示示例)——图解版
  18. SQL Server中的日期和时间:DATEADD()
  19. 四年级上册计算机知识点总结,四年级信息技术册主要知识点整理.doc
  20. Rserver部分配置

热门文章

  1. 加州大学惊现神操作!物理教授用数学论文摆脱400美元交通罚单,却惨被网友大反转.........
  2. 每日一笑 | 坐牢吗?学编程那种~
  3. 你碰到过的最难调试的 Bug 是什么样的?
  4. 四位数码管树莓派c语言,用树莓派和四位数码管模块做一个时钟
  5. a*算法的时间复杂度_数据结构(1)——算法和时间复杂度
  6. linux aemv7,无法在我的Ubuntu machin中安装“xlwings”
  7. 鸿蒙蕴含的哲理,经典别致的人生语录,蕴含哲理,受用一生!
  8. python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...
  9. 存储mysql数据存在特殊字符时处理_SQL数据库对于保存特殊字符的解决办法
  10. c语言prime函数怎么用_C语言 要发就发