HDU1530(最大团)
问题描述:团就是最大完全子图。
给定无向图G=(V,E)。如果U
V,且对任意u,v
U 有(u,v)
E,则称U 是G 的完全子图。
G 的完全子图U是G的团当且仅当U不包含在G 的更大的完全子图中,即U就是最大完全子图。
G 的最大团是指G中所含顶点数最多的团。
这里可使用加入DP后的优化算法
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
int n,path[][],s[],ans,dp[];
bool is_clique(const int end,const int point)
{
int i;
for (i=;i<end;i++)
if (!path[s[i]][point]) return false;
return true;
}
void dfs(int depth,int now)
{
if (depth+n-now+<=ans||depth+dp[now]<=ans) return;
int i;
for (i=now;i<=n;i++)
{
if (is_clique(depth+,i))
{
s[depth+]=i;
dfs(depth+,i+);
}
}
if (depth>ans) ans=depth;
}
int main()
{
while (~scanf("%d",&n))
{
if (n==) break;
int i,j;
for (i=;i<=n;i++)
for (j=;j<=n;j++) scanf("%d",&path[i][j]);
memset(dp,,sizeof(dp));
ans=;
dp[n]=;
for (i=n-;i>=;i--)
{
s[]=i;
dfs(,i+);
dp[i]=ans;
}
printf("%d\n",dp[]);
}
return ;
}
HDU1530(最大团)的更多相关文章
- HDU1530 最大团 模板
Maximum Clique Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu1530 最大团简单题目
题意: 给你一个无向图,让你找到这个图里面的最大团是多少. 思路: 最大图案是NP问题,直接暴力搜索,如果当前的这个点可以加入当前最大团,那么就选择加入或者舍去,如果不能加入, ...
- 最大团 HDU-1530
传送门: 洛谷 Vjudge (题目略有不同) 题目描述 • 给定一个图 tt = (V, E) • 求一个点集 S ,使得对于任意 x ≠ y ∈ S ,x 和 y 都有一条边 • |V | ...
- 【最大团】【HDU1530】【Maximum Clique】
先上最大团定义: 最大团问题(Maximum Clique Problem, MCP)是图论中一个经典的组合优化问题,也是一类NP完全问题,在国际上已有广泛的研究,而国内对MCP问题的研究则还处于起步 ...
- hdu1530 求最大团
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1530 求最大团裸题. 模板:maxx即为所求的最大团的值. #include<iostream& ...
- hdu3585 二分最大团(dp优化)
题意 给你一些点( <= 50),让你找到k个点,使得他们之间的最小距离最大. 思路: 求最小的最大,我们可以直接二分去枚举距离,但是要注意,不要去二分double找距离 ...
- 代码的坏味道(5)——数据泥团(Data Clumps)
坏味道--数据泥团(Data Clumps) 特征 有时,代码的不同部分包含相同的变量组(例如用于连接到数据库的参数).这些绑在一起出现的数据应该拥有自己的对象. 问题原因 通常,数据泥团的出现时因为 ...
- 软件海贼团 OnePiece (版权所有)
最近迷上了“海贼王”这部动画片,不仅仅是因为其中的人物个个性格鲜明,剧情跌宕起伏扣人心弦,各种耍宝搞笑,还感觉到这个团队很像理想中的敏捷软件团队. 作为一直带团队的我,感觉“海贼王”这个动画片给了我很 ...
- Golang友团无闻Go语言Web基础视频教程
教程内容:GO语言资料Golang友团无闻Go语言编程基础Golang友团无闻Go语言Web基础教程 Go语言Web基础教程列表:[Go Web基础]12Go Web 扩展学习.mp4[Go Web基 ...
随机推荐
- Visual Studio Code 扩展工具集,记录
编码 提高效率及校验 Auto Close Tag 自动闭合标签 Auto Rename Tag 自动更改HTML/XML标签,不需要再进行二次修改,减少50%的工作量! Path Intellise ...
- Linux学习笔记之Linux目录结构、磁盘命名、启动过程
1.Linux磁盘命名规则 名称的起名规则——/dev/xxyN: 1.Linux下装所有硬件设备的一个目录叫 /dev(devices) 2.Linux没有C盘.D盘.Linux最根上的一个目录叫 ...
- Android通过微信实现第三方登录并使用OKHttp获得Token及源码下载
这里对于App在微信开放平台上申请AppID和secret在这里就略过了,我们微信的授权登录流程,腾讯官网给的流程如下: 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用 ...
- [Python] xrange和range的使用区别
zhuan:https://blog.csdn.net/humanking7/article/details/45950967 range 函数说明:range([start,] stop[, ste ...
- js中获取class封装
1.封装 //封装getClass function getClass(tagName,className) //获得标签名为tagName,类名className的元素 { if(document. ...
- FPGA编程技巧系列之输入输出偏移约束详解
1. 偏移约束的作用 偏移约束(Offset Constraint)用来定义一个外部时钟引脚(Pad)和数据输入输出引脚之间的时序关系,这种时序关系也被称为器件上的Pad-to-Setup或Clo ...
- 15年第六届蓝桥杯第七题_(string)
手链样式 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙.他想用它们串成一圈作为手链,送给女朋友.现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 请你提交该整数.不要填写任 ...
- nginx报错:Permission denied
vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! ...
- org.hibernate.AnnotationException: mappedBy reference an unknown target entity property
org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: xxxxxxx 原因是 ...
- MySQL基础:show命令总结
show命令 show命令可以提供关于数据库.表.列,或关于服务器的状态信息. 总结 # 显示二进制文件以及文件大小(需要开启二进制日志记录功能) SHOW {BINARY | MASTER} LOG ...