数学基础
 
Part 1.  高精度计算
 

 
Part 2.  模意义下的运算
           
        mod 
对一个数取模,其实就是取余数
 
注意:
•   无除法运算
•   满足基本的交换律、分配率、结合律
•   对中间结果取模不影响最终答案
 

 
Part 3.  快速幂
 

 
Part 4.  费马小定理与GCD&LCM

 

 
Part 5.  素数与筛法
 

 
Part 6.  欧拉函数
 

 
 
 
 行列式
 

行列式计算:

1.利用高斯消元将原矩阵变为对角矩阵
2.将对角线上的值连乘得到行列式
 

逆元的定义:
     若矩阵B*A=I 则称B为A的左逆元
     若矩阵A*B=I 则称B为A的左逆元
 
有逆元的前提:
     矩阵行列式不为0
 
 LH的矩阵求逆板子:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define LL long long
#define N 405
using namespace std;
const int mod=1e9+7; template<class T>inline void rd(T &x){
x=0; short f=1; char c=getchar();
while(c<'0' || c>'9') f=c=='-'?-1:1,c=getchar();
while(c<='9' && c>='0') x=x*10+c-'0',c=getchar();
x*=f;
} int n,m;
int f[N][N<<1],r,ans; inline int qpow(int x,int k){
int ret=1;
while(k){
if(k&1) ret=1LL*ret*x%mod;
x=1LL*x*x%mod; k>>=1;
} return ret;
} inline void Gauss(){
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++)
if(f[j][i]){
if(j!=i) for(int k=1;k<=m;k++) swap(f[i][k],f[j][k]);
break;
}
if(!f[i][i]){puts("No Solution");exit(0);}
r=qpow(f[i][i],mod-2);
for(int j=i;j<=m;j++) f[i][j]=1LL*f[i][j]*r%mod;
for(int j=1;j<=n;j++)
if(j!=i){
r=f[j][i];
for(int k=i;k<=m;k++)
f[j][k]=(f[j][k]-1LL*r*f[i][k]%mod+mod)%mod;
}
}
for(int i=1;i<=n;i++){
for(int j=n+1;j<=m;j++) printf("%d ",f[i][j]);
puts("");
} return;
} int main(){
rd(n); m=n<<1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++) rd(f[i][j]);
f[i][n+i]=1;
}
Gauss();
return 0;
}
 

 
扩充知识
然而后面这些知识点LH貌似没讲
矩阵树定理
 
一个图的邻接矩阵G:对于无向图的边(u,v),G[u][v]++,G[v][u]++
一个图的度数矩阵D:对于无向图的边(u,v),D[u][u]++,D[v][v]++
而通过这两个矩阵就可以构造出图G的基尔霍夫矩阵:C=D-G.
 
 Matrix Tree定理:
      将图G的基尔霍夫矩阵去掉第i行和第i列(i可以取任意值,可以证明所得到的结果相同),得到(n-1)*(n-1)的矩阵,对这个矩阵进行行列式的值求解,abs(det(A))即为图G的生成树个数。
 
 
 
 
有向图 - 矩阵树定理
 
树形图:以i点为根节点的树形图有(n-1)条边,从i节点出发可以到达其他所有(n-1)个节点.
 
定义: 有向图的邻接矩阵G:对于有向图的边(u,v),G[u][v]++.
            有向图的度数矩阵D:对于有向图的边(u,v),D[v][v]++.
 
尤其需要注意的是:有向图的度数矩阵指的是一个点的入度,而不是出度。
而有向图的基尔霍夫矩阵的构造方式是一模一样的:C=D-G.
 
有向图Matrix Tree定理:
        将有向图G的基尔霍夫矩阵去掉第i行和第i列,得到(n-1)*(n-1)的矩阵,对这个矩阵进行行列式的值求解,abs(det(A))就是以i为根的树形图的个数。
 
 
 

拓展:k^2logn求常系数线性递推方程

• f(n) = a0 + a1*f(n-1) + … + ak*f(n-k)
• 给出 f(1) ~ f(k), 求 f(n) % p
 
 

 
 
POJ 3735

 
 
 
 题解:

 
 
 
 
 
 
 
 
 

