bzoj3503
显然知道第一行就可以只道整个矩阵
但n<=40,搜索是不行的,我们设第一行为x1~xm
可以由轻易由第一行未知数推出第n+1行,这一步我们可以压成二进制位(因为只和奇偶有关)
显然n+1行必须是0,由此可以列方程高斯消元即可
var a,c:array[..,..] of longint;
b:array[..,..] of int64;
n,m,i,j:longint; procedure swap(var a,b:longint);
var c:longint;
begin
c:=a;
a:=b;
b:=c;
end; procedure gauss;
var i,j,k,p:longint;
begin
k:=;
for i:= to m do
begin
j:=k;
while (j<=m) and (a[j,i]=) do inc(j);
if (j>m) then continue;
if j<>k then
begin
for p:=i to m+ do
swap(a[k,p],a[j,p]);
end;
for j:=k+ to m do
if a[j,i]= then
begin
for p:=i to m+ do
a[j,p]:=a[j,p] xor a[k,p];
end;
inc(k);
end;
for i:=m downto do
begin
c[,i]:=a[i,m+];
if a[i,i]= then
begin
c[,i]:=;
continue;
end;
for j:=i+ to m do
if a[i,j]= then c[,i]:=c[,i] xor c[,j];
end;
end; begin
readln(n,m);
for i:= to m do
b[,i]:=int64() shl int64(i-); for i:= to n+ do
for j:= to m do
b[i,j]:=b[i-,j] xor b[i-,j+] xor b[i-,j-] xor b[i-,j]; for i:= to m do
for j:= to m do
if b[n+,i] and (int64() shl int64(j-))<> then a[i,j]:=; gauss;
for i:= to n do
for j:= to m do
c[i,j]:=c[i-,j] xor c[i-,j+] xor c[i-,j-] xor c[i-,j]; for i:= to n do
begin
for j:= to m- do
write(c[i,j],' ');
writeln(c[i,m]);
end;
end.
bzoj3503的更多相关文章
- BZOJ3503: [Cqoi2014]和谐矩阵
题解: 如果第一行的数知道了,我们就可以推出其他行的数. 那么如何判断第一行的数的一种填法是否合法呢?很简单,我们递推出m+1行的数,当且仅当这一行都是0时满足题意. 那么,我们就有了一种想法. 直接 ...
- 【高斯消元】BZOJ3503 [Cqoi2014]和谐矩阵
3503: [Cqoi2014]和谐矩阵 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 1197 Solved: ...
- bzoj千题计划105:bzoj3503: [Cqoi2014]和谐矩阵(高斯消元法解异或方程组)
http://www.lydsy.com/JudgeOnline/problem.php?id=3503 b[i][j] 表示i对j是否有影响 高斯消元解异或方程组 bitset优化 #include ...
- bzoj3503 和谐矩阵
Description 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本身,及他上下左右的4个元素(如果存在).给定矩阵的行数和列数,请计算并输出一 ...
- BZOJ3503:[CQOI2014]和谐矩阵(高斯消元,bitset)
Description 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本 身,及他上下左右的4个元素(如果存在). 给定矩阵的行数和列数,请计算并输 ...
- [暑假的bzoj刷水记录]
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊 堆一起算了 隔一段更新一下. 7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...
随机推荐
- FreeMarker-Built-ins for numbers
http://freemarker.org/docs/ref_builtins_number.html#topic.extendedJavaDecimalFormat Page Contents ab ...
- 九度OJ 1283 第一个只出现一次的字符
题目地址:http://ac.jobdu.com/problem.php?pid=1283 题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现 ...
- 关于js与php互相传值的介绍【转载+自身总结】
JS是前台的语言,PHP是后台的语言,初学时会经常出现前后台分不清的情况(我当初就是这样的,现在有时也在犯),我当初的想法是就把前后台当成两个岛,他们是无法跨越的,HTML就像一座桥,当你想要把一座岛 ...
- 通过bat命令批量删除VS查找历史记录
有时候我们会发现我们的VS查找下拉框里面有很多之前的搜索记录,想删除但是却没有地方删除. 网上的方法都是直接找到注册表HKEY_CURRENT_USER\Software\Microsoft\Vis ...
- HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)
看到网上很多展示html5雪花飞动的效果,确实非常引人入胜,我相信大家也跟我一样看着心动的同时,也很好奇,想研究下代码如何实现:虽然哦很多地方也能下载这些源码,不过也不知道别人制作此类动画时的思路及难 ...
- matlab2014在mac Yosemite下出现java空指针情况
恢复方法为 使用xcode打开 /System/Library/CoreServices/SystemVersion.plist 将 ProductVersion 下的10.10或10.10.1改为1 ...
- Cassandra1.2文档学习(9)—— 数据写入
数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/manage_dml ...
- 用twisted 做一个日志收集系统
混沌初开 起初我是不会上logging模块的,直接导致了即时有了日志,我也存到了数据库中,而且量也不大,是否能遇到异常只能靠运气了 开天辟地 不得不说,没有任何输出的线上环境真的挺难调试的,当然,聪明 ...
- configure: error: zlib library and headers are required
configure: error: zlib library and headers are required (1)直接看是zlib没安装导致的,yum list |grep zlib* 看到的是全 ...
- c语言的一些基础知识
c语言作为经典语言,这里不再多说了.咱从基础一起探讨吧! 一. 定义一个整型,如果作为局部变量,没有初始化的情况下,它是一个随机的值的,一般情况下输出会是0,但这个0是作为垃圾值的;而如果作为全局变量 ...