自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AcWing 255. 第K小数

时间上要比y的慢一倍。大体思想就是,我们从小到大依次加入一个数,每加入一个就记录一个版本,线段树里记录区间里数的数量,在查询时,只要二分出区间数的数量大于等于k的最小版本即可,这个版本对应插入的点就是要求的第 k 小点,的和 y 是一个量级的,可能是由于常数问题,所以运行上要慢。自己想出来的,感觉要容易想到,使用。

2024-06-22 16:43:42 225

原创 相关建图技巧

出树点,如果从出树的某个点出发,可以通过绿边到达它的父区间(节点)能到达的点,而通过蓝边(新建边),可以进入树,到了入树,又可以通过绿边进入子区间(节点),最后通过红边到达对应出树的子节点。这时候还没完,大体思路是这样但是建图时还有一个问题,即我们线段树修改一次最多找一个区间,这时候也能看出来用聚点的好处,那么我们连边函数就要写两个,一个从出树到聚点,一个从聚点到入树。首先定义两颗线段树树,一颗出树一颗入树,在入树内父节点都连向子节点,在出树内子节点都连向父节点,然后两个数对应节点从入树到出树连一条边。

2024-06-07 11:06:14 579

原创 P2716 和谐的雪花

本题解解法为单调对列。当然,看题目,是可以使用 ST 表或者线段树之类的做。中心思想就是用单调队列维护固定区间内最大最小值,加上二分答案。的取值,剩下的就是用单调队列,正常单调一个矩阵是不能的,但是可以用两次单调队列,把一个矩阵的最值,压到矩阵的最右下角,然后求解即可。是一模一样的,评蓝有点高了。根据题意,很容易想象到二分。

2024-06-06 10:57:04 293

原创 中国剩余定理(新)

中国剩余定理(孙子定理),这是用来解出一堆线性同余方程组同一解的定理,通常会给出一对同余方程。,对于其他的等式同理, 这就说明,这是一个正确解。(这里有多组解的原因也是, 有。个未知数(把同余方程列乘等式),因此有无数解)你可以尝试带入进去。比如这里带入第一个式子。来得到一组解, 因此只需要证明可行性即可。由上面我们可以知道,中国剩余定理是通过。的乘积,那么通解应该也就知道了,即。这个因子,那么其他项就可以被取模。就一定可以通过 exgcd 求出。, 那么M1 * t1 在取模。给完美消掉,只剩下第一项。

2024-06-05 13:51:13 866

原创 exgcd 通解(新)

什么是通解,我们知道二元一次方程,是如果只有一个式子,那么解会有无数个,而通解就是指让我们只找到一个解就可以推出其他所有解的式子。的公约数变大, 这就和我们d是最大公约数就矛盾了, 所以a’和b’互质)对于代码中,因为 C++ 强大的取负模的特性,所以更准确代码形式的应该是。也是整数,,依旧满足要求)不然就消不掉。,就会产生小数, 就不是整数了,因此。给删掉, 剩下的就是最小的正整数解。知道了定义下面就是推式子了,首先设。互质(如果他们不互质,附带最小正整数解就是。

2024-06-02 15:41:05 780

原创 扩展欧几里得(新)

重新整理一下扩欧。扩展欧几里得就是欧几里得算法也就是辗转相除法的扩展应用,扩展后的作用主要为求二元一次方程组的一个解。

2024-06-02 14:55:04 473

原创 欧拉函数(新)

于是就可以通过分解NNN的质因数求出来φN\varphi(N)φN,由此也可以看出,一个数的欧拉函数的大小和质数的次幂无关。试除法分解质因数是OnO(\sqrt n)On​的, 所以求φN\varphi(N)φN也就是OnO(\sqrt n)On​的具体见代码int n, m;cin >> T;cin >> n;i

2024-05-26 16:38:09 210

原创 欧拉函数(新)

欧拉函数φ的定义,φi表示从1i之间和i互质的数的数量 (a和b互质即gcdab1欧拉函数是积性函数,例如ab都为质数,那么φabφa×φb,递推式为φabφgcdab))φa×φb×gcdab​(证明暂时搁置)设一个数N可得Np1b1​​×p2b2​​×p3b3​​××pkbk​​p为质数因为还因为1pb一共有pb个数,不和pb互质的数有。

2024-05-25 21:57:48 268

原创 Floyd

为数不多的全源最短路算法,全源即,全部点为原点,即算出任意两个点之间的最短路径。前提条件,没有负环。可有负权。因为中心思想是动态规划,所以有很强的性质,做题的时候注意利用。

2024-05-25 17:35:26 402

原创 Bellman_Ford

基本上用不到的算法,和高精度一样,不常用,用到了又无可代替常用于限制边数的最短路算法。

