自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒻菜_羊羊羊的专栏

编程是人造的学科,而数学是神造的学科.

  • 博客(11)
  • 收藏
  • 关注

转载 简明Vim练级攻略

文章内容如下:Vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。Vim the Six Billion Dollar editorBetter, Stronger,

2015-02-28 21:19:02 434

原创 计算几何--两圆的位置关系(求交点个数及交点坐标)

两圆相交。假定圆心分别为C1和C2,半径为r1和r2,圆心距为d,根据余弦定理可以算出C1C2到C1P1的角da,根据向量C1C2的极角a,加减da就可以得到C1P1和C1P2的极角。有了极角,就可以很方便地计算出P1和P2的坐标了。代码如下:#include#include#includeusing namespace std;struct Point{ double x,

2015-02-28 13:16:24 6497 3

原创 Uva11178计算几何 Morley's Theorem(Morley定理)

Morley’s TheoremInput: Standard InputOutput: Standard Output Morley’s theorem states that that the lines trisecting the angles of an arbitrary plane triangle meet at the vertices of an equilat

2015-02-26 15:53:32 474

转载 一步一步理解线段树

一 概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[a,b],那么(c=(a+b)/2)左儿子的区间是[a,c],右儿子的区间是[c+1,b]。

2015-02-15 19:21:10 362

原创 hdu1166 敌兵布阵(线段树入门题)

#includeusing namespace std;const int maxn = 50001;struct tree{ int left,right; int sum;}node;tree t[maxn * 3]; //结点数int a[maxn]; //元素的值void build(int num,int left,int right) //num表示序号

2015-02-15 17:31:35 491

原创 STL之priority_queue的使用

priority_queue说明:优先队列的实现就不说了,运用的是堆的知识,前几篇博客已经有提到。现在讲讲如何在比赛的时候直接用STL里面的队列头文件中的priority_queue来帮我们解题。下文有两种使用方法,一种是运用#include中的greater和less来帮我们实现数据的排序。还有一种是自定义,也就是自己写排序方法让priority_queue来根据我们排序方法来排序。代码

2015-02-13 18:02:12 512

原创 求解无向图的割点和桥

无向图的割点和桥割点和桥的概念:对于无向图G,如果删除某个点u后,连通分量数目增加(本来为一个连通集,现在变为多个),称u为图的割点。对于连通图,割点就是删除之后不再连通的点。当然了,桥也同理,只不过桥是边,也称为割边,如果删掉(u,v)之后连通分量数目增加,那么我们称(u,v)这条边为桥(割边)。求割点和桥的方法:①很容易想到的,暴力每个结点,然后用DFS判断连通分量是否增加,时

2015-02-11 20:19:45 826

原创 Kruskal最小生成树算法

#include#include#includeusing namespace std;const int maxn = 1001;int fa[maxn];int N,M;struct edge{ int x,y,w; edge(int x = 0,int y = 0,int w = 0):x(x),y(y),w(w) {}}e[maxn];bool cmp(e

2015-02-09 20:52:14 506

原创 网络流之最大流(Edmonds-Karp算法和Dinic算法)

Ford-Fulkerson算法的基本思路:Ford-Fulkerson算法是求解最大流的基本算法,主要思想是,每次在残量网络中寻找一条从源到汇的路径(称为增广路径),并沿着这条路径增加流量,该算法的改进为Edmonds-Karp算法,与Ford-Fulkerson算法基本无异。Edmonds-karp算法的复杂度为O(|V|*|E|²),在稀疏图(边少点多)中可以得到不错的运行效率。

2015-02-07 14:47:10 1320

原创 bellman-ford算法(判断是否存在负环)

Bellman-ford算法的一个重要应用是判负环。在迭代n-1次后如果还可以进行松弛操作,说明一定存在负环。如果采用队列实现,那么当某个结点入队了n次时可以判断出存在负环,代码如下:#include#include#include#include#include#includeusing namespace std;const int maxn = 1001;struct E

2015-02-04 19:57:41 4566

原创 图论之无权最短路径

无权最短路径顾名思义是边没有权值,所以我们可以把所有的边都赋值为1,求最短路径可以采用广度优先搜索(BFS),该方法按层处理顶点,距开始点最近的那些顶点首先被求值,而最远的那些顶点最后被求值。这很像对树的层序遍历。首先先把不通的路径置为无穷大(我这里置为-1),可以通的路置为1,然后运用广度优先搜索(使用的是队列实现),先取一个点作为始发点,这里取v3,然后把v3加入队列,然后一次寻找可以通的路,

2015-02-03 12:22:30 674

空空如也

空空如也

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

TA关注的人

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