
图论
文章平均质量分 70
nash142857
这个作者很懒,什么都没留下…
展开
-
ZOJ1136
比较简单,但被坑了好久,开始没用字符串,直接判定队列首元素大于2000000000,return 0..这题关键还是用mark数组记录余数达到优化。。搓的死,跑了500ms。#include#include#include#include#include#includeusing namespace std;int n,m;int p[12];int nu[6000];stru原创 2012-09-05 20:05:51 · 1065 阅读 · 0 评论 -
ZOj1015判弦图
这道题就是判断给出的是否为弦图,有关知识看http://wenku.baidu.com/view/a2bf4ad9ad51f01dc281f1df.html.MCS算法:#include#include#include#define maxn 1010using namespace std;int n,m;bool g[maxn][maxn];int l[maxn],vi[m原创 2012-08-28 20:26:33 · 1255 阅读 · 0 评论 -
ZOJ2588
tarjan算法#include#include#includeusing namespace std;int t,n,m,cnt,head[10010],tot,dfs[20010],low[20010],bridge[10010],ans;struct EDGE{ int to,nxt,tag,qu;}edge[200010];void add(int x,int y,int原创 2012-09-12 14:53:24 · 921 阅读 · 0 评论 -
ZOJ3378
挫爆了跑了快4s做法比较挫,先dfs到终点,即找一个路径,标记下,(割边只可能是路径上的),然后tarjan下即可#include#include#include#include#include#define MAXN 10003#define MAXM 200033using namespace std;int n,m,dfn[MAXN],low[MAXN],head[M原创 2012-09-14 22:09:53 · 475 阅读 · 0 评论 -
POJ1470
LCA问题的离线tarjan算法#include#include#include#define MAXN 1000#define MAXM 500000using namespace std;int n;int v[MAXN],root[MAXN],question[MAXN][MAXN],vi[MAXN],cnt[MAXN],f[MAXN];vectorvt[MAXN];int原创 2012-09-16 10:55:55 · 1347 阅读 · 0 评论 -
ZOJ1311
TARJAN算法判割点,注意下根节点的情况即可#include#include#include#include#include#define MAXN 110using namespace std;int n,ans,dfn[MAXN],low[MAXN],tot;char str[MAXN];vectorvt[MAXN];setst;int get(char *s){原创 2012-09-14 20:46:27 · 590 阅读 · 0 评论 -
CF div #151 E题
题目:点击打开链接大意是给出一个树,每个节点有个名字,求一个节点,所有k-child,有多少个不同name,首先记录每个层次的节点,但怎么知道某个节点是不是对应的k-child,这里应该dfs预处理的时候记录,每个节点,进入 出来的时间,然后二分下界,就可以得到自身k-child的范围,set搞一下就行了。。跑了890ms,估计是cin cout太慢了吧#include#include#i原创 2012-11-23 12:34:01 · 599 阅读 · 0 评论