【贪心】【P2117】小Z的矩阵】的更多相关文章

P2117 小Z的矩阵 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余之后的结果.举一个例子: 对于上图这个3*3矩阵A,G(A)=(1*1+1*0+1*1+0*1+1*1+1*0+1*1+ 0*1+0*0) mod 2=0 当然询问一个矩阵的G值实在是太简单了.小Z在给出一个N*N矩阵的同时将给你Q个操作,操作描述如下: 操作1:形如一个整数1和一个整数x,表示将第…
P2117 小Z的矩阵 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余之后的结果.举一个例子: 对于上图这个3*3矩阵A,G(A)=(1*1+1*0+1*1+0*1+1*1+1*0+1*1+ 0*1+0*0) mod 2=0 当然询问一个矩阵的G值实在是太简单了.小Z在给出一个N*N矩阵的同时将给你Q个操作,操作描述如下: 操作1:形如一个整数1和一个整数x,表示将第…
https://www.luogu.org/problemnew/show/2117 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余之后的结果.举一个例子: 对于上图这个3*3矩阵A,G(A)=(1*1+1*0+1*1+0*1+1*1+1*0+1*1+ 0*1+0*0) mod 2=0 当然询问一个矩阵的G值实在是太简单了.小Z在给出一个N*N矩阵的同时将给你Q个操作…
题意: 给你一个初始01矩阵 三种操作 1.给一个x,把第x行01互换 2.给一个x,把第x列01互换 3.求$(\sum_{i=1}^n\sum_{j=1}^nf[i][j]*f[j][i])%2$ $n\le 10^3,q\le 5*10^5$ 暴力是$O(n^2q)$的,很明显过不了 那么应该怎么做呢 不难看出$f[i][j]$在$i\ne j$的时候被算了两次!!! 如果f[i][j]*f[j][i]=1,那么就是(1+1)%2=2%2=0 如果f[i][j]*f[j][i]=0,那么就…
题意 题解 这题有点水. 我们发现对答案有贡献的实际上只有左上到右下的对角线上的数. 因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了... 然后就做完了. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; ; int n,q,ans,a[N][N]; int main…
题目描述-->p2117 小z的矩阵 分析: 题目给定我们一个正方形. 容易想到,正方形是对称的. 推敲一下 如果我们的矩阵是这样的↓ 闭眼瞎敲出来的. \[\begin{bmatrix} {0}&{1}&{1}&{0}&{1}\\\\ {0}&{1}&{0}&{1}&{0}\\\\ {1}&{0}&{1}&{0}&{1}\\\\ {0}&{1}&{1}&{0}&{0}\\…
传送门 Description 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1, 当然询问一个矩阵的G值实在是太简单了.小Z在给出一个N*N矩阵的同时将给你Q个操作,操作描述如下: 操作1:形如一个整数1和一个整数x,表示将第x行的元素全部“翻转”. 操作2:形如一个整数2和一个整数x,表示将第x列的元素全部“翻转”. 操作3:形如一个整数3,表示询问当前矩阵的特征值G. “翻转”的定义为将1变成0,将0变成1. Input 第1行:两个…
这题这么无聊,亏我还用了读入输出优化... 关键在于,这还是道黄题QWQ 掀桌而起 (╯‵□′)╯︵┻━┻ 显而易见,在i != j的情况下,a[i][j] + a[j][i]和a[j][i] + a[i][j]都会被记录到,so (a[i][j] * a[j][i]) + (a[j][i] * a[i][j]) mod 2对答案毫无影响. 在i = j的情况下,a[i][j] + a[j][i]就是a[j][i] + a[i][j],而且只会记录一次,so a[i][j] * a[j][i]…
[BZOJ4031]小Z的房间(矩阵树定理) 题面 BZOJ 洛谷 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. 你想要打通一些相邻房间的墙,使得所有房间能够互相到达.在此过程中,你不能把房子给打穿,或者打通柱子(以及柱子旁边的墙).同时,你不希望在房子中有小偷的时候会很难抓,所以你希望任意两个房间之间都只有一条通路.现在,你希望统计一共有多…
水一发优先队列的水题.. 这个题貌似以前有做过类似的.具体的方法是用大根堆辅助贪心算法得出正解.可以看出来,如果小Z走到了某个地方,那么他最远一定是到了这里,不可能有再走回来这种操作,因为很明显那样不是最优解. 然后我们基于刚才的考虑贪心,如果走的远近确定了,那么我们的选择一定是最小的那些店,维护一个大根堆,然后从小到大枚举位置,每枚举一次就入队一个数,如果当前的总和比疲劳值大了,就弹出队首元素.记得开longlong. #include<iostream> #include<cstdi…