库、算法讲解
ssl_xxy
这是一个蒟蒻
展开
-
Tarjan学习小记
怕自己忘了QwQ原创 2020-11-06 11:29:36 · 182 阅读 · 0 评论 -
BSGS算法求解高次同余方程
简单扯淡原创 2019-05-31 21:00:00 · 338 阅读 · 0 评论 -
一些关于线段树的操作记录
由于笔者本身总是弄不清楚线段树的各种写法之间的差异,故写在这里方便理解原创 2019-05-15 16:57:30 · 244 阅读 · 0 评论 -
最小生成树闲谈
非常不正经的讲解原创 2018-12-12 15:50:32 · 243 阅读 · 0 评论 -
矩阵乘法加速递推
引入先来看一下这样一道题:给定递推式f[i]=f[i−2]+f[i−1]+i+1f[i]=f[i−2]+f[i−1]+i+1f[i]=f[i-2]+f[i-1]+i+1若f[1]=f[2]=1f[1]=f[2]=1f[1]=f[2]=1求f[n](n<=1e9)f[n](n<=1e9)f[n](nfff也发现并不能找到规律,这个时候我们怎么办呢? 这就衍生除了一个...原创 2018-09-08 15:27:33 · 557 阅读 · 0 评论 -
浅谈快速乘
前言看到这个,有人会问,乘法运算本来不就是O(1)O(1)O(1)的吗?快速乘又是一个什么东西?今天这篇博客我们就来了解一下快速乘。正题快速乘,顾名思义,是一种能在O(1)O(1)O(1)时间内求出a×b modpa×b modpa\times b\ mod p的算法为什么需要用到快速乘呢,例如1e18乘1e18的积对1e9+7取模,而显然1e18乘1e18...原创 2018-08-13 08:06:14 · 2779 阅读 · 0 评论 -
浅谈常数优化
所谓常数优化,就是优化一些常数,使它们变得更小,常见的几种优化方式有更改输入输出方式,优化写法,位运算等途径进行各种操作使得程序更快这里主要提一些高效的优化方式读入优化非众所周知,对于C++来说有三种常见的读入方式即:cincincin,scsanfscsanfscsanf,readreadread(快读),这几种读入方式各有优点和缺点,这里简单提一下cincincin,C++...原创 2018-07-12 20:04:43 · 2883 阅读 · 0 评论 -
浅谈Johnson算法
在有向图的处理中,通常会遇到一个非常棘手的问题——那就是遇到负环,许多最短路算法例如Dij和Floyd都不可以处理负环(包括堆优化的),这个时候我们可以怎样处理呢?通常来说最常见的方法是使用能够处理负环的方法Bellman−Ford和基于其的Spfa,但是有人会问,可不可以不用这些呢,有!那就是Johnson原创 2018-07-11 19:36:29 · 8219 阅读 · 1 评论 -
快速幂详解
前言学杨辉三角的时候偶然看到了这个东西,然后应AJAJAJ做一题写一篇博客的要求,我就补发了这篇博客引入补充概念(乘方、幂、底数、指数)求nnn个相同因数的积的运算叫做乘方,乘方的结果叫做幂,例如 23=2∗2∗2=823=2∗2∗2=82^3=2*2*2=8 34=3∗3∗3∗3=8134=3∗3∗3∗3=813^4=3*3*3*3=81 乘方中有几个基本定理在后续中会...原创 2018-05-08 17:53:07 · 449 阅读 · 0 评论 -
线段树&树状数组
前言线段树和树状数组是两个十分重要的树形数据结构,今天我们以三个例题来详解并对比这几种算法的优缺点 注:若只学习概念可直接看概念及对比,例题无所谓概念线段树线段树是一棵二叉搜索树,与区间树相似,使用它可以快速的查找一个节点在若干条线段中出现的次数,时间复杂度为O(logn)O(logn)O(logn)树状数组树状数组就比较奇特了,它的节点会...原创 2018-04-26 17:23:55 · 890 阅读 · 0 评论 -
Tarjan算法求强联通分量【STL_stack的运用】
目录stack基本操作讲解1.push()2.top3.pop()4.empty()5.size()代码stack基本操作讲解1.push()push(x)用来将x压栈,时间复杂度为O(1)O(1)O(1)2.toptop()用来获得栈顶元素,时间复杂度为O(1)O(1)O(1)3.pop()pop()用来弹出栈顶元素,时...原创 2018-03-28 20:55:04 · 299 阅读 · 0 评论 -
SSL-1146 数字排序【STL_queue的运用】
目录大意思路代码大意给你一个正整数(最多位数为255位),将其中的数字重新排列一下,写出最大的一种排列方法。思路裸的排序,用优先队列(相当于堆)实现堆排序,时间复杂度O(nlogn)O(nlogn)O(nlogn)代码#include<cstdio>#include<queue>using namespace s...原创 2018-03-29 21:18:03 · 263 阅读 · 0 评论 -
SSL-1135 二分查找【二分,STL_algorithm,hash】
目录大意数据范围二分思路代码algorithm思路代码1代码2HASH思路代码大意有一个按从小到大顺序组成的长度为nnn的序列,现给出一个数,查询此数是否在这个序列中。若在,输出它的序号,若不再输出No Found.No Found.No\ Found.数据范围n<=10000,−231<=a[...原创 2018-03-29 21:11:24 · 214 阅读 · 0 评论 -
C++:Queue(队列)
前言C++功能强大,为开发者提供了标准模板库(Standard Template Library)简称STL库,其中封装了许多实用的容器。容器可以理解成能够实现很多功能的系统自带函数。开发者可以根据调用格式直接调用,而不用关心其内部实现的原理和具体代码,十分方便快捷。常见的库有: (vector,stack,queue,map,set,string,algorithm)等正题...原创 2018-03-16 20:49:40 · 561 阅读 · 0 评论