HDU 5952 - Counting Cliques (DFS)

FANUC机器人RSR与PNS功能深度解析及实战应用指南 本文深度解析了FANUC机器人RSR(远程程序启动)与PNS(程序号选择)两大核心功能。文章详细阐述了RSR的队列执行机制与PNS的二进制编码原理,提供了从硬件连接到参数配置的完整实战指南,并分享了混合使用策略与常见故障排除方法,旨在帮助工程师实现高效、稳定的生产线自动化程序调度。 阅读详情

Counting Cliques

Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2717    Accepted Submission(s): 984


Problem Description
A clique is a complete graph, in which there is an edge between every pair of the vertices. Given a graph with N vertices and M edges, your task is to count the number of cliques with a specific size S in the graph. 
 

Input
The first line is the number of test cases. For each test case, the first line contains 3 integers N,M and S (N ≤ 100,M ≤ 1000,2 ≤ S ≤ 10), each of the following M lines contains 2 integers u and v (1 ≤ u < v ≤ N), which means there is an edge between vertices u and v. It is guaranteed that the maximum degree of the vertices is no larger than 20. 
 

Output
For each test case, output the number of cliques with size S in the graph. 
 

Sample Input
  
3 4 3 2 1 2 2 3 3 4 5 9 3 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5 6 15 4 1 2 1 3 1 4 1 5 1 6 2 3 2 4 2 5 2 6 3 4 3 5 3 6 4 5 4 6 5 6
 

Sample Output
  
3 7 15
 

Source
 

题意:

求顶点数为s的完全图的个数。

POINT:

单向建边,由小往大连,从1开始找模拟,然后从2,从3。就ok了。

用邻接表。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
#define LL long long
const int maxn = 111;
int n,m,s;
vector<int>G[maxn];
int flag[maxn];
int pre[maxn];
int sz;
int ans;
int mp[maxn][maxn];
int check(int now){
    for(int i=1;i<=sz;i++){
        if(mp[now][pre[i]]!=1) return 0;
    }
    return 1;
}
void dfs(int now)
{
    if(sz==s){
        ans++;
        return;
    }
    for(int i=0;i<G[now].size();i++){
        int v=G[now][i];
        if(check(v)){
            pre[++sz]=v;
            dfs(v);
            sz--;
        }
        
    }
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--){
        ans=0;
        memset(flag,0,sizeof flag);
        memset(mp,0,sizeof mp);
        scanf("%d %d %d",&n,&m,&s);
        for(int i=1;i<=n;i++) G[i].clear();
        for(int i=1;i<=m;i++){
            int u,v;
            scanf("%d %d",&u,&v);
            mp[u][v]=mp[v][u]=1;
            int a=max(u,v);
            int b=u+v-a;
            G[b].push_back(a);
        }
        for(int i=1;i<=n;i++){
            pre[sz=1]=i;
            dfs(i);
        }
        printf("%d\n",ans);
    }
}


visio安装包 Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。 立即下载

相关推荐

GD32F303 ADC+DMA实战:用硬件过采样搞定多通道数据采集(附完整代码)

本文详细介绍了GD32F303系列MCU通过ADC+DMA结合硬件过采样技术实现多通道数据采集的实战方案。从硬件设计要点到软件配置全解析,包括时钟树配置、ADC模块初始化和DMA传输设置,提供了完整的代码示例和优化技巧,帮助工程师构建高精度、低功耗的数据采集系统。

weixin_30466039的博客 318

hdu5952 Counting Cliques DFS

Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 184    Accepted Submission(s): 56 Problem Description A clique is

EventQueue的博客 1950

STM32CubeIDE入坑指南

一 前言 在科技日新月异的今天,作为从事效率为先的苦逼 IT 行业,秉承着我不入地狱谁入地狱的伟大革命精神,我决定再一次做第一个吃螃蟹的人,通过自身的入坑过程,为大家测试STM32CubeIDE这款新式工具。(其实是为了我能省点时间,快点做完项目,多挣点钱买几瓶肾气丸) 二 看一看别人是如何入坑的 二 手把手带你入坑 三 相关资料 ...

CH的博客 1万+

[hdu 5952 Counting Cliques]暴搜

[hdu 5952 Counting Cliques]暴搜题目链接:[hdu 5952 Counting Cliques] 题意描述:NN个点,MM条边的无向图。求大小为SS的完全子图的个数。N≤100,M≤1000,2≤S≤10N\le 100, M\le 1000, 2\le S\le 10。并且保证了度数不超过20\color{red}{度数不超过20}。 解题思路: 直接暴搜答案。度数

