题目连接

https://www.acwing.com/problem/content/886/

思路

和浮点高斯消元类似的,步骤也是相同的,不过我们这里的运算操作变成了异或操作,对于我们枚举到的第r行,第c列我们希望能将下面[r+1,n)行的第c位全部置为0,其实这和普通的高斯消元并无两样

代码

#include<bits/stdc++.h>
using namespace std;
//----------------自定义部分----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3fint dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 1e2+10;
//----------------自定义部分----------------
int t,n,m,q,a[N][N];int guss(){int c,r;for(c=0,r=0;c <= n; ++c){int t = r;for(int i = r;i < n; ++i){//找到一个不为0的行if(a[i][c]) {t = i;break;}}if(!a[t][c]) continue;for(int i = 0;i <= n; ++i) swap(a[t][i],a[r][i]);for(int i = r + 1;i < n; ++i) {//消元if(a[i][c])for(int j = c;j <= n; ++j) a[i][j] ^= a[r][j];}r++;}if(r < n){for(int i = r;i < n; ++i) if(a[i][n]) return 1;return 2;}for(int i = n-1;i >= 0; --i) {for(int j = i + 1;j < n; ++j) {a[i][n] ^= a[i][j] * a[j][n];}}return 0;
}void slove(){cin>>n;for(int i = 0;i < n; ++i)for(int j = 0;j <= n; ++j)cin>>a[i][j];int t = guss();if(t == 1) puts("No solution");else if(t == 2) puts("Multiple sets of solutions");else {for(int i = 0;i < n; ++i) cout<<a[i][n]<<endl;}
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);t = 1;while(t--){slove();}return 0;
}

AcWing 884. 高斯消元解异或线性方程组相关推荐

  1. [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题

    [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算 ...

  2. 高斯消元 AcWing 883. 高斯消元解线性方程组

    高斯消元 AcWing 883. 高斯消元解线性方程组 原题链接 AcWing 883. 高斯消元解线性方程组 算法标签 线性代数 高斯消元 思路 代码 #include<bits/stdc++ ...

  3. AcWing 883. 高斯消元解线性方程组(高斯消元模板)

    先出裸的模板: #include<bits/stdc++.h>using namespace std; const int N = 110; typedef double db; db a ...

  4. AcWing 883. 高斯消元解线性方程组 (高斯消元)

    题目链接 : 点击查看 题目描述 : 输入一个包含 n 个方程 n 个未知数的线性方程组. 方程组中的系数为实数. 求解这个方程组. 下图为一个包含 m 个方程 n 个未知数的线性方程组示例: 输入输 ...

  5. jzoj3823 遇见 [高斯消元解异或方程组]

    Description Zyh独自一人在街上漫步.Zyh相信不久后应该就可以和她一起漫步,可是去哪里寻找那个她呢?Zyh相信每个人都有一个爱情的号码牌,这个号码牌是一个n*n的矩阵. 每个人都要在矩阵 ...

  6. 高斯消元——解线性方程组+球形空间产生器+开关问题

    传送门:https://www.acwing.com/activity/content/11/ 思路: 把原矩阵变成阶梯型矩阵解题步骤: 1.找到绝对值最大的一行. 2.将该行和最上面未处理好的一行交 ...

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

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

  8. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  9. HDU 4305 Lightning (高斯消元解kirchhoff矩阵+逆元)

    题意是:给一些坐标点,如果两点之间的距离小于R,并且两点之间没有其他点,则这两个点保持连通,这样构成了一个图.问这个图中生成树的个数. 因为数据量并不大,O(N^3)的建图没有问题. 建好图以后就可以 ...

最新文章

  1. 让VB菜鸟最快写出自己的外挂.通杀所有游戏
  2. Objective-C中NSString转NSNumber的方法
  3. 复现经典:《统计学习方法》第 6 章 逻辑斯谛回归
  4. mysql ef 随机排序_EFCore+Mysql倉儲層建設(分頁、多字段排序、部分字段更新)
  5. 卢伟冰再怼荣耀9X 10W快充与五年前红米Note一代机型一致
  6. java重新开始循环_java for循环只进行第一次循环
  7. 用python写个小游戏难吗_小伙用Python制做一个小游戏,结果6秒就结束,怎么难玩?...
  8. Cockos REAPER 6 for Mac - 强大的数字音频工作站
  9. 《受欢迎的奶牛》和强连通分支Tarjan算法
  10. jsp linux 一键安装包,JspStudy免费版|JspStudy(jsp环境一键安装包) v2016.01.01免费版_星星软件园...
  11. 牛顿插值法在Matlab上的实现
  12. [转]AVALONDOCK 2.0入门指南第一部分
  13. word怎么显示左边目录?目录大纲(视图 --> 导航窗格)
  14. Easy Mobile插件之Advertising
  15. 用PowerPoint巧做特效字幕(转)
  16. JS逆向学习笔记 - 持续更新中
  17. 劫持outlook与IE浏览器实现权限维持
  18. 微信小程序对接腾讯对象存储
  19. EMC测试(1)——辐射发射测试
  20. 触宝AI助手“Talia”现身OPPO印度新机,TA的朋友圈实在不可想象!

热门文章

  1. 一些基本的数学概念,LDA的表述
  2. 学习设计模式 - 中介者模式
  3. jQuery实现手风琴效果
  4. javascript 模拟滚动 隐藏滚动条
  5. Android和H5交互-基础篇
  6. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能
  7. Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  8. 求旋转数组的最小元素
  9. F#基础教程 unit类型
  10. (转)WriteOnce and RunAnyWhere