BZOJ 3632 外太空旅行 DFS
来源:互联网 发布:c语言创建目录函数 编辑:程序博客网 时间:2024/05/18 10:28
题目大意:给定一张无向图,求最大团
从小到大依次枚举每个点加或者不加 如果加必须满足加入后是一个团
这样状态数很大显然会T 因此可以考虑加入剪枝
统计还未加入的所有点中有多少点可以加入当前的团
如果这样的点的数量加上当前团中点的数量仍然比ans小 就剪枝
这样就可以过了- -
其实根据这个估价函数还可以写个A*。。。 我懒得写了。。。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M 60using namespace std;int n,ans;long long a[M];void DFS(int pos,long long sta,int cnt){if(pos==n+1){ans=max(ans,cnt);return ;}if(cnt+(n-pos+1)<=ans)return ;if( (sta&a[pos])==sta )DFS(pos+1,sta|(1ll<<pos-1),cnt+1);int i,temp=0;for(i=pos+1;i<=n;i++)if( (sta&a[i])==sta )++temp;if(temp+cnt<ans)return ;DFS(pos+1,sta,cnt);}int main(){int x,y;cin>>n;while(~scanf("%d%d",&x,&y) ){a[x]|=(1ll<<y-1);a[y]|=(1ll<<x-1);}DFS(1,0,0);cout<<ans<<endl;return 0;}
0 0
- BZOJ 3632 外太空旅行 DFS
- BZOJ 3632: 外太空旅行
- 【最大团】【bzoj 3632】: 外太空旅行
- BZOJ 3632 外太空旅行 最大团
- bzoj 3632: 外太空旅行 随机化
- bzoj 3632: 外太空旅行(随机)
- 3632: 外太空旅行
- 【BZOJ】【P3632】【外太空旅行】【题解】【最大团】
- 【BZOJ3632】外太空旅行【随机化】【最大团】
- bzoj3632外太空旅行 随机化求最大团
- BZOJ 3531: [Sdoi2014]旅行
- BZOJ-3531-旅行
- 【BZOJ 3531】 [Sdoi2014]旅行
- [bzoj 3531]sdoi2014 旅行
- bzoj-3091 城市旅行
- BZOJ 3531 旅行【树链剖分】
- bzoj 3531 [SDOI2014]旅行
- bzoj 2157 旅行
- opensips安装步骤 for CentOS
- KeilMDK调试技巧
- openstack glance、nova backend glusterfs
- 常用算法C#实现:字符串包含问题
- 【设计模式之一:单例模式(二)】JAVA 单例模式完全剖析
- BZOJ 3632 外太空旅行 DFS
- 关注一下
- 9.sonar_treasure_hunts小程序,一些知识的复习
- gitstack重设管理密码
- Ipvsadm参数详解
- 第四周项目零:程序阅读——构造函数和析构函数(2)
- (hdu step 8.2.1)Brave Game(巴什博奕——有n个石子,没人每次可以从里面去[1,m]个,求最后是谁赢了。)
- Gdi+基础
- Java中使用Jedis操作Redis