自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构——线段树

线段树一.概念线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界,因此有时需要离散化让空间压缩。(来自百度)二.代码分段解析代码中涉及许多左移和右移操作,“>>1”=...

2020-02-17 17:49:55 131

原创 数据结构——扫描线

扫描线算法基础扫描线刚刚学完,自己总结总结巩固一下,如果有不足或不对的地方,请大佬们及时指出。1. 知识点首先,学习扫描线,我们要有一定线段树和离散化的知识2. 作用它可以帮助我们解决一些重叠矩形的面积和周长的问题3. 具体思路我的做题思路一般是先根据样例画出图形和树的结构,以便观察更新规律,找到“pushup”子函数的写法下面,讲一下扫描线的具体实现方法:如图,我们从下往上便...

2020-02-17 17:25:40 340

原创 最长回文子串——马拉车

最长回文子串此博客不会讲太多原理的东西,主要是平时复习巩固的时候用一下如果是初学者,可见大佬链接:https://www.cnblogs.com/love-yh/p/7072161.html.p[]数组的求取p[]用来存res字符串的回文半径,p[i]存res[i]为中心的回文串的半径,通过简单推理可得,p[i]-1就是以s[i]为中心的回文串的长度1.i<=rij是i关于mi...

2019-12-01 14:18:01 133 1

原创 带权并查集

带权并查集为什么要用带权并查集普通并查集只能解决集合间的关系,判断元素属不属于一个集合和一共有多少个集合带权并查集可以判断集合内部元素之间的关系,甚至是元素之间的权值题目1.食物链题目链接:http://poj.org/problem?id=1182.动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都...

2019-11-24 10:55:01 109

原创 素数筛法

素数筛法1.埃式筛#include <iostream>#include<stdio.h>#include<algorithm>#define me(a,b) memset(a,b,sizeof(a))const int maxn=1e6+10;using namespace std;int a[maxn],b[maxn];int main()...

2019-07-30 09:23:58 108

原创 动态规划(一)——最大连续子序列的和

最大连续子序列的和模板题链接Max Sum .模板代码:#include <iostream>#include<stdio.h>#include<math.h>#include<algorithm>#define me(a,b) memset(a,b,sizeof(a))const int maxn=5e5+10;using nam...

2019-07-29 10:58:58 210

原创 确定比赛名次——(拓扑排序)

拓扑排序一.大致思路1.将入度为0的点压入队列,将V0压入队列2.取出队首元素V0,将V1,V3,V4的入度减1;3.再次判断入度为0的点,将V1压入队列4.取出队首元素V1,V3的入度减1;5.再次判断入度为0的点,将V3压入队列;6.取出队首元素V3,V4和V2的入度减1;7.再次判断入度为0的点,将V4和V2压入队列8.取出队首元素V4或V2(具体先取出那个根据题目要求判...

2019-07-20 19:48:02 281

原创 图(一)——最短路(Floyd)

最短路(Floyd)可解决全员最短路问题,即可求出任意一点到另一点的最短路径,但因为主要代码有三层循环,只能在数据较小的时候使用#include <iostream>#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include&l...

2019-07-20 10:59:18 115

原创 图(一)——最短路(SPFA)

最短路(SPFA)SPFA算法是Bellman-Ford算法优化得来的,可用来判断是否存在从源点可达的负环(Dijkstra无法做到)#include <iostream>#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#includ...

2019-07-20 10:39:49 102

原创 How Many Tables ——(并查集)

并查集并查集的主要思想就是查找两个子节点的父亲节点是否是同一个,和把两个父亲节点的集合合成一个。并查集的路径压缩:大概思想就是把一棵树上的所有子节点(和根节点直接相连的,没有和根节点直接相连的)全部都直接连在根节点上。并查集算法主要就是查找父亲节点,所以有些路径本来就没有什么必要,压缩掉也没关系#include <iostream>#include<stdio.h>...

2019-07-19 09:40:41 111

原创 STL常用

STL常用一.vector1. 应用用于普通数组会超内存的情况以邻接矩阵的方式存储图2. 定义:typename可以是int,double,char,结构体3. 元素访问下标访问迭代器访问:vector< typename >::iterator it;4. 函数#include<vector>using namespace std;vector&l...

2019-07-18 20:30:37 1179

原创 图(一)——最短路(Dijkstra)

最短路常用的最短路算法有Dijkstra,SPFA,Floyd,可根据题目不同选择不同算法一.Dijkstra算法可用来解决单源最短路问题,即起始点是固定的,只能算一固定点到其他所有点的最短路问题大致思路:1.设定以V0为起点,将V0到其他所有点距离设置为INF(无穷大)2.为访问的点{V0,V1,V2,V3,V4,V5},在这些点中,距...

2019-07-17 20:45:07 591

原创 快速幂

快速幂(取模)快速幂矩阵快速幂首先我们说一下取模规则:(ab)%c=((a%c)(b%c))%c(a±b)%c=((a%c)±(b%c))%c注:千万千万不要漏掉了最外面的取余,漏掉就错了!!!快速幂对于an来说;如果n较小,我们可以直接计算,时间复杂度为O(n),而如果n过大,可能在某些题中就会有超时的风险,所以我们有了快速幂来帮我们优化时间。大致思路为:1.将n转...

2019-07-11 16:43:28 88

原创 青蛙的约会 扩展GCD

青蛙的约会两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只...

2019-07-10 20:40:12 146

原创 Relatives 互质数个数

RelativesGiven n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0, z > 0...

2019-07-09 19:59:20 519

空空如也

空空如也

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

TA关注的人

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