果然A得辛苦,我想是用错模板了。囧,好累。http://www.cppblog.com/abilitytao/archive/2009/09/21/96886.html
#include<iostream> #include<string> #include<cstdio> #include<vector> using namespace std; const int maxn=906; vector<int >p[maxn]; class node { public: int v,next; }; node g[maxn*4]; int head[maxn],in[maxn],time[maxn],vis[maxn]; int f[maxn],r[maxn],ancestor[maxn]; int cnt,n,m; void ini() { int i; for(i=1;i<=n;i++) { f[i]=i;r[i]=1; in[i]=0;time[i]=0; head[i]=0; vis[i]=0;ancestor[i]=0; p[i].clear (); } cnt=0; } void read() { int i,a,b,c,k; char ch; for(i=0;i<n;i++) { scanf("%d:(%d)",&a,& b); for(k=0;k<b;k++) { scanf("%d",&c); g[++cnt].v =c; g[cnt].next =head[a]; head[a]=cnt; in[c]++; } } scanf("%d",&m); for(i=0;i<m;i++) { while(getchar()!='('); scanf("%d %d)",&a,&b); p[a].push_back (b); p[b].push_back (a); } } int Find(int u) { if(f[u]==u) return u; f[u]=Find(f[u]); return f[u]; } void Union(int u,int v) { int a=Find(u); int b=Find(v); if(a==b) return ; if(r[a]<r[b]) { f[a]=b;r[b]+=r[a]; } else { f[b]=a;r[a]+=r[b]; } } void LCA(int u) { ancestor[u]=u; int i; for(i=head[u];i;i=g[i].next ) { int v=g[i].v; LCA(v); Union(u,v); ancestor[Find(u)]=u; } vis[u]=1; int size=p[u].size(); for(i=0;i<size;i++) { if(vis[p[u][i]]==1) time[ancestor[Find(p[u][i])]]++; } } int main() { int i; while(scanf("%d",&n)!=EOF) { ini(); read(); for(i=1;i<=n;i++) if(!in[i]) break; LCA(i); for(i=1;i<=n;i++) if(time[i]) printf("%d:%d\n",i,time[i]); } return 0; }
您还没有登录,请您登录后再发表评论
poj 2488——dfs深度优先遍历 //给行数列数,求问能否遍历,给出字典序的一种遍历
c表示有多少种珍珠 ai 表示第i种珍珠所需的数量 pi 表示第i种珍珠的价钱 每买一种珍珠都需要付额外的10 * pi的钱,便宜的珍珠可以用贵的珍珠来代替,求最少的钱的总数。
POJ 是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写,是个提供编程题目的网站,兼容Pascal、C、C++、Java、Fortran、Python等多种语言。可以按照分类,在POJ上做题。
ACM/icpc的练习题目分类,非常全面的关于poj题目的分类
POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析
北大POJ2676-Sudoku 解题报告+AC代码
POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度
poj 2820 古代密码 http://poj.grids.cn/problem?id=2820 可直接运行
网上整理的一些poj刷题指南。 poj地址:http://poj.org
对于LCA问题,有不少解法,这儿提供了tarjan算法,这是一种离线算法,读入所有输入然后一并处理,并且利用并查集的思想,从根节点开始DFS,对每一个DFS的节点,先把他的父亲节点指向本身,没访问完一个子节点,然后...
POJ中级图算法所有题目【解题报告+AC代码】 我的所有POJ解题报告 http://blog.csdn.net/lyy289065406/article/details/6642573
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. So the traffic is difficult in Flatopia. The Flatopian government is aware of this problem....
POJ3308-Paratroopers 【二分图顶点覆盖->最小割->最大流->Dinic算法求解】 解题报告+AC代码 http://hi.csdn.net/!s/WKVPR0 ----> 我的所有POJ解题报告 ...
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
动态规划 poj Common Subsequence c++ cpp文件
北大POJ3414-Pots 解题报告+AC代码
晒代码之二——多重背包(POJ1276)
PKU 、POJ ACM/ICPC300多题的代码,还有各种典型问题的分类代码
这题是道神题,神就神在,它既能让你搞懂网络流及其优化,还给了你很大的优化空间。
相关推荐
poj 2488——dfs深度优先遍历 //给行数列数,求问能否遍历,给出字典序的一种遍历
c表示有多少种珍珠 ai 表示第i种珍珠所需的数量 pi 表示第i种珍珠的价钱 每买一种珍珠都需要付额外的10 * pi的钱,便宜的珍珠可以用贵的珍珠来代替,求最少的钱的总数。
POJ 是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写,是个提供编程题目的网站,兼容Pascal、C、C++、Java、Fortran、Python等多种语言。可以按照分类,在POJ上做题。
ACM/icpc的练习题目分类,非常全面的关于poj题目的分类
POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析POJ 1006 源代码——中国剩余定理分析
北大POJ2676-Sudoku 解题报告+AC代码
POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度POj 1001源代码——高精度乘单精度
poj 2820 古代密码 http://poj.grids.cn/problem?id=2820 可直接运行
网上整理的一些poj刷题指南。 poj地址:http://poj.org
对于LCA问题,有不少解法,这儿提供了tarjan算法,这是一种离线算法,读入所有输入然后一并处理,并且利用并查集的思想,从根节点开始DFS,对每一个DFS的节点,先把他的父亲节点指向本身,没访问完一个子节点,然后...
POJ中级图算法所有题目【解题报告+AC代码】 我的所有POJ解题报告 http://blog.csdn.net/lyy289065406/article/details/6642573
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. So the traffic is difficult in Flatopia. The Flatopian government is aware of this problem....
POJ3308-Paratroopers 【二分图顶点覆盖->最小割->最大流->Dinic算法求解】 解题报告+AC代码 http://hi.csdn.net/!s/WKVPR0 ----> 我的所有POJ解题报告 ...
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
动态规划 poj Common Subsequence c++ cpp文件
北大POJ3414-Pots 解题报告+AC代码
晒代码之二——多重背包(POJ1276)
PKU 、POJ ACM/ICPC300多题的代码,还有各种典型问题的分类代码
这题是道神题,神就神在,它既能让你搞懂网络流及其优化,还给了你很大的优化空间。