傳送門
如何用一句話描述:
給定n和m,求有多少種大小為n*m的01矩陣滿足每行每列異或值都是0,答案對998244353取模
yy一下
我們考慮乙個(n-1)*(m-1)的矩陣
很顯然,如果我們隨便填,會發生什麼呢?
會有乙個超級大的答案出來
可是這跟我們的問題有什麼關係?
毫無關係
我們找個特例,比如n=4,m=4
我們可能構造出來乙個矩陣是這樣的:
1 0 1 ?
0 1 1 ?
0 0 0 ?
? ? ? ?
問題來了,?處填什麼?
填之前的坑啊!
用這個栗子來說
最終我們胡搞搞出來得到的是:
1 0 1 0
0 1 1 0
0 0 0 0
1 1 0 0
發現了什麼?
什麼都沒有發現
這個矩陣滿足要求
在關注原來的「?」處
發現:
對於每一行最後乙個,如果當前行1的個數為偶數,那麼它為0,不然就是1
對於每一列最後乙個,如果當前行1的個數為偶數,那麼它為0,不然就是1
複製貼上真好玩
不管怎麼樣,這樣子是可以的,是能得到正解的
那麼,對於處於右下角的呢?
可以證明,當那幾個格仔確定下來時,右下角的格仔不會出現矛盾情況
但是我不會
於是,這就是乙個簡單的快速冪了
上**!噹噹噹噹——
#include
#include
#include
#include
using
namespace std;
long
long t;
long
long n,m;
inline
void
read
(long
long
&x) ch=
getchar()
;}while
(ch>=
'0'&&ch<=
'9')
x*=f;}
long
long
fast_pow
(long
long a,
long
long b,
long
long n)
y=y*y%n;
b=b>>1;
}return t;
}int
main()
return0;
}
洛谷 5160 WD與迴圈
題目描述 這天,wd蒟蒻為了解決乙個小問題寫了個很長很長的for迴圈 int cnt 0 for int a 1 0 a 1 m a 1 printf d n cnt cx過來看了一眼,說 wd你個笨蛋,這道題不是sb題嗎?wd一臉懵逼,只好請你來教教他啦 輸入格式 第一行乙個數t,表示資料組數。接...
洛谷P1005矩陣取數題解 zhengjun
題目描述 帥帥經常跟同學玩乙個矩陣取數遊戲 對於乙個給定的n m n times m n m的矩陣,矩陣中的每個元素ai,ja ai,j 均為非負整數。遊戲規則如下 每次取數時須從每行各取走乙個元素,共n nn個。經過m mm次後取完矩陣內所有元素 每次取走的各個元素只能是該元素所在行的行首或行尾 ...
洛谷題解 P1005 矩陣取數遊戲
這真是一道有趣的題目。垃圾乙個 首先,我們知道,有乙個c 11才有的東西 int128,它的上界是 2 1 然後,我們知道,有乙個叫巨集定義的東西,它可以長這樣 define int int128。最後,有乙個玄學知識,main函式不僅可以是int,也可以是signed。基礎玄學知識介紹完畢。接下來...