牛客國慶集訓派對Day2

2022-05-01 01:39:10 字數 798 閱讀 2210

題意:給出最大4096*64和64*4096的矩陣,其中有乙個矩陣只含有0和1,問你它們相乘所得到得矩陣所有元素異或

思路:一開始我想到的是能不能將01矩陣的一排都用二進位制表示,但是發現2的64次方大於4096,反而增大了複雜度,於是沒有做出這題,題解是將矩陣分塊,最多分成8塊,這樣01矩陣的種數有255種,然後再暴力求解,看起來很難寫,但是捋清楚思路和寫法,這題不難寫

#include #include #include #include #include #include #include #include #include #include using namespace std;

#define ll long long

const int maxn=4096+10;

int a[maxn][70];

int b[maxn][70];

int de[maxn][10][(1<<8)+10];

int main()

// cout<}

}for(int i=1; i<=m; i++)

}int len=p/8+(p%8!=0);

// cout

}int ans=0;

for(int nn=1; nn<=n; nn++)

// cout

}//cout

// cout<}

}printf("%d\n",ans);

return 0;

}

牛客國慶集訓派對Day2 Solution

a 矩陣乘法 思路 1 牛客機器太快了,暴力能過。1 include 2 using namespace std 34 define n 500056 intn,p,m 7int a n 100 b 100 n ans n n 89 void run 1029 30 31int main 32vie...

牛客國慶集訓派對Day1

a 看樣例過題 include include include include include using namespace std typedef long long ll typedef pairpii const int maxn 1e5 10 vectorg maxn int a 10 i...

牛客國慶集訓派對Day4

a 把b n include include include includeusing namespace std int main d 由於是個完全圖,選擇乙個權值最小的點,其他所有的點向它連線就行了。注意點為1的時候輸出0 include include include includeusing...