- 博客(6)
- 收藏
- 关注
原创 树的直径
之前写过对bfs的理解传送门:bfs理解如果理解的话很好写的现在简单说一下,求解树的直径,我做过俩种类型的题:第一种:树是以图的形式给出的,求最远端点的最小步数,bfs更新找到最远端点第二种:给你图的每一条边,首先你需要进行存图,bfs更新找到最大值。下面给出俩个题:After hearing about the epidemic of obesity in the U...
2020-03-19 15:04:19 64
原创 bfs的理解
bfs的小理解通常来说bfs是和队列(优先队列)联系在一起的。解决的问题如果是队列的话用于求解最小步数,因为bfs的遍历方法为层次遍历,即每一层的步数都相同,因为有判重数组的存在不会重复的进行遍历如果是优先队列的话用于求最短时间(每一层步数不一定相同)小步数优先。举个例子模拟一下从2开始遍历的1,3,6在第一层,5,4,7在第二层,8在第三层,当每一层步数都相同时,用...
2020-03-18 23:39:39 1259
原创 线段数详解(树状数组运用范围更广)
目录时间复杂度以及适用范围线段数其实就是个二叉树。线段数的储存线段数的函数建立线段数求区间和求区间最大值修改区间中某个元素的值举个例子时间复杂度以及适用范围线段数比树状数组时间复杂度要大,但是应用更广泛,一般用于复杂的区间求和和求最大值,比如求取最大值为题就不能用树状数组,要用线段数。线段数其实就是个二叉树。线段数的储存用结构体存...
2020-03-17 22:19:34 765 1
原创 分解质因数以及素数打表
试题 基础练习 分解质因数资源限制时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2...
2020-03-06 19:15:50 249
原创 51nod2849信息传递(图论,并查集,tarjan)
并查集模板\查找根节点:int get(int x){ if(fa[x]==x) return x; return fa[x]=get(fa[x]);//或者是get(fa[x]),这里相当于记忆化数组,减少复杂度} 合并根节点:void merge(int x,int y){ int tx=get(x);int ty=get(y); if(tx!=ty) fa[tx...
2020-03-06 13:31:43 176
原创 高精度算法
高精度加法codevector<int> add(vector<int> &A,vector<int> &B){ if(A.size()<B.size()) return add(B,A); vector<int> C; int t=0; for(int i=0;i<A.size();...
2020-03-02 21:57:53 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人