2012年10月9日
摘要: CODE:#include<cstdio>#include<cstring>#include<iostream>usingnamespacestd;#defineMAXN8intG[MAXN][MAXN];intA[MAXN];boolvis[3][MAXN*2];intans;voiddfs(intn,intcur=0){if(cur==n){inttot=0;for(inti=0;i<n;i++)tot+=G[i][A[i]];if(tot>ans)ans=tot;}elsefor(inti=0;i<8;i++){A[cur]=i;if 阅读全文
posted @ 2012-10-09 21:10 有间博客 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目大意:二染色。条件:1、不存在环2、图是连通图3、双向图思路:任意取一个点进行染色,如果发现要涂某一块时这个块已经被涂了色,并且与我们要使用的颜色不同的话,就说明这个图不能被染成BICOLORABLE的。(1)如果没有染色,将它染色,并将它周围的点变成相反色。(2)如果已经染色,判断是否与现在染色的点的颜色相同,相同,则退出,否则继续。CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#defineMAXN102usingnamespacest 阅读全文
posted @ 2012-10-09 17:52 有间博客 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 直接回溯会超时,所以我们需要预处理一下,把所有与终点相连的点处理出来。CODE:#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<algorithm>usingnamespacestd;#defineMAXN30vector<int>G[MAXN];boolvis[MAXN];intdist;intfa[MAXN];intflag[MAXN];inttot;voidinit_dfs(intu)//反向预处理{flag[u] 阅读全文
posted @ 2012-10-09 11:01 有间博客 阅读(171) 评论(0) 推荐(0) 编辑