拓扑排序+欧拉回路
秋天的风--
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
展开
-
hdu 1285
#include#include#define N 600int map[N][N],indegree[N],n,m;void judge() {int k,i,j,flag=0;for(k=1;kfor(i=1;iif(indegree[i])continue;indegree[i]--;if(flag==0) {flag=1;printf("%d原创 2013-11-11 19:00:50 · 480 阅读 · 0 评论 -
poj 2404 中国邮递员问题 欧拉回路判定+状压dp
/*状压dp邮递员问题:求经过任意点出发经过每一条边一次并回到原点。解法:1、如果是欧拉回路那么就是所有的边的总和。 2、一般的解法,找出所有的奇度顶点,任意两个顶点匹配,即最小完美匹配,可用状压dp。*/#include#include#define N 20#define inf 1000000000int ma[N][N];int lower[N];int原创 2014-09-17 19:26:07 · 1142 阅读 · 0 评论 -
sdibt 1244类似于拓扑排序
参考潘神的博客:http://blog.csdn.net/mypsq/article/details/39005991#include#include#define N 30struct node {int x,y,xx,yy;}f[N],ff[N];int link[N],visit[N];int main() { int n,m,i,j,k,cou,index,cnt;原创 2014-09-02 19:41:39 · 658 阅读 · 0 评论 -
欧拉回路知识
欧拉回路 通过图中每条边一次且仅一次,并且过每一顶点的回路。欧拉路径 通过图中每条边一次且仅一次,并且过每一顶点的通路。欧拉图 存在欧拉回路的图。半欧拉图 存在欧拉路径的图。无向图存在欧拉回路的充要条件: 连通且没有奇度顶点。无向图存在欧拉路径的充要条件: 连通且奇度顶点个数为2。有向原创 2014-03-08 17:14:47 · 641 阅读 · 0 评论 -
hdu 1878 欧拉回路
#include#include//此图为无向图#define N 1100int indegree[N];int pre[N];int map[N][N];int find(int x) {if(x!=pre[x]) pre[x]=find(pre[x]);return pre[x];}int main() {int n,m,a,b,i,原创 2014-03-08 17:30:47 · 519 阅读 · 0 评论 -
nyoj 42判断欧拉路径模板题
#include#include#define N 2100int degree[N];int pre[N];//很长时间没写欧拉回路了忘了判断他是否联通了int find(int x) {if(x!=pre[x]) pre[x]=find(pre[x]);return pre[x];}int main() { int t,n,m,i,ans,a,b,aa,bb;原创 2014-05-20 20:09:27 · 652 阅读 · 0 评论 -
欧拉回路系列
【HDU】1878 欧拉回路 断定3018 Ant Trip 一笔画题目11162894 兹鼓欧拉回路19563472 混淆欧拉 【POJ】2513 欧拉路1041 John""s trip 欧拉回路1386 Play on Words 单词接龙2230 Watchcow 欧拉回路转载 2014-05-26 18:36:28 · 496 阅读 · 0 评论 -
hdu 4857 逆向拓扑排序+反向输出
/*一组测试实例4 4 23 12 4*/#include#include#includeusing namespace std;#define N 31000struct node {int u,v,next;}bian[N*10];int head[N],yong,indegree[N],n,f[N],len;void init() {memset(head,-原创 2014-07-21 17:18:54 · 558 阅读 · 0 评论 -
拓扑排序系列
【HDU】1285 断定比赛名次2094 产生冠军2647 Reward3342 Legal or Not1811 Rank of Tetris 拓扑+并查集3231 三维拓扑 【POJ】1094 Sorting It All Out Floyd+拓扑2367 Genealo转载 2014-05-26 18:37:08 · 493 阅读 · 0 评论 -
hdu 2094拓扑排序map实现记录
#include#include#include#include#includeusing namespace std;const int N=1100;int ma[N][N],indegree[N],n;int pre[N];int find(int x) {if(x!=pre[x])pre[x]=find(pre[x]);return pre[原创 2013-12-03 21:14:23 · 631 阅读 · 0 评论 -
hdu 2647拓扑排序 容器
#include#include#include#includeusing namespace std;#define N 11000int n,m,sum;int indegree[N],value[N];vectornow[N];int Max(int a,int b) {return a>b?a:b;}int find() {原创 2013-12-04 20:51:32 · 625 阅读 · 0 评论 -
hdu 2647拓扑排序 结构体模拟容器
#include#include#includeusing namespace std;#define N 11000int n,m,sum;struct node {int indegree,num;int value,next[300];}now[N];int Max(int a,int b) {return a>b?a:b;}int f原创 2013-12-04 20:38:52 · 521 阅读 · 0 评论 -
hdu 3342
#include#include#define N 200int map[N][N],n,m,indegree[N];int judge() { int k,i,j; for(k=0;kn;k++) { for(i=0;in;i++) { if(indegree[i])continue; indegree[i]原创 2013-11-11 19:02:01 · 537 阅读 · 0 评论 -
hdu 1811拓扑排序+并查集(容器实现)
#include#include#include#includeusing namespace std;const int N=11000;vectorlink[N];//容器来是模拟邻接表int pre[N],a[N],b[N],indegree[N],n,m,sum;char c[N];int find(int x) {//路径压缩if(x!=pre[x原创 2013-12-03 17:06:05 · 562 阅读 · 0 评论