模板
文章平均质量分 55
Fighter_sky
小蒟蒻啦~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快读快写(以及一些其他神奇技巧)の小攻略
作为一个专业 fake快读快写压行宏定义类人,今天就来给大家讲一些有趣的小技巧原创 2021-09-09 11:34:56 · 4678 阅读 · 8 评论 -
普通莫队算法
莫队算法是由莫涛提出的算法。在莫涛提出莫队算法之前,莫队算法已经在 Codeforces 的高手圈里小范围流传,但是莫涛是第一个对莫队算法进行详细归纳总结的人。莫涛提出莫队算法时,只分析了普通莫队算法,但是经过 OIer 和 ACMer 的集体智慧改造,莫队有了多种扩展版本。(来自oiwiki)原创 2021-06-24 21:12:04 · 327 阅读 · 0 评论 -
线段树基础
终于完成了线段树的一些基础部分 总结一下吧原创 2021-06-13 23:02:18 · 253 阅读 · 0 评论 -
线段树
只是板子 #include<bits/stdc++.h> using namespace std; long long P; long long n,m; long long tr[400010],a[100010],lz[400010]={0},lz1[400010]; void build(long long p,long long l,long long r){ lz1[p]=1; if(l==r){ tr[p]=a[l]; tr[p]%=P; return; } lo原创 2021-04-09 16:31:52 · 157 阅读 · 0 评论 -
迷宫问题
经典的迷宫问题 两种解法 1.DFS,没啥可说的 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> using namespace std; int m,n,a[1000][1000],sx,sy,fx,fy,vis[1000][1000],sum[100000][10],ifres,k; int dx[4] = {0,-1,0,1}; int dy[4] = {原创 2021-04-08 20:01:44 · 166 阅读 · 0 评论 -
最短路
最近钻研些奇怪的最短路问题,被深深的恶心到了 在此想和大家分享一下 1.分层图最短路 大多数都是删边形式出题,比如使某一条边免费,但是,有时二分最短路也会出现删边,这时就要看好它想要求什么:如果求删去k条边之后的最短路径,那么没跑了,就是你了!分层图! 那么分层图问题如何解决呢? 显然,对于不同的删除次数,我们可以将它想成神奇的平行空间,每个节点都对应着平行空间的节点,而对于删除一条边,我们可以想象成打开了一扇折跃门(集结部队法宝),从某扇折跃门到达目标地点的距离为0,这样,我们就可以在删除路径时直接通过折原创 2021-03-16 13:22:34 · 278 阅读 · 0 评论 -
ST表
原理: ST表类似树状数组,线段树这两种算法,是一种用于解决RMQ(Range Minimum/Maximum Query,即区间最值查询)问题的离线算法 与线段树相比,预处理复杂度同为O(nlogn),查询时间上,ST表为O(1),线段树为O(logn) 初始化: 查询: 代码: /*一维 #include <bits/stdc++.h> using namespace std; const int logn = 21; const int maxn = 2000005; long lo原创 2021-01-27 21:40:56 · 375 阅读 · 0 评论 -
矩阵快速幂求递推QAQ
矩阵快速幂(warning:本体多次WA): 矩阵快速幂用途广泛,多用于递推求解,本文以肥波垃圾斐波那契数列为例 题解: 其实就是将矩阵运算套入到快速幂运算中,主要难点在于如何导出矩阵,如斐波那契数列中运算即为 {1110}n−2∗{f 2 f 1 }\left\{ \begin{matrix} 1&1\\1&0\end{matrix} \right\}^{n-2}*\left\{\begin{matrix} f~2~\\f~1~\end{matrix原创 2020-11-28 17:10:36 · 390 阅读 · 0 评论 -
m(归并)sort
归并排序: 时间复杂度:稳定的O(nlogn) 一句话题解: 将一个有序数列不断二分最终化为一个元素,再将每组有序数列有序合并 时间复杂度证明: 设复杂度为f(n) 则根据归并原理可得 f(n)=2(f(n/2))+n 如此反复可得 f(n)=2k*f(n/2k)+kn 当且仅当n/2k=1时,归并排序停止 此时k=logn 即f(n)=nlogn 即O(nlogn) 代码 #include<bits/stdc++.h> using namespace std; int n,a[101],b[1原创 2020-11-22 23:54:01 · 359 阅读 · 0 评论 -
高精度计算
重载运算符方面没完全明白,还需要理解 重载运算符 #include <bits/stdc++.h> using namespace std; const int maxn = 1000; struct bign { int d[maxn], len; void clean() { while (len > 1 && !d[len - 1]) len--; } bign() { memset(d, 0,原创 2021-01-18 11:51:23 · 221 阅读 · 1 评论 -
树状数组
原理: 如图: 黑色数组代表原来的数组(下面用A[i]代替),红色结构代表我们的树状数组(下面用C[i]代替),发现没有,每个位置只有一个方框,令每个位置存的就是子节点的值的和,则有 C[1] = A[1]; C[2] = A[1] + A[2]; C[3] = A[3]; C[4] = A[1] + A[2] + A[3] + A[4]; C[5] = A[5]; C[6] = A[5] + A[6]; C[7] = A[7]; C[8] = A[1] + A[2] + A[3] + A[4] + A[原创 2021-01-27 21:18:17 · 224 阅读 · 0 评论
分享