- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 URAL 1992
可持久化链表 #include #include #include #include #define N 500010 using namespace std; int lehead[N],rehead[N]; struct Node{ int val,next; }node[N]; int cnt; void addedge(int u,int val,int * lehea
2013-10-30 14:57:21 1175
原创 UVALive - 6151
n遍bfs,每一遍dfs求出包含某一顶点的所有环,这个dfs做不到,我卡了好久。 #include #include #include #include #define N 510 #define M 20100 using namespace std; int n,m; struct Edge{ int v,next; }edge[M*2]; int head[N],cnt;
2013-10-23 20:19:55 999
原创 POJ 3415 && HDU 4416
两道后缀数组的应用 POJ 3415求的是两个串的所有公共字串的个数 HDU 4416求的是两个串的所有不相同的公共字串的个数 POJ 3415 #include #include #include #include #define MAXN 200100 typedef long long ll; using namespace std; char r[MAXN]; i
2013-10-21 21:15:05 973
原创 UVALive5796点双联通分量or边双联通分量
两种方法都可以。 #include #include #include #include #include #define N 10010 #define M 100100 #define Q 1010 using namespace std; struct Edge{ int v,next; }edge[M*2 + N*4]; int head[N],cnt; int dfn
2013-10-20 20:05:48 1240
原创 Codeforces 163E && HDU 4117 && Noi2011阿狸的打字机 && boj 1602
http://codeforces.com/problemset/problem/163/E http://acm.hdu.edu.cn/showproblem.php?pid=4117 http://61.187.179.132/JudgeOnline/problem.php?id=2434 http://n.boj.me/onlinejudge/newoj/showProblem/show_problem.php?problem_id=1602 这四道题均为用数据结构维护的AC自动机。 基本想法是建好A
2013-10-07 14:34:32 1813 2
原创 HDU 4756 && HDU 4126
两个题次小生成树的扩展题。 先prim求出最小生成树,枚举删除每条树边后求分割成的两部分之间的最小连接费用,这一步用一个O(n^2)的n遍dfs求解。 不过HDU 4756这个题我被sqrt函数卡死,之前的写法HDU被卡爆栈,給sqrt传负数爆栈 //double tmp=(double)(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]); dis[i][j]=dis[j][i]=sqrt(tmp);
2013-10-04 18:23:50 1765 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人