
ACM/模版
文章平均质量分 73
Magic_____
当神已无能为力便由魔来普度众生
展开
-
用Topo序列求关键路径
//时间复杂度(n+e) n:顶点数 e:边数#include#include#include#includeusing namespace std;const int MAXN=10000;struct Node{ int x; int v;};vector Map[MAXN];stack num,T; //T为拓扑序列顶点栈,num为零入度顶点栈i原创 2013-07-16 14:45:31 · 825 阅读 · 0 评论 -
Topo排序
//时间复杂度(n+e) n:顶点数 e:边数#include#include#includeusing namespace std;const int MAXN=1000;struct cmp{ bool operator()(int x,int y) { return x>y; }};vector map[MAXN];priority_queue,cmp>原创 2013-07-16 14:43:57 · 1207 阅读 · 0 评论 -
用Treap实现的名次树
//用Treap实现的名次树//名次树支持两个新操作//1: Kth(k):找出第k小元素//2: Rank(x):值x的“名次”,即比x小的结点个数加1#include#includestruct Node{ Node *ch[2]; //左右子树 int r; //优先级。数值越大,优先级越高 int v; //值 i原创 2013-07-16 13:00:15 · 1899 阅读 · 0 评论 -
Treap的动态平衡BST
#include#includestruct Node{ Node *ch[2]; //左右子树 int r; //优先级。数值越大,优先级越高 int v; //值 bool operator <(const Node& rhs)const { //根据优先级比较结点 return r<rhs.r; } int cmp(int x)const{原创 2013-07-15 16:10:30 · 939 阅读 · 0 评论 -
后缀数组 (由倍增算法构造)
//倍增算法构造后缀数组//时间复杂度O(nlogn) 空间复杂度O(n)#include#include#includeusing namespace std;#define MAXN 110000int n; //n为处理字符串s的长度char s[MAXN],tmp[MAXN]; //s为输入的字符串int原创 2013-08-01 15:41:11 · 1135 阅读 · 0 评论 -
Poj 3468 A Simple Problem with Integers (线段树 区间更新 区间求和)
A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 37261 Accepted: 10756Case Time Limit: 2000MSDescriptionYou have N i原创 2012-10-09 22:16:35 · 564 阅读 · 0 评论 -
hdu 1166 敌兵布阵 (线段树 单点更新 区间求和)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20994 Accepted Submission(s): 9209Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C原创 2012-10-09 22:24:19 · 670 阅读 · 0 评论 -
计算点-双连通分量算法
//割顶的bccno无意义#include#include#include#includeusing namespace std;#define maxn 1100struct Edge{ int u,v;};int pre[maxn],iscut[maxn],bccno[maxn],dfs_clock,bcc_cnt;stack S;vector G[maxn原创 2013-08-19 16:59:48 · 998 阅读 · 0 评论