题目链接:【http://acm.hdu.edu.cn/showproblem.php?pid=5952】

题意:给出一张无向图,然后判断这张图中一共有多少个不同的大小为S的完全图,并且保证每个点的度不大于20。

题解:好吧,比赛的时候想太多了,结果时间刚不住,TTTT。正解其实很简单,就一个DFS。每次建立DFS(u),表示u在的大小为S的完全图个数,为了保证不重复,我们只建立单向边。每层DFS的时候,取一个点,当且仅的这个点与之前的所有点选过的点有边相连(神优化)。总复杂度是100 * 100 * (2 ^ 19) ,但是,应为边很少,所以,复杂度要少很多。

思维僵化啊。

#include<Bits/stdc++.h>
using namespace std;
const int maxn = 105;
int T, N, M, S;
struct Edge
{
int to, next;
Edge() {}
Edge(int to, int next): to(to), next(next) {}
} E[2050];
int head[maxn], tot;
int mp[maxn][maxn], vis[maxn], tmp[maxn];
int ans = 0;
void initEdge()
{
for(int i = 0; i <= N; i++) head[i] = -1;
tot = 0;
}
void addEdge(int u, int v)
{
E[tot] = Edge(v, head[u]);
head[u] = tot++;
}
void DFS(int u, int pos)
{
if(pos == S)
{
ans++;
return ;
}
for(int k = head[u]; ~k; k = E[k].next)
{
int v = E[k].to;
bool fg = true;
for(int i = 0; i < pos && fg; i++)
if(!mp[v][tmp[i]]) fg = false;
if(fg)
{
tmp[pos] = v;
DFS(v, pos + 1);
}
}
return ;
}
int main ()
{
scanf("%d", &T);
while(T--)
{
scanf("%d %d %d", &N, &M, &S);
initEdge();
for(int i = 1; i <= N; i++)
{
vis[i] = 0;
for(int j = i + 1; j <= N; j++)
mp[i][j] = mp[j][i] = 0;
}
for(int i = 1; i <= M; i++)
{
int u, v;
scanf("%d %d", &u, &v);
addEdge(u, v);
mp[u][v] = mp[v][u] = 1;
}
if(S == 2)
{
printf("%d\n", M);
continue;
}
ans = 0;
for(int i = 1; i <= N; i++)
{
tmp[0] = i;
DFS(i, 1);
} printf("%d\n", ans);
}
return 0;
}

  

HDU 5952 [DFS]的更多相关文章

  1. HDU - 5952 Counting Cliques

    Counting Cliques HDU - 5952 OJ-ID: hdu-5952 author:Caution_X date of submission:20191110 tags:dfs,gr ...

  2. HDU 5143 DFS

    分别给出1,2,3,4   a, b, c,d个 问能否组成数个长度不小于3的等差数列. 首先数量存在大于3的可以直接拿掉,那么可以先判是否都是0或大于3的 然后直接DFS就行了,但是还是要注意先判合 ...

  3. Snacks HDU 5692 dfs序列+线段树

    Snacks HDU 5692 dfs序列+线段树 题意 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充, ...

  4. HDU 5952 Counting Cliques 【DFS+剪枝】 (2016ACM/ICPC亚洲区沈阳站)

    Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  5. Counting Cliques HDU - 5952 单向边dfs

    题目:题目链接 思路:这道题vj上Time limit:4000 ms,HDU上Time Limit: 8000/4000 MS (Java/Others),且不考虑oj测评机比现场赛慢很多,但10月 ...

  6. HDU - 5952 Counting Cliques(DFS)

    A clique is a complete graph, in which there is an edge between every pair of the vertices. Given a ...

  7. HDU - 5952 Counting Cliques(dfs搜索)

    题目: A clique is a complete graph, in which there is an edge between every pair of the vertices. Give ...

  8. HDU 5952 Counting Cliques(dfs)

    Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. HDU 5877 dfs+ 线段树(或+树状树组)

    1.HDU 5877  Weak Pair 2.总结:有多种做法,这里写了dfs+线段树(或+树状树组),还可用主席树或平衡树,但还不会这两个 3.思路:利用dfs遍历子节点,同时对于每个子节点au, ...

随机推荐

  1. ELK 企业内部日志分析系统

    生产环境配置 亿级规模,建议64G内存+8核CPU ES JVM占用一半内存 生产环境的3节点的集群 https://blog.csdn.net/xuduorui/article/details/79 ...

  2. CodeForces - 1003D

    Polycarp has nn coins, the value of the ii-th coin is aiai. It is guaranteed that all the values are ...

  3. input只读属性readonly和disabled的区别

    主要区别: 参考: http://bbs.html5cn.org/forum.php?mod=viewthread&tid=84113&highlight=input http://b ...

  4. redhat5.5 x64 安装oracle 11g

    http://www.cnblogs.com/jamesf/p/4769086.html http://blog.csdn.net/yakson/article/details/9012129

  5. python进阶之py文件内置属性

    前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...

  6. Linux 添加普通用户到 sudoers 文件

    前言 Linux 的普通用户(uid >= 500)不具有某些命令的执行权限,为了执行较高权限的命令,一般有两种方法: 第一种是使用 su - 命令切换到 root 用户去执行: 另外一种方法是 ...

  7. Ubuntu 下查看已安装的软件

    Ubuntu 下如何查看已安装的软件 1.查看安装的所有软件 dpkg -l 例如: dpkg -l | grep ftp 2.查看软件安装的路径 dpkg -L | grep ftp 也可以用 wh ...

  8. Retrofit:类型安全的REST客户端for 安卓&Java

    Retrofit:类型安全的REST客户端for 安卓&Java 2014年5月5日 星期一 21:11 官网:  http://square.github.io/retrofit/ GitH ...

  9. CSU 1102 多连块拼图

    多连块拼图 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述     多连块是指由多个等大正方形边与边连接而成的平面连通图形.         ———— 维基百科      ...

  10. Linux下的格式化字符串漏洞利用姿势

    linux最早的漏洞防护机制nx-stack刚刚出现后就有人想出了突破方法.那就是只有栈是不可执行,而除了栈以外的其他地方还是可以执行的,只要把返回地址执行别的地方就可以. 一.格式化字符串漏洞 格式 ...