- 博客(5)
- 收藏
- 关注

原创 LCA的离线算法(Tarjan)与在线算法(RMQ)详解
一、 LCA问题的简介LCA问题(Least Common Ancestors,最近公共祖先问题),是指给定一棵有根树T,给出若干个查询LCA(u, v)(通常查询数量较大),每次求树T中两个顶点x和y的最近公共祖先。询问:LCA(x, y),即求x与y的最近公共祖先。题目描述:通常是先给定一棵有根树,然后询问(两种询问方式,下文会提及)。 二、LCA题目的分类
2014-12-08 14:49:03
1579
原创 poj2187-Beauty Contest(极角排序+Graham Scan)
本题为凸包入门题题意:在输入的一堆散点(坐标为整数)中,找出最远点对距离的平方。即求凸包直径。用到的知识:极角排序(叉积)、Graham Scan算法用到的数据结构:栈(用vector实现)说明:1.可以解决共线和点数为2的情况 2.叉积cross(a, b, c),是以向量(c, a)为开始边,逆时针走到向量(b, c)的角的sin值(正数->角角>180度,0->点
2015-04-17 20:11:42
469
原创 poj1833-排列
应用STL中函数next_permutation的原理解题说明:以下所说的数组间大小指的是字典排序大小。一、解题思路1.通过每次都找到当前数组的下一个更大的排列(当当前数组为最大时,下一个排列循环为最小的数组),进行k次该步骤就能找到下k个大的数组了。二、解体方法1.从数组最后一位开始找非递增的两个数,假设该前后两个数的下标分别为i,j(当没有时说明数组为最大,
2014-05-30 18:28:15
740
原创 Day-2
一、四种基本的排序方法(以由大到小为例)及空间时间复杂度:1)简单排序void xz_sort(int a[],int n){ int i,j,t,max; for(i=0;i { max=i; for(j=i+1;j if(a[max] if(max!=i) t=a[max
2014-01-13 00:03:52
593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人