ZOJ 1492 Maximum Clique 搜索最大团
2024-10-13 18:18:44
ZOJ1492 题意:给一个无向图 求最大团的大小。节点数小于50
数据有限,考虑记忆化搜索,方程很好给出。
令 Si={vi,vi+1.....vn} mc[i]表示Si最大团的大小,倒着推算。
必有mc[i]=mc[i+1]或mc[i]=mc[i+1]+1 后一种情况 新的最大团必然包含vi 剪枝也是显然的。(1)current_size+remain_vertex<=ans
(2)current_size+mc[i]<=ans
代码很简单
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<vector>
using namespace std;
const int maxn=100;
bool g[maxn][maxn],found;
int ans,list[maxn][maxn],n,len[maxn],mc[maxn];
void dfs(int size)
{
int i,j,k;
if(len[size]==0)
{
if(size>ans)
{
ans=size;
found=true;
}
return ;
}
for( k=0;k<len[size]&&!found;++k)
{
if(size+len[size]-k<=ans)break;
int i=list[size][k];
if(size+mc[i]<=ans)break;
for(j=k+1,len[size+1]=0;j<len[size];++j)
{
if(g[i][list[size][j]])
list[size+1][len[size+1]++]=list[size][j];
}
dfs(size+1);
} } void max_cluster()
{
int i,j;
mc[n]=ans=1;
for(int i=n-1;i>0;--i)
{
found=false;len[1]=0;
for(int j=i+1;j<=n;++j)
if(g[i][j])list[1][len[1]++]=j;
dfs(1);
mc[i]=ans;
}
}
int main()
{
freopen("t.txt","r",stdin);
while(scanf("%d",&n))
{
if(!n)return 0;
memset(g,0,sizeof(g));
memset(mc,0,sizeof(mc));
memset(list,0,sizeof(list));
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
int t;scanf("%d",&t);
if(t==1)g[i][j]=1;
}
max_cluster();
printf("%d\n",ans);
}
return 0;
}
最新文章
- SmtpClient发邮件时为什么用MailMessage.From而不用MailMessage.Sender
- 探索软件工程道路上的我 IV (Θ∀Θ#)
- js判断移动端是否安装某款app的多种方法
- BestCoder27 1001.Jump and Jump... (hdu 5162) 解题报告
- DataGridView合并单元格
- html2canvas手机端模糊问题
- ion-tap选项卡及路由结合ion-tap
- dede数据库类使用方法$dsql【转】
- 详解C中volatile关键字
- android usb Host模式下与usb Hid 设备的通信
- C#对html的操作
- CTF 字符统计2
- CSS实现标题/段落省略效果的三剑客
- mysql的undo log和redo log
- Android 网络知识必知必会
- 【Spark深入学习-11】Spark基本概念和运行模式
- @responsebody 返回json
- poj1222 高斯消元
- Cocos2d-x执行时错误:Cocos2d: Get data from file(xxx.xxx) failed!
- Spring Boot 2.1.1.RELEASE 多数据源配置与使用
热门文章
- Struts2配置dtd约束
- 在Spring MVC Controller的同一个方法中,根据App还是WEB返回JSON或者HTML视图。
- DEV组件LookupEdit,ComboBoxEdit绑定数据源
- iOS 错误 之 Potential leak of an object stored into &#39;cs&#39;
- 把C#对象变成数组技术---索引器(indexer)
- DPM,DEM,DDPM的区别
- Flash Socket通信的安全策略问题 843端口
- Chrome 报 Resource interpreted as Script but transferred with MIME type text/plain 警告的解决办法
- 分析NGINX 健康检查和负载均衡机制
- 用php进行md5解密的源码,亲测可用