摘要: 1 #include <cstdio> 2 struct Matrix{int a[5][5];}; 3 const int N=2,MOD=1e4; 4 Matrix A,B,O,I; 5 Matrix Mul(Matrix A,Matrix B){ 6 Matrix C=O; 7 for(int 阅读全文
posted @ 2020-02-25 20:08 墨鳌 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 已知矩阵乘法是n^3的,必然超时 故可以在需要验证的等式AB=C两边同时左乘D 一个1xN的任意的不含0矩阵 设E=DA,F=EB,G=DC,则此时只需验证F=G 当匹配到非法列J时,跳出n^2寻找行I即可 记录一下Ans,C[I,J]的正确值,然后就愉快地AC了 为了偷懒,我使用的矩阵是A~G连续 阅读全文
posted @ 2020-02-25 13:07 墨鳌 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 构造矩阵 1 #include <cstdio> 2 const int MAXN=100; 3 struct Matrix{int a[MAXN][MAXN];}O,I;int N; 4 void OI(int n){N=n;for(int i=0;i<MAXN;i++)for(int j=0;j 阅读全文
posted @ 2020-02-25 10:57 墨鳌 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂,主要是考构造。另外,swap总是写龊? 为什么?干脆放弃了。唉,我太难了。 思路:操作e和s都很好想,主要是g操作 我们可以额外空出一位,记为1,每次要加1,就对这个额外的1进行计算即可 不妨定义A=[1 0 0 ... 0],此时只要构造一组操作的等效矩阵T就好了 就是添一位使初始矩阵 阅读全文
posted @ 2020-02-25 01:14 墨鳌 阅读(173) 评论(0) 推荐(0) 编辑