博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3503: [Cqoi2014]和谐矩阵
阅读量:5307 次
发布时间:2019-06-14

本文共 1820 字,大约阅读时间需要 6 分钟。

二次联通门 : 

 

 

感觉头疼的快爆炸了。。。

 

 

/*    BZOJ 3503: [Cqoi2014]和谐矩阵    高斯消元    把第一行的M个数看做是未知数    那么下面的每个位置的数就被间接确定了    然后高斯消元即可*/#include 
#include
#include
#define rg register#define Max 52std :: bitset
m[Max];typedef long long LL;LL a[Max][Max]; int b[Max][Max];inline void read (int &n){ rg char c = getchar (); for (n = 0; !isdigit (c); c = getchar ()); for (; isdigit (c); n = n * 10 + c - '0', c = getchar ());}void Gauss (int N, int M){ rg int i, j, n = 0, k; for (i = 1; i <= M; ++ i) { for (j = n + 1; m[j][i] == 0 && j <= M; ++ j); if (j == M + 1) continue; for (++ n, std :: swap (m[j], m[n]), k = n + 1; k <= M; ++ k) if (m[k][i] != 0) m[k] ^= m[n]; } for (i = M; i >= 1; -- i) { b[1][i] = m[i][M + 1]; if (m[i][i] == 0) { b[1][i] = 1; continue; } for (j = i + 1; j <= M; ++ j) if (m[i][j]) b[1][i] ^= b[1][j]; }}int main (int argc, char *argv[]){ int N, M; read (N), read (M); rg int i, j; for (i = 1; i <= M; ++ i) a[1][i] = (LL) 1 << (i - 1); for (i = 2; i <= N + 1; ++ i) for (j = 1; j <= M; ++ j) a[i][j] = a[i - 2][j] ^ a[i - 1][j - 1] ^ a[i - 1][j + 1] ^ a[i - 1][j]; for (i = 1; i <= M; ++ i) { for (j = 1; j <= M; ++ j) m[i][j] = ((LL) 1 << (j - 1) & a[N + 1][i]) ? 1 : 0; m[i][M + 1] = 0; } for (Gauss (N, M), i = 2; i <= N; ++ i) for (j = 1; j <= M; ++ j) b[i][j] = b[i - 2][j] ^ b[i - 1][j - 1] ^ b[i - 1][j + 1] ^ b[i - 1][j]; for (i = 1; i <= N; ++ i) for (j = 1; j <= M; ++ j) if (j != M) printf ("%d ", b[i][j]); else printf ("%d\n", b[i][j]); return 0;}

 

转载于:https://www.cnblogs.com/ZlycerQan/p/8080759.html

你可能感兴趣的文章
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>
机器学习/深度学习/其他开发环境搭建记录
查看>>
xml.exist() 实例演示
查看>>
判断是否为空然后赋值
查看>>
zabbix监控日志文件
查看>>
正则表达式
查看>>
pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' s...
查看>>