自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浮点数比较

#include<math.h>const int INF = (1 << 31) - 1; const double eps = 1e-8;const double Pi = acos(-1.0);#define Equ(a, b) ((fabs((a)-(b))) < (eps))#define More(a, b) (((a) - (b)) &gt...

2019-03-31 11:37:10 156

原创 HDU 1166 (树状数组入门)

题目链接 :点击进入AC代码:#include<iostream>#include<cstring>#include<math.h>#include<stdio.h>#define lowbit(i) ((i) & (-i)) using namespace std;const int maxn = 100010;i...

2019-03-26 19:14:37 254

原创 PTA 1057 Stack (30 分)(分块思想)

1057Stack(30分)Stack is one of the most fundamental data structures, which is based on the principle of Last In First Out (LIFO). The basic operations include Push (inserting an element onto the t...

2019-03-14 14:27:37 324

原创 DAG最长路(最短路)

DAG就是有向无环图。DAG上的最长或者最短路是很重要的一类问题。很多问题都可以转化为DAG上的最长或者最短路径的问题。DAG求最短和最长路的方法一样。本算法主要解决2个问题1)求整个DAG中的最长路径(即不固定起点,也不固定终点)2)固定终点,求DAG的最长路径。1)求整个DAG中的最长路径(即不固定起点,也不固定终点)dp【i】表示从 i 号顶点出发能获得的最长路径...

2019-03-12 21:44:14 2788

原创 最长回文字符串

条件 : 如果S【i】 到 S 【j】 是回文字符串,dp为1 否则为0S【i】 == S 【j】并且S【i+1】到 S【j-1】也为回文字符串,那么S【i】 到S【j】 也为回文字符串。否则就不是。然后就是怎么递推出答案,我们要求 dp[ i ][ j ] 必须要知道 dp[ i + 1] [ j - 1]这就有意思了。往常的dp从 1 开始到len就不能用了。那我们就需要换种思...

2019-03-12 20:26:08 212

原创 最长公共子序列(LCS),最长连续公共子序列

最长上升子序列(LCS)#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;using namespace std;const int N = 100;char A[N], B[N];int dp[N][N];int main (){ int n; gets(A + 1); ...

2019-03-12 19:32:54 317

原创 小乐乐下象棋(记忆化搜索)

链接:https://ac.nowcoder.com/acm/problem/21560来源:牛客网题目描述小乐乐一天天就知道玩,这一天又想玩象棋。我们都知道马走日。现在给定一个棋盘,大小是n*m,把棋盘放在第一象限,棋盘的左下角是(0,0),右上角是(n - 1, m - 1);小乐乐想知道,一个马从左下角(0, 0)开始,走了k步之后,刚好走到右上角(n - 1, m - ...

2019-03-11 21:12:31 215

原创 关键路径

AOE知识点求 ve[ ] 数组 时间发生的最早时间,和拓扑序列stack&lt;int&gt; topOrder;bool topologicalSort(){ queue&lt;int&gt; q; for(int i = 0; i &lt; n; i ++){ if(inDegree[i] == 0){ q.push(i); } } while(!q.e...

2019-03-06 21:47:00 326

原创 SPAF

虽然Bellman-Ford 算法的思路很简洁,但是O(VE)的复杂度很高,然后怎么办呢?优化嘛,Bellman-Ford 算法的每轮操作都需要操作所有边,显然这个其中会有大量无意义的操作,严重影响算法性能,只有当某个顶点u的 d[u]改变时,从它出发的边的邻接点v 的d[v]才有可能改变是不是想到了什么???对了就是队列。我们建立一个队列,每次将队首的顶点元素u取出,然后对u出发的所...

2019-03-03 18:07:51 840 3

原创 Bellam_Ford

一般图都让求最短路,当我门的图中 有的边的权值变成负值 时便不能再用Dijkstra,去求最短路了。然后就出现了 正环图,零环图,和负环图, 负环图是无法求最短路的(因为 我们可以一直走这个环,然后不停减多少我们的路径的长度)。struct Node{ int v, dis;}; vector<Node> Adj[MAXV];int n;int dist[MAX...

2019-03-03 17:39:57 389

原创 Dijkstra(最短路)(模板)

Dijkstra时间复杂度对比Dijkstra: O(N^2);Dijkstra + 优先队列优化 : O (2 * E + V * logV)SPFA: O(k * E),k 为每个节点进入队列的次数,一般小于2,最坏 O(V * E);BellmanFord:O(V * E), 可检测负权。Floyd:O(n^3),j计算每个节点到节点的最短路。结论1)单源最短...

2019-03-01 21:45:44 714 4

原创 图 (Dijkstra)

有向图代码无向图代代码邻接矩阵比较简单就直接开一个二维数组就OK邻接表可以用vector,因为vector是个变长数组嘛,vector&lt;int&gt; Adj[N];可以设置出度邻接表,或者入度邻接表如果需要权值。那就弄个结构体嘛struct Node{ int v; //边的终点编号 int w; //边权 };vector&lt;Node&gt;...

2019-03-01 18:50:20 723

原创 图(有向图代码)

/* 测试数据5 71 2 121 4 181 3 162 3 23 4 45 2 224 5 10*/#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;queue&gt;#include&lt;algorithm&gt;using namespace std;typedef int Ve...

2019-03-01 17:23:10 1466

原创 图(无向图代码)

/* 测试数据5 71 2 121 4 181 3 162 3 23 4 45 2 224 5 10*/#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;queue&gt;#include&lt;algorithm&gt;using namespace std;typedef int Ve...

2019-03-01 17:21:42 1833

原创 哈夫曼树(优先队列)合并果子

Input第一行包含一个整数T(T&lt;=50),表示数据组数。每组数据第一行包含一个整数n(2&lt;=n&lt;=1000),表示果子的堆数。第二行包含n个正整数ai(ai&lt;=100),表示每堆果子的果子数。Output每组数据仅一行,表示最小合并代价。Sample Input241 2 3 453 5 2 1 4Sample Output...

2019-03-01 17:15:11 613

原创

堆是一棵完全二叉树,是用数组存放的。层序遍历存到数组中,用数组模拟。很有意思、大顶堆,小顶堆。5个要点就是 调整,建堆,插入,删除,排序。时间复杂度O(logn)1)调整const int maxn = 100;int heap[maxn], n = 10;void downAdjust(int low, int high){ int i = low, j = i *...

2019-03-01 16:55:51 168

原创 并查集 (模板)

附上知识博客:并查集4步走,初始化,查找,合并,路径压缩1)初始化for(int i = 0; i < = N; i++){ father[i] = i; //也可以为-1}2)查找//递推式 int findFather(int x){ while(x != father[x]){ x = father[x]; } return x;}/...

2019-03-01 12:38:27 220

空空如也

空空如也

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

TA关注的人

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