题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1923

  懒得贴题目了......这就是解一个异或方程组的裸题......

  YY了一下异或方程就没毛病了!

  感受了一下bitset的力量噢噢噢!!!!!!

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cstdlib>
  5. #include<algorithm>
  6. #include<cmath>
  7. #include<queue>
  8. #include<set>
  9. #include<map>
  10. #include<vector>
  11. #include<cctype>
  12. #include<bitset>
  13. using namespace std;
  14. const int maxn=;
  15. const int maxm=;
  16.  
  17. int N,M;
  18. bool b[maxm],x[maxm];
  19. char s[maxn];
  20. bitset<maxn>a[maxm];
  21.  
  22. void data_in()
  23. {
  24. scanf("%d%d",&N,&M);
  25. for(int i=;i<=M;i++){
  26. scanf("%s",s+);
  27. for(int j=;j<=N;j++) a[i][j]=s[j]-'';
  28. scanf("%s",s+);
  29. b[i]=s[]-'';
  30. }
  31. }
  32. int Gauss()
  33. {
  34. int i=,j=,re=;
  35. while(i<=M&&j<=N){
  36. re=max(re,i);
  37. if(!a[i][j]){
  38. int tmp=;
  39. for(int r=i+;r<=M;r++)
  40. if(a[r][j]) { tmp=r; break; }
  41. if(!tmp) return ;
  42. re=max(re,tmp);
  43. swap(a[i],a[tmp]); swap(b[i],b[tmp]);
  44. }
  45. for(int r=i+;r<=M;r++){
  46. if(!a[r][j]) continue;
  47. a[r]^=a[i],b[r]^=b[i];
  48. }
  49. i++,j++;
  50. }
  51. if(j<=N) return ;
  52. for(int r=N;r>=;r--){
  53. x[r]=b[r];
  54. for(int rr=r-;rr>=;rr--)
  55. b[rr]^=*a[rr][r]*x[r];
  56. }
  57. return re;
  58. }
  59. void work()
  60. {
  61. int ans=;
  62. if(ans=Gauss()){
  63. printf("%d\n",ans);
  64. for(int i=;i<=N;i++)
  65. puts(x[i]?"?y7M#":"Earth");
  66. }
  67. else puts("Cannot Determine");
  68. }
  69. int main()
  70. {
  71. data_in();
  72. work();
  73. return ;
  74. }

BZOJ 1923 SDOI2010 外星千足虫 异或方程组+bitset的更多相关文章

  1. BZOJ 1923: [Sdoi2010]外星千足虫 高斯消元+bitset

    高斯消元求解异或方程组,可以多学一下 $bitset$ 在位运算中的各种神奇操作. #include <cstdio> #include <bitset> #define N ...

  2. BZOJ 1923: [Sdoi2010]外星千足虫 [高斯消元XOR]

    1923: [Sdoi2010]外星千足虫 对于 100%的数据,满足 N≤1,000,M≤2,000. 裸高斯消元解异或方程组 给定方程顺序要求用从上到下最少的方程,那么找主元时记录一下最远找到哪个 ...

  3. bzoj 1923 [Sdoi2010]外星千足虫(高斯消元+bitset)

    1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 634  Solved: 397[Submit][Status ...

  4. BZOJ.1923.[SDOI2010]外星千足虫(高斯消元 异或方程组 bitset)

    题目链接 m个方程,n个未知量,求解异或方程组. 复杂度比较高,需要借助bitset压位. 感觉自己以前写的(异或)高斯消元是假的..而且黄学长的写法都不需要回代. //1100kb 324ms #i ...

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

    Description 给出几个异或方程组求解,\(n \leqslant 2000\) Sol 高斯消元. 直接消元就行,遇到自由元就直接输出,同时记录一下用到的最高行数. 复杂度不科学就可以用 b ...

  6. bzoj 1923: [Sdoi2010]外星千足虫【高斯消元】

    裸的异或高斯消元 #include<iostream> #include<cstdio> using namespace std; const int N=2005; int ...

  7. 洛谷P2447 [SDOI2010]外星千足虫(异或方程组)

    题意 题目链接 Sol 异或高斯消元的板子题. bitset优化一下,复杂度\(O(\frac{nm}{32})\) 找最优解可以考虑高斯消元的过程,因为异或的特殊性质,每次向下找的时候找到第一个1然 ...

  8. 【BZOJ 1923】1923: [Sdoi2010]外星千足虫 (高斯消元异或 | BITSET用法)

    1923: [Sdoi2010]外星千足虫 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果.每行 包含一个 ...

  9. 1923: [Sdoi2010]外星千足虫

    1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1254  Solved: 799[Submit][Statu ...

随机推荐

  1. vue 修改框架less变量

    以vant框架为例,vue项目以less作为css处理器: less/var-reset.less @import '~vant/lib/index.less'; // Color variables ...

  2. SpringBoot非官方教程 | 第二十篇: 处理表单提交

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-form/ 本文出自方志朋的博客 这篇文件主要介 ...

  3. linux ccenteros 部署 redis

    step one :  yum install redis    -- 安装redis数据库 step two:安装完成之后开启redis 服务 service redis start   syste ...

  4. 前端关于SEO

    提高页面加载速度. 能用css解决的不用背景图片,背景图片也尽量压缩大小,可以几个icons放在一个图片上,使用background-position找到需要的图片位置.可以减少HTTP请求数,提高网 ...

  5. JS基础——数组API之数组操作(filter、map、some、every、sort)

    var arr = [1,2,3,4];   forEach arr.forEach((item,index,arr) => { console.log(item) //结果为1,2,3,4 } ...

  6. chromium之tuple

    // A Tuple is a generic templatized container, similar in concept to std::pair. // There are classes ...

  7. iOS 开发中保留小数问题

    保留两位小数(四舍五入) - (void)viewDidLoad { [super viewDidLoad]; // 有时候我们需要对数据保留两位小数,而且需要四舍五入,并且需要把末尾多余的0给去掉\ ...

  8. 【nginx下对服务器脚本php的支持】

    安装php7     下载地址:https://secure.php.net/downloads.php这里下载的是:wget http://ar2.php.net/distributions/php ...

  9. 模块导入应用settings的字符串

    看django源码,感觉他的settings好高大上然后自己试试 以上是文件目录 email.py中代码 class Email: def send(self): print('发送email') M ...

  10. python爬取豆瓣流浪地球影评,生成词云

    代码很简单,一看就懂. (没有模拟点击,所以都是未展开的) 地址: https://movie.douban.com/subject/26266893/reviews?rating=&star ...