2021 ICPC济南 J Determinant

技术2021 ICPC济南 J Determinant 2021 ICPC济南 J Determinant题意就是给定一个矩阵,然后给出他的行列式的绝对值,这个值是精确的,然后让我们判断行列式的正负。

2021 ICPC济南J行列式

题的意思是给出一个矩阵,然后给出它的行列式的绝对值,这是准确的,然后让我们判断行列式的正负。

思路来源:一个Acmer

首先,我们应该先了解一个属性,然后才能做这个问题。对于这个问题,我们只需要选择一个模,然后求出行列式的值,然后与给定精确值进行模化后的结果进行比较。也就是说,如果计算值与给定值相同,那么它们是同一个符号,否则,它们是不同的符号,然后我们可以证明这个性质:

任何一对非\(0\)的反数都有\(x_1 \not\equiv x_2 (\mod p)\),\(p\)是奇数,\(x_1 \mod p \neq 0\),\(x

\[\begin{aligned}

x_1 x_2=0\\

=(x_1 x_2) \mod p=0\\

=(x_1 \mod p x_2 \mod p) \mod p=0 \,\,\,\,\,(1)\

\ end {对齐}

\]如果\(x_1 \equiv x_2 (\mod p)\),那么让\(t_1=x_1 \mod p\),\(t_2=x_2 \mod p\),那么就有\(t_

然后学习:

\(t_1 t_2\)是偶数。

\(t _ 1t _ 2 2 \次p \,\,\,\,\,(2)\)

并将\(t_i (i=1,2)\)代入上述公式\((1)\)得到\((t_1 t_2)\ mod p=0 \),然后\((t_1 t_2)=kp\)

规则

矩阵转置,行列式不变

矩阵行(列)交换,行列式反演

矩阵的行(列)被加减,行列式保持不变。

矩阵(列)的所有元素同时乘以一个数,行列式的等比例变大。

//problem : p 7112[模板]行列式求值

//Contest:洛古

//URL : https://www.luogu.com.cn/problem/P7112

//内存限制: 64 MB

//时间限制: 2000毫秒

//

//由CP编辑提供动力(https://cpeditor.org)

#包含位/stdc。h

使用命名空间标准;

typedef长长LL;

const int N=110,Mod=1e 9 7;

int a[N][N];

int n;

LL qmi(LL a、LL b、LL Mod){ 0

LL RES=1;

而(b){ 0

if(B1)RES=RES * a % Mod;

b=1;

a=a * a % Mod

}

返回res % Mod

}

LL Guass(){ 0

LL det=1;

for(int I=1;I=n;I) {//枚举列

int k=I;

for(int j=I ^ 1;j=n;J) //把最大的线放在最上面。

if(ABS(a[j][I])ABS(a[k][I]))k=j;

If (abs(a[k][i])==0) {//如果对角线为0,则结果为0。

det=0;

打破;

}

互换(a[i],a[k]);//把最大的一行放在最上面

如果(我!=k)det=-det;//如果有换行符,行列式反过来。

det=(1ll * det * a[I][I]% Mod Mod)% Mod;//成果贡献

for(int j=I ^ 1;j=n;j ) {

a[I][j]=1ll * a[I][j]* qmi(a[I][I],Mod - 2,Mod)% Mod;//将每行的第一位数字改为1,这里是模。

}

for(int j=1;j=n;j ) {

if (j!=i a[j][i]) {

for(int l=I 1;l=n;l){ 0

a[j][l]=(a[j][l]-1ll * a[I][l]* a[j][I]% Mod)% Mod;

}

}

}

}

返回det

}

int main(){ 0

int t;

CINt;

while(t-){ 0

CIN;

字符串s;

cin的;

for(int I=1;I=n;I){ 0

for(int j=1;j=n;j ) {

CIN a[I][j];

}

}

LL RES=s[0]—“0”;

for(int I=1;I . s . size();I){ 0

RES=(RES * 10% Mod s[I]-(0))% Mod;

}

puts(RES==Guass()' ' : '-');

}

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107453.html

(0)

相关推荐

  • JavaScript中var与let的区别是什么

    技术JavaScript中var与let的区别是什么本篇文章给大家分享的是有关JavaScript中var与let的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

    攻略 2021年12月8日
  • javascript里的style是啥类型(设置里的javascript是什么意思)

    技术JavaScript中style指的是什么意思这篇文章主要介绍了JavaScript中style指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年12月22日
  • 怎么用python实现一个指数运算

    技术怎么用python实现一个指数运算本篇内容主要讲解“怎么用python实现一个指数运算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python实现一个指数运算”吧

    攻略 2021年11月4日
  • 抖音刷1w赞费用,抖音买赞一元1000个赞

    技术抖音刷1w赞费用,抖音买赞一元1000个赞抖音刷1w赞费用,抖音买赞一元1000个赞抖音刷点赞介绍,获取点赞有两种方法:一种是正规,一种是灰色捷径的
    短视频抖音火了,火得不能再火了,从大人到小孩几乎没有不知道抖音的,

    测评 2021年11月13日
  • 11.6 3Python 第六章 函数

    技术11.6 3Python 第六章 函数 11.6 3Python 第六章 函数1.运行结果如右图,函数在定义时没有返回值,体现在return的位置错啦!
    其余错误:函数错误,修改后如下:2. 错误2

    礼包 2021年11月7日
  • 如何使用Cytoscape的NetworkAnalyzer工具计算网络相关属性

    技术如何使用Cytoscape的NetworkAnalyzer工具计算网络相关属性如何使用Cytoscape的NetworkAnalyzer工具计算网络相关属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编

    攻略 2021年11月10日