Akvicor World 太棒了,我逐渐理解一切

判断两个线段相交

如何判断两条直线是否相交? 这很容易。平面直线,无非就是两种关系:相交 或 平行。因此,只需判断它们是否平行即可。而直线平行,等价于它们的斜率相等,只需分别计算出它们的斜率,即可做出判断。 但倘若我把“直线”换成“线段”呢——如何判断两条线段是否相交? 这就有些难度了。和 直线 不同,线段 是有固定

Akvicor 发布于 2019-05-29

最大子列和问题

求取数组中最大连续子序列和,例如给定数组为

Akvicor 发布于 2019-05-27

分解质因数

每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的质因数。如果一个质数是某个数的因数,那么就说这个质数是这个数的质因数。而这个因数一定是一个质数。 把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如

Akvicor 发布于 2019-05-26

高精度(Arbitrary-precision arithmetic)

在运算过程中如果运算结果很大,普通的数据类型无法储存,就需要用到所谓的高精度算法,即用数组来存储整数,并模拟手算的方式进行四则运算。 Code # 1 #include <bits/stdc++.h> using namespace std; struct BigInteger { sta

Akvicor 发布于 2019-05-23

KMP 算法

Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。 算法流程 假设现在文

Akvicor 发布于 2019-04-30

完全数

完全数,又称完美数或完备数,是一些特殊的自然数:它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,完全数不可能是楔形数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6,恰好等于本身。第二个完全数是28,它有约数1、2、4、7、14、

Akvicor 发布于 2019-04-20

Green公式-判断多边形边界曲线顺/逆时针

判断一个多边形的边界曲线是否是顺时针或者逆时针 double d = 0; for (int i = 0; i < n - 1; i++) { d += -0.5 * ( y[i + 1] + y[i]) * (x[i + 1] - x[i]); } if ( d > 0) cout

Akvicor 发布于 2019-04-14

动态规划

背包的状态转换方程 :

Akvicor 发布于 2019-04-05

统计字符串中子串数目

统计一个字符串在另一个字符串中出现的次数,包含重叠和非重叠两种情况 子串可重叠情况 int count_substring_in_string_overlapping(const std::string &str, const std::string &sub) { int num = 0;

Akvicor 发布于 2019-03-22
上一页 下一页