https://pintia.cn/market/item/1459833348620926976
题面给你一个
n
×
n
n\times n
n×n 的矩阵,并给你一个长度为
1
0
4
10^4
104 以内的
d
e
l
t
delt
delt 表示行列式的绝对值,然后我们要求这个矩阵的行列式的值的正负性,如果是正数的话就输出+
否则输出-
其实就是普通的高斯消元,只不过多了一个取模操作,因为 d e l t delt delt 的数据很大,并且如果用浮点类型的话会溢出以及精度问题,于是我们需要自己选择一个模数(素数),这里我选的是 1 0 9 + 7 10^9+7 109+7 然后,我们将读到的 d e l t delt delt 不断取模,然后在跑一次取模高斯消元最后只需要判断行列式的值是否和我们读入的 d e l t delt delt 相同即可,因为我们读入的是一个绝对值,如果当我们计算出的行列式的值是一个负数,由于我们有取模的操作那么肯定会使得其绝对值和负数加上模数后的值不同,而对于高斯消元的操作其实可以参考这个:https://acmer.blog.csdn.net/article/details/122932692
代码#include
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair
#define INF 0x3f3f3f3f
const int N = 1e2+10;
ll n,a[N][N],delt;
ll ksm(ll a,ll b){
ll ans = 1;
while(b){
if(b & 1) ans = ans * a % mod;
b >>= 1;
a = a * a % mod;
}
return ans;
}
ll inv(ll x){
return ksm(x,mod-2);
}
void guss(){
ll ans = 1LL;
for(int i = 1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?