模板
Shinaria
这个作者很懒,什么都没留下…
展开
-
模板 2017-11-09 矩阵 单位化矩阵 矩阵的相乘和快速幂
注:咱的模板其实很不好用,参考参考就行了矩阵最早是在高中接触的,这玩意儿处理连续的变换非常方便举个例子,求斐波那契数列刚刚是接触就是for循环然后一个一个加加加加.......时间复杂度自己去想(噗嗤),当然打表另说(因为每个都要求的对不对?绕不开的)但是有了矩阵!这个矩阵还能乘!还能快速幂(鼓掌)所以矩阵真不错 是吧我不会告诉你我线性代数第一次阶段考只有七十几的(手动...原创 2017-11-09 22:59:36 · 502 阅读 · 0 评论 -
模板 2018-01-20 三分 三分法求极值
这个原理真没啥好说的, 其他的博客都写得比我好....直接上模板: double trichotomy(double minn,double maxx){//给定了函数的定义域 double l, r,ml,mr,ml_v,mr_v; l=minn; r=maxx; while (l+eps<r) { ml=(l+r)/...原创 2018-01-20 16:46:20 · 338 阅读 · 0 评论 -
模板 2018-01-27 分解因数 分解质因数
这里有小部分需要用到前面的素数筛, 当然没有素数筛也是OK的, 但是可能慢一点.先是普通的分解因数, 这个函数分解出来的是不含 本身 和 1 的因子, 并且返回这些因子的个数.好像是叫做真因子吧?不过真因数只是不包含本身而已, 1还是在里面的int work_factor(int n,int fac[]){//其实原本函数名应该是decomposition_factor的,但是好原创 2018-01-27 19:23:24 · 2802 阅读 · 0 评论 -
模板 2018-01-27 素数筛 素数打表 欧拉函数 欧拉定理 费马小定理
先是素数筛据说这个叫做欧拉线性筛, 差不多半年以前我曾经被一道有关素数的题目卡住了时限, 后来网上随便找了一个素数筛模板(捂脸逃), 过了, 这个以前的一篇博客也提到过了, 就是注释了我认为"非常精妙"的那个素数筛. 不过当时抄的那个在某些地方不是很好用, 所以又上网找了了一下其他的模板进行借鉴, 稍微增添了一点东西.const int maxn=1000000;//这里的maxn常数原创 2018-01-27 15:02:59 · 431 阅读 · 0 评论 -
模板 2018-01-26 计算几何 基础定义 点 直线 点积与叉积
计算几何的模板实在是太臭太长了....直接粘代码, 大部分需要解释的都已经注释好了, 所以应该没什么问题.....本来很多东西就是高中知识嘛(并不)包含有如下函数(和定义):1.数字的符号判断(别问我为啥计算几何有这么个东西)2.点与向量的结构体定义与部分符号的重载3.直线与线段的结构体定义4.点是否在直线上 与 直线上距离给定点最近的点5.点是否在线段上 与 线段上距...原创 2018-01-26 17:43:16 · 321 阅读 · 0 评论 -
模板 2018-01-26 计算几何 多边形相关 多边形面积 凸包 旋转卡壳
计算几何的模板实在是太臭太长了....*2包含有如下函数:1.三角形面积(包括已知三边长,已知三点,已知两边长和夹角弧度值)2.多边形面积(凹多边形和凸多边形皆可)3.判断多边形是否为凸多边形4.点是否在凸多边形内5.点是否在多边形内(凹凸皆可)6.凸包和旋转卡壳double triangle_area(dot a,dot b,dot c){//三角形面积 ...原创 2018-01-27 11:46:59 · 319 阅读 · 0 评论 -
模板 2018-01-27 数论 最大公因数 最小公倍数 拓展欧几里得 GCD LCM 逆元
先是最简单的最大公因数, 通常情况下我们用辗转相除法, 有两种实现方法. 使用辗转相除法的原理参见维基百科.方法一:循环long long int _gcd(long long int a,long long int b){ if(a==0||b==0) return 0; long long int res; res=a%b; whi原创 2018-01-17 19:28:53 · 433 阅读 · 0 评论 -
模板 2018-01-18 普通型母函数 生成函数
这个东西在我的博客里面是先有题才有这个模板的, 这里从头讲一遍原理还是有些麻烦, 如果有兴趣的话可以自行搜索, 关键字 普通型母函数 即可.哦对, 忘了说了, 这个东西叫做生成函数也是可以的.先是母函数的关键单元, 多项式. 由于母函数名并不会真正用到自变量和因变量的关系, 而是其指数和系数的关系, 所以建立结构体的时候仅需要开一个数字记录系数就行, 下标表示对应的次数, 比如 a[ 7 ]=原创 2018-01-18 20:29:02 · 286 阅读 · 0 评论 -
模板 2018-01-17 快速幂 快速乘
快速幂太常用了, 单开一篇.举例!2^100 %1004^50 %10016^25 %10016^24 *16 %100256^12 *16 %100(256%100)^12 *16 %10056^12 *16 %1003136^6 *16 %100(3136%100)^6 *16 %10036^6 *16 %1001296^3 *16 %100(1296%100)^3 *1原创 2018-01-17 20:25:28 · 256 阅读 · 0 评论 -
模板 2018-01-21 FFT 快速傅里叶变换
终于学这个了!不瞒你说,第一次见到这个是某场比赛有个队伍的队名是"我的表弟不会快速傅里叶变换", 这个队伍好像还蛮强的耶.....第二次见到这个东西是在某次开题的时候,我还记得有个题目叫做 3 idiots (三个滞涨), 后来戏称我们队伍是滞涨组合, 原因是那次开的比赛我们三个滞涨全部把各自的题目看错了......啊跑题了, 反正那道题我们一开始用最朴素的方法去解,当然是超时的啦,原创 2018-01-21 18:00:23 · 348 阅读 · 0 评论 -
模板 2018-07-27 计算几何 圆相关
计算几何的模板实在是太臭太长了....*3包含有如下函数:1.三点确定一个圆,返回圆心坐标2.两个圆的公共部分面积3.直线和圆相交并返回交点(别问我要直线和圆是否相交的函数)const double PI=acos(-1.0);dot three_dot_circle(dot a,dot b,dot c){//三点确定一个圆,该函数返回圆心坐标 double a1...原创 2018-08-07 15:58:38 · 344 阅读 · 0 评论