HDOJ 1530: Maximum Clique

这篇博客介绍了如何解决HDOJ 1530问题,即寻找图的最大完全子图。作者提到这是一个NP问题,并采用最大团算法结合搜索和剪枝策略来求解。博客提供了相关算法的思路和代码实现,参考了其他资源进行优化。
摘要由CSDN通过智能技术生成
题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1530


题意:

求一个图的最大完全子图


算法:

最大团算法。这是一个NP问题,所以解法是搜索+剪枝

我借鉴了http://blog.csdn.net/leolin_/article/details/7251962 的模板


代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
using namespace std;

const int maxn = 60;
int mx; //最大团数
int x[maxn], clique[maxn];
int can[maxn][maxn]; //表示在已经确定了经选定的i个点必须在最大团内的前提下还有可能被加进最大团的结点集合
int num[maxn]; //num[i]表示由结点i到结点n构成的最大团的结点数
bool mm[maxn][maxn];

bool dfs(int tot, int cnt)
{
    if(tot == 0)
    {
        if(cnt > mx)
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值