Fighting! 939

一。CST 电路 微带低通滤波器设计练习 I

CST 电路和系统软件功能还是比较强的,我们一起一步一步学习,一起进步。 这个例子出现在CST的电路和系统软件功能(Circuit Simulation & SAM (System Assembly and Modeling) )介绍资料中。本文是用CST2021建模操作仿真到,不同版本在视觉和结果上稍有不同。 利用电路模块可以很快很准确地建立3D微带平面电路,用于仿真滤波器、功分器、巴伦等等。

麦克斯韦信徒的博客 3235

SQL实现数据仓库ETL:分层设计、增量抽取与性能优化实践

在数据仓库建设过程中,ETL(抽取、转换、加载)是数据流转的核心环节。传统观点常将ETL与专业工具或大数据框架绑定,但在中小规模数据场景下,基于SQL的ETL方案凭借低门槛、高可维护性和直观的排错体验,成为高效且务实的选择。本文从ETL的基础概念出发,阐述数据仓库分层(ODS、DWD、DWS、ADS)中每层ETL的定位与职责,重点剖析增量抽取策略(时间戳、主键、日志)下的SQL实现方式,以及数据清洗、去重和格式化的常见写法。同时,结合真实项目经验,分享慢SQL优化技巧、任务调度依赖设计、幂等性保障和常见问题

weixin_33290540的博客 345

【HDU 5952 Counting Cliques】& DFS

Counting CliquesTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2715 Accepted Submission(s): 982Problem Description A clique is a complete

楚江枫 508

火车头采集器超级详细图文使用指导(面向新手)

火车采集器·超级详细使用指导

DE的个人原创笔记 1万+

HDU - 5952 Counting Cliques (dfs)

题目链接:Counting Cliques 题意:一个有N个点M条边的图,球其中由S个点构成的团的个数。一个团是一个完全子图。 题解:拿到这题想了好久。。没想到dfs就完事了。就dfs一下,回溯一下就ok了,铜牌题。 #include <cstdio> #include <iostream> #include <algorithm>...

202

基于Stigmergy的团队LLM wiki协作机制与FastAPI工程实践

大语言模型驱动的知识管理正在改变个人笔记与团队文档的维护方式,但当多人共同维护一个维基时,如何避免版本覆盖、上下文丢失和幻觉污染成为核心挑战。Stigmergy这一源自生物学的协作机制提供了新思路:通过共享环境中的痕迹(如评论、标记、修订历史)实现异步协作,无需实时沟通或中心协调者。本文将原理落地为可工程化的系统,设计Page、Revision、Trace三大实体,并结合向量索引与LLM审查流程,最终用FastAPI与SQLite搭建一个最小可运行原型。从白蚁筑巢到团队知识库,Stigmergy让每个参与者

weixin_34174322的博客 364

【Shader】Unity批量更换Shader

在Unity开发中,因为渲染管线问题,经常会遇到需要大量更改shader的问题,本篇文章讲述批量更换Shader的工具。

憨辰 1466

HDU 5952 Counting Cliques dfs + 思维

传送门:HDU5952 题意:给出一个无向图,问其中点集大小为S的无向完全子图的个数。 思路:就是暴搜,但是建图有技巧,因为搜索过程中很容易出现重复序列,比如我们第一次搜到的答案是1 2 3,下一次搜到的是1 3 2,这两个实际上是同一种子图,搜索这些无用状态既浪费时间,去重还很麻烦。技巧就是建图的时候建成有向图,只让标号小的顶点指向标号大的顶点,这样搜出来的序列一定是一个 v1 代码:

WA是一笔财富 348

SAP 公司间采购简介

SAP公司间采购(Intercompany Procurement)是指企业集团内部不同法人实体之间的采购和销售流程。这种流程在跨国公司或有多个独立运营子公司的企业中非常常见。SAP提供了标准的功能来处理公司间采购,确保财务和物流流程的透明性和效率。以下是SAP公司间采购的基本流程及其相关模块的简介。

我小时候很黑的博客 1378

hdu_5952 Counting Cliques(dfs,优化)

