自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 算法学习——整数分块

整数分块的介绍

2022-06-12 15:46:51 412 1

原创 算法竞赛—乘法逆元

乘法逆元定义:对于正整数aaa,存在至少一个xxx使得ax≡1mod  pax\equiv1\mod pax≡1modp ,则称所有满足以上条件的xxx均为aaa在模ppp意义下的乘法逆元,一般记作a−1a^{-1}a−1。用扩展欧几里得算法求逆元本质是求线性同余方程ax≡1mod  pax\equiv1 \mod pax≡1modp的解xxx。上式可变形为ax+py=1(x,y∈N)ax+py=1(x,y \in N)ax+py=1(x,y∈N),由裴蜀定理可知,gcd(a,p)=1gcd(a,

2022-01-30 14:49:57 504

原创 算法竞赛—欧拉筛素数(线性筛)

int n;//求1 ~ n之间的素数int prime[N],cnt;//prime数组存放素数 cnt为prime的长度int st[N];//数字i是否为素数void euler(){ for(int i=2;i<=n;i++){ if(!st[i]){ prime[++cnt]=i; } for(int j=1;j<=cnt&&prime[j]<=n/i;j++){ st[i*prime[j]]=1; if(i%prime[

2022-01-30 14:23:33 844

原创 算法竞赛——并查集

并查集功能:1.快速合并集合 2.快速查找两个元素是否在同一个集合内 (时间复杂度均为log(n)log(n)log(n))int par[N],cnt[N]; //储存节点N的父节点 特别规定根节点的父节点是其本身 void init(){ //初始化:令每个节点的父节点为其自身 即初始时每个节点自成一个集合 for(int i=1;i<=N;i++){ par[i]=i; cnt[i]=1; } return ;}void unit(int x,int y){ par[f

2022-01-22 15:37:21 270

原创 算法竞赛—KMP字符串匹配算法

拖延症晚期的笔者时隔N天来发第二篇blog了。其实笔者在此期间很多次都想将每个学到的新算法都写篇blog,然而笔者发现如果每篇都要很精细、将每条论述每条逻辑表达得十分清晰的话,那笔者码blog的时间的可能会过于消耗业余时间了,并且也没有想动手的动力了。于是乎,从今往后(如果这篇之后还有续章的话),会尽量减少文字量,仅保留主要代码及必要注释。(若有幸有读者观看并对某处有疑惑,可以在评论区留言或者私信)KMP算法——从S1字符串中快速寻找所有S2子串例:S1字符串为ABABABC,目标子串S2为ABA,则

2022-01-16 20:23:40 376

原创 算法竞赛—快速幂

快速幂算法学习

2021-12-18 13:13:52 259

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除