上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页
  2012年10月9日
摘要: 题目大意:二染色。条件: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) 编辑
  2012年10月8日
摘要: 好久没写题了CODE:#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>usingnamespacestd;constintM=82;intr[M][4];intv[M];intn,tot;intflag;voiddfs(intcur,intans){if(cur==3){tot=max(ans,tot);}for(inti=0;i<n;i++){if(!v[r[i][0]]&&!v[r[i][1]]&&!v[r[i][2] 阅读全文
posted @ 2012-10-08 15:48 有间博客 阅读(146) 评论(0) 推荐(0) 编辑
  2012年9月28日
摘要: 大意:求最短路径思路:逆向思考,建一次反向图。今天实现了下Dijkstra + heap,spfa+邻接表大概要2030ms左右,而Dijkstra + heap要2350左右。还有以后如果题目给出了最大的数据的话最好别用0xfffffff等,直接用它给定的,这里我WA了好多次。CODE:#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<queue>usingnamespacestd;constintMAXN=1000010;con 阅读全文
posted @ 2012-09-28 15:16 有间博客 阅读(151) 评论(0) 推荐(0) 编辑
  2012年9月27日
摘要: 第一次我理解错了题目,以为是最长路径问题,YY了N久,发现不对。我发现,它从1-3一定会经过2,而不是简单的最长路径问题,所以我们需要用回溯法来解决。题目意思: 有一辆车从A城市开往B城市,途中有m个站,车上最多的载客人数为n人,每一个站的价格就是终点和起点的差值,现在有k分订单,要求找到这辆车的最大利润。解题思路: 这一题如果我们去搜索站点,那么情况将会非常糟糕,但是如果我么去搜索订单,那么对于每一个订单而言就是取和不取,那么我们就可以知道这个解空间树的每一层就是一个订单,那么我们只要对这个订单编号,然后搜索订单即可。另外我们开一个数组,专门来存储每一个站点当前的人数,注意这里的人数处理,一 阅读全文
posted @ 2012-09-27 22:11 有间博客 阅读(370) 评论(0) 推荐(0) 编辑
摘要: Special judge 搞了我查了N久。CODE:#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;constintM=5001;constintINF=0x3f3f3f3f;intu[4*M],v[4*M],w[4*M];intp[M],r[4*M];intn,m,cnt;intsu[4*M],sv[4*M];intfind(intx){returnx==p[x]?x:p 阅读全文
posted @ 2012-09-27 19:12 有间博客 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 并查集CODE:#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;constintmaxn=30010;intp[maxn];intrank[maxn];intn,m;intfind(intx){returnp[x]==x?x:p[x]=find(p[x]);}voidUnion(intx,inty){inti=find(x),j=find(y);if(i==j)return;if(rank[i]>rank[j]){p[j]=i;rank[i]+=rank[j];} 阅读全文
posted @ 2012-09-27 12:45 有间博客 阅读(143) 评论(0) 推荐(0) 编辑
  2012年9月25日
摘要: DFS练习,2932ms险过。CODE:#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>usingnamespacestd;intdigit[31],save[31];intbeg,end;intflag;intcheck(int*digit,intm){intans=0;for(inti=1;i<=m;i++)ans=(ans*10+digit[i])%m;if(!ans)return1;return0;}voiddfs(int*digit,intm) 阅读全文
posted @ 2012-09-25 20:58 有间博客 阅读(157) 评论(0) 推荐(0) 编辑
  2012年9月24日
摘要: 练习DFS。CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#defineMAXN102usingnamespacestd;constintM=1001;constintINF=0X3F3F3F3F;intG[M][M];boolcolor[M],save[M];intMAX;intn,m;intcheck(intu){for(intv=1;v<=n;v++){if(G[u][v]&&color[v])return0;}re 阅读全文
posted @ 2012-09-24 21:15 有间博客 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Coloring程度★ 難度★Coloring替一張圖的各個元件都塗上顏色,並規定相鄰元件不可同色。一張圖的上色情形,稱做一種「著色」。根據元件的不同,著色可分為許多種類型,例如點著色( vertex coloring )、邊著色( edge coloring )、面著色( face coloring )。【註:英文「 Coloring 」為名詞,中文「著色」為動詞,英翻中致使文法不通,請多見諒。】Vertex Coloring程度★ 難度★Vertex Coloring「點著色」。替一張圖上的每個點塗上顏色,並且規定以邊相連的相鄰兩點不可同色。 UVa19310004Vertex Chrom 阅读全文
posted @ 2012-09-24 19:55 有间博客 阅读(618) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页