- 博客(9)
- 收藏
- 关注
转载 线段相交问题
判断两条直线是否相交,有两个步骤确定:1、快速排斥。 2、跨立实验(啊啊啊,逼格好高)然而事实解法的逼格却。。。一 、快速排斥简单的说就是确保他们能相交的基本的要求是满足的:如上图,明显的,要两个线段相交,就要竖直方向有重叠(min(a.y, b.y) < max(d.y, c.y) && max(a.y, b.y) > min(d....
2018-08-18 21:03:00
523
转载 圆相关公式
弧长公式:L = n(圆心角度数)× π(圆周率)× r(半径)/180=α(圆心角弧度数)× r(半径)扇形面积公式:弓形面积公式:弦长公式:推导思路是直线与圆相交转载于:https://www.cnblogs.com/TheStuckedCat/p/9398183.html...
2018-08-18 21:03:00
446
转载 仿射变换
所谓仿射变换,是一种二维坐标到二维坐标之间的线性变换,保持了变换的图形平直性(直线还是直线,圆弧还是圆弧)和平行性(图形之间相对位置不变)。仿射变换的实现方法包括平移, 缩放,翻转, 旋转和剪切;最下面的0 0 1为为了其成为齐次坐标而添加的行元素, 假如是单纯的二维的话只能完成缩放和旋转的操作,故将二维的点改写成三维,这样平移,旋转和缩放都可以写成矩阵的形式;平移变...
2018-08-18 21:03:00
155
转载 半平面交&&多边形内核&&凸多边形的交
多边形内核:以上图,多边形的内核即为在多边形内的某一块点集,其中的点能直线的到达多边形内任意的一点。或者可以说在这个点集内可以“看见”多边形内的任意一点,如右图,明显是不存在这样一个内核的。求解方法:增量法。按照顺时针或者逆时针顺序存储原多边形的边,每次取出一条,以它为直线割去已知平面的一部分,剩下的就是内核。转载于:https://www.cnblogs....
2018-08-18 21:02:00
189
转载 欧拉函数
欧拉函数:在数论中,对正整数n,欧拉函数是少于等于n的数中与n互质的数的数目。n的所有素因子的和就是euler[n] * n / 2;欧拉函数的求法是eluer[n] = n * (1 - 1 / p1) * (1-1/p2) .......p1, p2是n的素因子,就是对于每个n的素因子都有n * 1 / pi个小于等于n的因子,要去除他们,但是因子之间可能会有重复,所以要...
2018-08-18 21:02:00
126
转载 DLS优秀的快读板子
//用的是freopen才能正常使用 1 #include<algorithm> 2 #include <iostream> 3 #include <stdlib.h> 4 #include <string.h> 5 #include <stdio.h> 6 #include <m...
2018-08-18 21:02:00
301
转载 有向面积
首先先讨论一下,对于一个三角形如何求面积:很明显,S = |b| * |c| * |sinA| / 2 = | b× c | / 2;学过叉积的都懂,由三角形的两个边向量就可以求出面积, 那么对于一个多边形呢(不规则的那种):可以分解为S△ABC+S△ACD+S△ADE+S△AEF;这个假如分解出来的话,单纯的看面积会重复算S△ABC,所以引入有向面积...
2018-07-31 20:27:00
340
转载 AC自动机
AC 自动机定义:多模匹配算法。相比于用KMP算法高效完成的单模匹配算法,多模大概就是有一个S(主串)和复数个T(模板串),对每一个模板串都进行一次kmp算是暴力的做法,而ac自动机就是用来高效解决这类问题的算法;AC自动机的构造:Trie树作为搜索数据结构+Fail指针作为当前字符失配时跳转到的具有最长公共前后缀的字符的位置例如:cat, cash, app, ap...
2018-07-26 09:11:00
100
转载 KMP、扩展KMP、MANACHER
一、KMP作用:用于在一个文本串S内查找一个模式串P出现的位置string str = "bacbababadababacambabacaddababacasdsd";string ptr = "ababaca";如上图,可得在第10与26处包含ptr数组;暴力做法:暴力for,碰到不一样的直接返回,从后一个开始继续for,最差能到O(n * m)K...
2018-07-20 20:32:00
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人