清明 DAY 1的更多相关文章

  1. 清明梦超能力者黄YY(idx数组)

    清明梦超能力者黄YY https://www.nowcoder.com/acm/contest/206/I 题目描述 黄YY是一个清明梦超能力者,同时也是一个记忆大师.他能够轻松控制自己在梦中的一切, ...

  2. 清明|TcaplusDB持续为您保驾护航

    清明将至,又到一年休闲踏青,祭拜祖先的时机. 清明假期期间,TcaplusDB不停歇,我们将一如既往地守护您的数据,继续做您最坚实的后盾.  在未来,TcaplusDB还将以国产键值型数据库领航者的身 ...

  3. 清明培训 清北学堂 DAY2

    今天是钟皓曦老师的讲授~~ 总结了一下今天的内容: 数论!!! 1.整除性 2.质数 定义: 性质:  3.整数分解定理——算数基本定理 证明: 存在性: 设N是最小不满足唯一分解定理的整数 (1)  ...

  4. 清明培训 清北学堂 DAY1

    今天是李昊老师的讲授~~ 总结了一下今天的内容: 1.高精度算法 (1)   高精度加法 思路:模拟竖式运算 注意:进位 优化:压位 程序代码: #include<iostream>#in ...

  5. 2019清明期间qbxt培训qaq

    4.4下午:矩阵qwq part1矩阵乘法: 概念: 一个m×p的矩阵A 乘 一个p×n的矩阵B 得到一个矩阵一个m×n的矩阵AB 其中: 矩阵乘法满足结合律.分配率,不满足交换律 矩阵乘法—solu ...

  6. 2019清明期间qbxt培训qwq

    4.4上午:数学基础 (qwq整成word和cpp了,它居然不能直接把文档附上来) part 1:高精度运算 高精加和高精减就不说了,之前写过博客了qwq,讲一讲高精乘和高精除吧. 1.高精度乘法(不 ...

  7. 清明 DAY2

    数论 数论是研究整数性质的东西 也就是 lim   π(x)=x/ ln x (x->无穷) 证明: ∵ p|ab ∴ ab有因子p 设 a=p1k1p2k2......prkr      b= ...

  8. 一个讲课截屏 清明DAY2

    灰常混乱 放弃吧........ 不断做平方差公式 到i时,前面已经求出之前数字的逆元了 r是一个比i小的数 第四行×i,r 的逆元 BSGS 暴力枚举枚举到Φ(m)个

  9. 清明小长假之VUE.JS学习测试码

    我们放了四天假,刚好借此机会,系统的了解一下VUE.JS. <!DOCTYPE html> <html> <head> <meta charset=" ...

随机推荐

  1. 数据库——MongoDB

    what's the MongoDB MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式 ...

  2. MHA 实现VIP切换用到脚本

    在MHA Manager端配置中,如果实现MHA的vip故障切换需要在配置文件/etc/masterha/app1/app1.cnf 中启用下面三个参数: master_ip_failover_scr ...

  3. NginxI/O模型理论基础

    I/O模型介绍 同步IO 关注的是消息通信机制  调用者需要等待被调用者先执行完毕才能往下继续执行   被调用者在执行完自己的任务后并不会同之调用者执行结果需要调用者自己去获取被调用者的执行状态 异步 ...

  4. 【NMS与IOU代码】

    # -*- coding: utf-8 -*- import numpy as np def IOU1(A,B): #左上右下坐标(x1,y1,x2,y2) w=max(0,min(A[2],B[2] ...

  5. [py]super调用父类的方法---面向对象

    super()用于调用父类方法 http://www.runoob.com/python/python-func-super.html super() 函数是用于调用父类(超类)的一个方法. clas ...

  6. Windows PyCharm永久激活

    1.下载 链接: https://pan.baidu.com/s/1LvQozk5lXdyk2p8qgGsr3A 提取码: x1t5 放置到 pycharm安装目录的\bin目录下(位置可随意,只要配 ...

  7. js贪心算法---背包问题

    /* * @param {Object} capacity 背包容量 6 * @param {Object} weights 物品重量 [2,3,4] * @param {Object} values ...

  8. MongoDB--编译文件

    -j 加你的cpu核数来加速编译过程 编译出错可以自行安装所需依赖. 或者去官网直接下载编译好的二进制,直接执行. 编译好之后查看文件: mongod:mongodb的执行程序,数据库部署也用这个程序 ...

  9. python call so

    作为一个老程序员,如果,python不能与c发生点儿关系,我都挺过意不去的啊 那么,就解决了这个强迫症吧,阿门! //pycall.c #include <stdio.h> #includ ...

  10. 增删改(DML)操作

    增删改(DML)操作 1.1事务(transaction) 事务是数据库操作的最小单元,又ACID的特性,应该保证一个事务的sql语句要么同时成功,要么都不成功. Mybatis中配置了事务管理器,t ...