POJ 1419 Graph Coloring 图的着色 最大团问题
来源:互联网 发布:未公开steam个人数据 编辑:程序博客网 时间:2024/06/06 00:49
这题是显然的最大独立集问题。
最大独立集问题和最大团问题可以转化的
最大独立集=补图的最大团
最大团的意思跟最大独立集正好相反,是取尽量多的点使得这些点任意两点之间都有边
而最大团一般是DFS回溯来解。。。复杂度太高了 竟然还能过
#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <cstdio>#include <cmath>#include <queue>#include <map>#include <set>#define eps 1e-5#define MAXN 111#define MAXM 111111#define INF 1000000007using namespace std;int n, m;int mp[MAXN][MAXN];int bestcnt, cnt;int tmp[MAXN], res[MAXN];void dfs(int u){ if(u > n && cnt > bestcnt) { for(int i = 1; i <= n; i++) res[i] = tmp[i]; bestcnt = cnt; return; } int flag = 1; for(int i = 1; i < u; i++) if(!mp[i][u] && tmp[i]) {flag = 0; break;} if(flag) { tmp[u] = 1; cnt++; dfs(u + 1); cnt--; } if(cnt + n - u > bestcnt) { tmp[u] = 0; dfs(u + 1); }}int main(){ int T; scanf("%d", &T); while(T--) { int u, v; scanf("%d%d", &n, &m); memset(mp, 0, sizeof(mp)); while(m--) { scanf("%d%d", &u, &v); mp[u][v] = mp[v][u] = 1; } for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) mp[i][j] = !mp[i][j]; memset(res, 0, sizeof(res)); memset(tmp, 0, sizeof(tmp)); cnt = bestcnt = 0; dfs(1); printf("%d\n", bestcnt); for(int i = 1; i <= n; i++) if(res[i]) printf("%d ", i); printf("\n"); } return 0;}
- POJ 1419 Graph Coloring 图的着色 最大团问题
- POJ 1419--Graph Coloring(最大团求二着色问题)
- poj 1419 Graph Coloring 图着色问题
- poj 1419 Graph Coloring 【最大团】
- POJ 1419 Graph Coloring(最大独立集/补图的最大团)
- POJ 1419 : Graph Coloring - 最大团(裸)
- Poj 1419Graph Coloring(搜索|| 最大团)
- POJ 1419 Graph Coloring(最大独立集、最大团)
- poj 1419 Graph Coloring uva 193 - Graph Coloring (图着色问题,dfs)
- Graph Coloring&&http://poj.org/problem?id=1419最大团问题
- Graph Coloring 图着色问题
- POJ 1419 Graph Coloring 最大独立点集->最大团 搜索
- poj 1419 Graph Coloring
- POJ 1419 Graph Coloring
- POJ-1419-Graph Coloring
- 【POJ 1419】Graph Coloring
- POJ 1419 最大团问题
- 0030算法笔记——【回溯法】最大团问题和图的m着色问题
- Missing contentDescription attribute on image
- 错误:line 1: syntax error: "(" unexpected
- 价格大战时间表
- 平均要取多少个(0,1)中的随机数才能让和超过1
- DB2数据库中查看表结构信息、修改表某个字段
- POJ 1419 Graph Coloring 图的着色 最大团问题
- PHP 杂记
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 如何使一个div在另一个div中绝对居中(水平与垂直方向)
- 学习PrintWriter类
- DSP之时钟与定时器之四看门狗定时器
- div+css+jQuery简单实现投票功能..
- grub 在VMware的实践
- VC++实现感染文件式加载DLL文件