题意: 给一个无向图,N(0-100)个顶点,M(0-1000)条边,求图中顶点数为S(1-10)的完全图(任意两个顶点都有一条边相连)的个数。 思路: 最开始的思路就是深搜。但是题目对时间的要求很严格,需要特别注意优化。在我做题的过程中经历了下面几次优化: 0. 限定按照顶点序号上升dfs(完全图性质); 1. 存储边从数组转换为vector(题目说顶点的度最多为20,而顶点数最多为1

EaShion1994的专栏 1017

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU 5952 Counting Cliques dfs乱搞

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5952题意:给定一个无向图图,问这个图中含有多少个顶点数为s的子图是完全图思路:首先把每个点邻接的点存到相应的数组里,遍历每个点,如果一个是完全图的子图中有当前点,那么子图中的其他点一定全部与当前点邻接,于是在当前点邻接的所有点中枚举出s-1个点,判断枚举出的s个点是否构成完全图。本题数据很强,一直TLE,后

弱智就要多努力 957

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hdu 5952 Counting Cliques(dfs优化)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5952 题意: 给一n个点m条边的图,找一个有s个顶点的完全子图。 分析: 对于每个s点完全子图,如果i点在子图中,那么就枚举与i有边的其他点,每加入一个点,就判断一下是否和其他已加入的点有边,如果是就可以加入,否则不能加。 爆搜一发,T了(不是听说爆搜可以嘛QAQ) 优化一下就是对于搜

HARD_UNDERSTAND 1187

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDU5952--Counting Cliques--DFS

Counting Cliques Time Limit: 8000/4000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 5414Accepted Submission(s): 1929 Problem Description ...

lanshan1111的博客 201

HDU 5952 Counting Cliques 图DFS

为了避免在搜索时重复,用了一种特殊的建图方式,即从编号小的边连向编号大的边. 因为所求的是无向完全图的个数,在无向完全图中只能找到一条符合v1 #include<bits/stdc++.h> using namespace std; const int MAXN=105; const int MAXM=1005; int V[MAXM],First[MAXN],Next[MAXM],Cnt; in

Katapeltes 387

hdu 5952 Counting Cliques(dfs 优化)

Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2660    Accepted Submission(s): 972 Problem Description A clique i

MR CODER 370

Counting Cliques HDU - 5952 单向边dfs

题目:题目链接 思路:这道题vj上Time limit:4000 ms,HDU上Time Limit: 8000/4000 MS (Java/Others),且不考虑oj测评机比现场赛慢很多,但10月5号的计蒜客重现赛只给了1000ms确实有点过分吧,好久没有做这种简单dfs做到自闭了,,,题目并不难,注意剪枝就好了,建图时建标号小的点指向标号大的点的单向边,这样按标号从小到大搜一遍就好了,完全...

weixin_30824599的博客 110

hdu5952 Counting Cliques 技巧dfs

题意:一个有N个点M条边的图,球其中由S个点构成的团的个数。一个团是一个完全子图。 没有什么好办法,只有暴力深搜,但是这里有一个神奇的操作:将无向图转为有向图:当两个点编号u<v时才有边u->v,这样的好处是一张完全图只有从最小编号开始深搜的时候才会搜完整张完全图(本来完全图从其中任意一个节点进入都是没有区别的),因为假如v1 < v2,并且v1,v2在同一完全图中,则v2只...

weixin_30721077的博客 125

【HDU】5952 - Counting Cliques(dfs)

题目链接:点击打开题目数据不是很大,直接爆搜就行了。代码如下:#include<queue> #include<cmath> #include<stack> #include<cstdio> #include<vector> #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef lo

wyg1997 591

HDU 5952 Counting Cliques(dfs)

http://acm.split.hdu.edu.cn/showproblem.php?pid=5952 题目大意: n个点    m条边的无向图      问节点个数为s的完全子图个数 分析: 一开始以为是规律题找了半天规律    发现重复的情况没法处理    自己

MM__1997的博客 381

HDU5952 Counting Cliques(DFS+剪枝)

Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1051    Accepted Submission(s): 409 Problem Description A clique is a

要做ADC 475

HDU5952 Counting Cliques (dfs)

Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2922    Accepted Submission(s): 1059 Problem Description A clique

知与谁i的博客 263

HDU 5952 Counting Cliques(dfs)

题意: 给出一个图,询问有多少个大小为s的完全图 思路: 题中给出提示,数据很小,而且每个点的边也不多,在搜的时候枚举一点,之后用新加的点与之前的点做一个判断,如果都有边就继续搜,否则退出 #include #include #include #include using namespace std; const int maxn=105; vectorvec[maxn]; i

GameRoad 278
上一篇: Codeforces Round #436 (Div. 2) - D. Make a Permutation!(贪心)
下一篇: Codeforces Round #439 (Div. 2) - C. The Intriguing Obsession(组合数)
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值