数学上,高斯消元法(Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个行梯阵式。
解多元方程组特别方便。
数学上,高斯消元法(Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个行梯阵式。
解多元方程组特别方便。
Topcoder Single Round Match 640 DIv2 T3 TwoNumberGroupsEasy 题解
(TC SRM 从 640 到 616 持续施工~)
(倒着开车,最为致命)(国庆之前怕是完不成了)
今天遇到一个十分 Dark 的题目,让你求:
$$\sum_{i=1}^{n-1} \sum_{j=i+1}^{n} lcm(i,j)$$
一共 $T$ 组数据,数据范围是:$T \leqslant 2 \ast 10^5, n \leqslant 3\ast 10^6$……
在之前我们学过的最朴素的筛法就是埃氏筛法(埃拉托斯特尼筛法),它的复杂度是 $\Theta (N \log_2(N))$。其实这个朴素的筛法可以进行常数上的优化。还有一种更炫酷的筛法:欧拉筛,即线性筛法,时间复杂度为 $\Theta (N)$。
先看这道丧心病狂的题目:HDU 4135 Co-prime。题目大意就是,有 $T$ 组询问,每组询问给你三个数:$a, b, c$,问你闭区间 $[a,b]$ 中有多少个数字与 $n$ 互质。数据范围是:$1 \leqslant A \leqslant B \leqslant 10^{15}$,$1 \leqslant N \leqslant 10^5$。
乍一看毫无头绪,仿佛怎么做都会超时……其实用容斥的想法就很容易了~
之前我们已经知道欧拉函数 $\varphi(n)$ 的计算公式:
\displaystyle \varphi (n)=n \ast \prod_{i-1}^{r} (\frac {p_i-1} {p_i})
我们还知道它的两条性质:
如果$\varphi(x)$中的x是质数 p 的 k 次幂,那么 $\displaystyle \varphi (x)=\varphi (p^k)=(p-1)p^{k-1}$ ;
欧拉函数是积性函数,如果 x 和 y 互质,则 $\varphi(xy)=\varphi(x) \varphi(y)=(x-1)(y-1)$ 。
今天我们要证明上述性质,再介绍几条新的性质。
当我们取模的时候,被模数很大,无法直接计算其值,我们就会用取模运算的下面两个性质:
\displaystyle (a+b) \bmod x=((a \bmod x)+(b \bmod x))\bmod x \\
\displaystyle (a\ast b) \bmod x=((a \bmod x)\ast (b \bmod x))\bmod x
那么对于除法,是否也满足这个式子呢?
\displaystyle (a \div b) \bmod x=((a \bmod x)\div (b \bmod x))\bmod x