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)

相关推荐

  • 数学什么叫因数,小学数学什么是倍数,什么是因数

    技术数学什么叫因数,小学数学什么是倍数,什么是因数①一个整数能够被另一整数整除数学什么叫因数,这个整数就是另一整数的倍数。如15能够被3或5整除,因此15是3的倍数,也是5的倍数。②一个数除以另一数所得的商。如a÷b=c

    生活 2021年10月23日
  • sysbench 0.5有什么用

    技术sysbench 0.5有什么用这篇文章主要介绍sysbench 0.5有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一 前言 因为在准备做压力测试方面

    攻略 2021年11月7日
  • vue组件上绑定原生事件

    技术vue组件上绑定原生事件 vue组件上绑定原生事件将原生事件绑定在组件上 .native 修饰符:
    子组件
    templatediv class="demo"h2我是子组件/h2h3我是子组件中的信息

    礼包 2021年10月26日
  • SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel

    技术SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel一套适合 SAP U

    礼包 2021年11月5日
  • c++面向对象程序设计(c++用什么软件编程)

    技术C++右值如何引用本篇内容介绍了“C++右值如何引用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.左值和右值在我

    攻略 2021年12月16日
  • idea如何整合docker快速部署springboot应用

    技术idea如何整合docker快速部署springboot应用小编给大家分享一下idea如何整合docker快速部署springboot应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这

    攻略 2021年10月31日