自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树状数组

具体的原理稍后补上,代码如下://树状数组可以用来区间求和 时间复杂度为log(n)#include<iostream>#define maxN 100using namespace std;int C[maxN];int A[maxN];int lowbit(int x){ return x&(-x);}//Ci=Ai-lowbit(i)+1+.....

2018-08-11 00:23:36 110

原创 POJ1611

#include<stdio.h>#define MAX 30005int a[MAX],pre[MAX];int find(int x){ if(x!=pre[x]) //找到其祖先节点 pre[x] = find(pre[x]); //由父节点继续向上递归查询 ,并将其父节点变成找到的 return ...

2018-08-11 00:07:01 884

原创 hdu1232畅通工程

#include<iostream>#include<cstdio>using namespace std;int p[1001];int find(int x){ while(x!=p[x]) { x=p[x]; } return x;}void combine(int x,int y){ int...

2018-08-10 23:28:23 95

转载 并查集

很有意思的并查集的讲解:https://blog.csdn.net/u013546077/article/details/64509038 

2018-08-10 22:49:21 117

原创 线段树

#include<iostream>#include<algorithm>#include<cmath>#define MAXSIZE 100#define INF 10000using namespace std;struct Data{int val;};Data segmentTree[MAXSIZE];void buildTree(...

2018-08-07 21:34:57 95

原创 RMQ算法:区间最小值

假如一系列的查询数组区间的最小值,使用暴力遍历的话,最坏情况是O(n^2),而RMQ算法运用动态规划以及位运算的方法,预处理的时间复杂度为O(nlogn),查询时间复杂度为O(1),代码如下://rmq算法是解决区间最小值问题的,预处理的时间复杂度是nlog(n),查询时间是O(1)#include<iostream>#include<vector>#inclu...

2018-08-04 19:48:08 685

原创 PKU2352

题目链接:http://poj.org/problem?id=2352分析:假如把数据进行排序之后遍历,则时间复杂度会很高,多达O(n),因为可以抽象为区间求和问题,所以可以使用线段树来解决问题,初始化的时间复杂度为nlog(n),查询时间为O(1)。思路:因为是在左下方,所以可以先按x排序,若x相同,则y小的在后面的方式排序,需注意下标应从1开始。代码如下:#include&l...

2018-08-03 20:44:08 128

原创 876. Middle of the Linked List

时间复杂度为O(n) ,空间复杂度为O(1),双指针,代码如下:class Solution {public: ListNode* middleNode(ListNode* head) { ListNode *f,*s; f=s=head; while(s!=NULL && s->next!=NULL){ s...

2018-07-30 20:05:19 171

空空如也

空空如也

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

TA关注的人

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