2024-05-25 17:33:22 288

原创 01bfs

这是利用bfs进行最短路的思想,使用双堆队列即 deque 进行操作。简单说从起点开始加入的每一条边,0权放到 deque 最左边,1权放到最右边。这样进行 bfs 时,每次我们都用当前最短的边对其他边进行松弛,而这就是 dijkstra 的思想,从某种意义上说,01bfs 的 dijkstra 的一种特殊情况。众所周知,dijkstra 时间复杂度是O((nmlogm的,logm。

2024-05-25 17:32:40 263

原创 ST表(解决RMQ问题)

有点时间补一下这玩意吧。首先先说明 RMQ 是一类问题,指,而 ST 表是解决 RMQ 问题的一把(手术刀,锋利但不通用)。

2024-05-25 17:30:35 318

原创 LCA(最近公共祖先)

LCA 就是最近公共祖先,表示为lcaab,它的求解方法主要有两种。

2024-05-21 15:04:23 1000 1

原创 Dijkstra(证明)

非常经典的单源最短路算法。仅能用于正权图(边权可为0)拥有朴素版On2和堆优化版O((nmlogm朴素版一般用邻接矩阵存图而优化版使用邻接表或者链式前向星,我常用链式前向星。

2024-05-11 21:56:16 1115 2

原创 线段树的笔记

线段树及其强大的东西,可以在O(4logn)时间内完成,区间修改(增删改减),区间查询的操作 ,即所有关于区间的操作,它都能以O(4logn)的时间完成。如果不下传那么当modify时会用子节点来更新父节点的值(pushup),如此,因为懒标记没下传,子节点的值不是真实值,因此更新的父节点的值就会错误,导致修改的错误。有时候很会遇到仅区间加的情况,这时候可以不用懒标记,通过套一个差分数组,就可以实现区间修改,当然查询的时间复杂度也会增加,但对于某些,如区间最值等,这东西非常好用了。

2024-04-30 11:10:55 501

原创 转移矩阵的设计

算出来最后乘上一个起始矩阵,时间复杂度是O(logn)的,利用这个就可以加速递推式的转移。而矩阵有结合律,所以我们可以先把要转移的矩阵次数,利用快速幂的原理,用logn的时间。最简单最典型的转移矩阵就是斐波那契数列的转移矩阵。数,并且C * B得到的也必须满足上面情况,即A每乘一次B,就可以得到含有。的矩阵,先说明,转移矩阵的设计没有定法,全靠经验。转移矩阵B的边长必须是A的列数,这里设为。设计,目的是使A * B的结果矩阵C含有。更简单的说,就是可以转移出下面情况。内的数,要保证用这些数可以递推出。

2024-04-28 19:37:33 294

原创 矩阵快速幂

众所周知,矩阵具有而具有,在有的时候,比如让你求斐波那契数列的第10^18项,递推方程是正常递推肯定是算不出来的,这时候就要用到矩阵去运算。我们可以设计一个[[转移矩阵的设计 | 转移矩阵]]通过它来快速算出目的项。前置知识是[[快速幂 & 龟速乘 & 快速乘 | 快速幂]]和[[矩阵]]核心思想和一样只不过这里是用矩阵乘法来实现,所以代码中的乘都变成的矩阵相乘的函数其限制条件就是, 矩阵快速幂的矩阵A里面是, 并且长宽如0 11 1这就是斐波那契数列的(快速幂加速计算的矩阵)

2024-04-28 19:36:58 105

原创 矩阵(基本知识)

/ 长, 宽// 矩阵数组那么矩阵有什么作用呢?在定义中, 矩阵满足加, 减, 乘三种运算。

2024-04-28 19:04:23 402

原创 背包的笔记

一般代码只是例子,具体使用依据题目来, DP是一种思想,代码都以属性为最大值等等为例子。

2024-04-26 11:52:55 492 1

原创 中国剩余定理(推导)

【推导】中国剩余定理。

2024-04-02 15:43:05 256 1

原创 欧几里得算法/碾转相除法(证明)

【代码】欧几里得算法(碾转相除法)

2024-03-26 15:23:42 178

原创 扩展欧几里得(逆元)

求逆元还有一种方法, 也是一种特殊的情况,所以这个式子可以用exgcd进行求解。什么是逆元, 逆元就是形如。这个式子我们可以把他展开。[[exgcd通解]]这就是逆元的特殊求法。[[欧几里得算法]]

2024-03-24 21:40:40 254

原创 扩展欧几里得(exgcd)通解及其证明

【代码】扩展欧几里得(exgcd)通解及其证明。

2024-03-24 21:39:54 122 2

空空如也

空空如也

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

TA关注的人

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