hdu 5305 Friends(dfs)

伺服电机入门01 编码器输出 旋转信号 , 接收端: 使用ADC 捕捉旋转信号 ,转成数字信号,驱动器得到数字处理, 因为信号量是模拟信号, mcu mpu 等芯片通常内部处理是数字,通过adc 得到数字cpu 才能识别 传输过来的pos 等信息。IPM 芯片示例, IRAM256A 这个芯片已经停产,有换新的,,下面示例来自stmbl 高功率方案,4 步进电机 有全步控制,半步控制 ,微步控制,FOC控制,步进电机也是可以做伺服系统的。以下面几种信号是可以细分,也就是通过细分增加编码器的分辨率, 阅读详情

Friends

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=5305

解题思路:

由于总点数很少,我们考虑暴力。但是总的边数有(8*7)/2=28,所以直接枚举每条边的状态无疑会TLE。又注意到如果存在一个

点的度数为奇数,那么最后答案肯定时0,每个点度数都为偶数时,总边数最多为(8*6)/2=24.还是一个蛮大的数字。最后一个优

化是,每次搜索一个点时,枚举到最后一条边的状态是不用枚举的,这条边是黑还是白是已经确定了的(根据前面选择的边的黑白

状态),也就是说需要搜索的边数减少n-1,那么最多只要搜索17条边。至此就可以无压力出解了。。。

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int n,m;
int a[30],b[30],cnt;
int sum[10],on[10],off[10];//sum记录每个点的度数,on记录每个点的online,off记录每个点的offline

bool judge(){
    for(int i = 1; i <= n; i++){
        if(on[i] != off[i])
            return false;
    }
    return true;
}

void dfs(int cur){
    if(cur == m+1){
        if(judge()){
            cnt++;
            return;
        }
    }
    int x = a[cur], y = b[cur];
    if(on[x] < sum[x]/2 && on[y] < sum[y]/2){
        on[x]++;
        on[y]++;
        dfs(cur+1);
        on[x]--;
        on[y]--;
    }
    if(off[x] < sum[x]/2 && off[y] < sum[y]/2){
        off[x]++;
        off[y]++;
        dfs(cur+1);
        off[x]--;
        off[y]--;
    }
}

int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        memset(on,0,sizeof(on));
        memset(off,0,sizeof(off));
        memset(sum,0,sizeof(sum));
        int flag = 1;
        cnt = 0;
        scanf("%d%d",&n,&m);
        for(int i = 1; i <= m; i++){
            scanf("%d%d",&a[i],&b[i]);
            sum[a[i]]++;
            sum[b[i]]++;
        }
        for(int i = 1; i <= n; i++){
            if(sum[i] % 2){
                flag = 0;
                break;
            }
        }
        if(flag){
            dfs(1);
            printf("%d\n",cnt);
        }
        else
            printf("0\n");
    }
    return 0;
}


用扩展点为 Fiori Elements 添加自定义动作:从原理到落地的完整实践 本文介绍了如何在基于OData V4的Fiori Elements应用中通过Extension Points添加自定义Action按钮。主要内容包括: 扩展点动作与标准注解动作的区别:扩展点用于非标准前端流程、组合操作等场景,需通过extensionAPI与框架交互。 扩展点动作的插入位置:可放置在List Report表格工具栏、Object Page页眉/页脚/Section工具栏等位置,并说明了相应的manifest.json配置节点。 配置模型与处理函数契约:详细说明了press、visible/e 阅读详情

相关推荐

电子数据取证实战:从“平航杯”竞赛看计算机检材分析的关键技术与案例解析

本文通过'平航杯'电子数据取证竞赛案例,深入解析计算机检材分析的关键技术,包括USB设备追踪、浏览器历史分析、AI换脸取证、虚拟货币交易追踪等实战技巧。重点探讨了数字痕迹的发现与关联,以及电子取证工具链的应用,为从业人员提供实用的技术参考和案例分析。

www00的博客 536

HDU 5305 Friends(图+DFS)

Friends 有 n 个人,m 组朋友,要求每个人有一半的朋友在线,一半的朋友不在线,求多少种可能。 如果一个人有奇数个朋友,显然是不成立的 若都有偶数个,我们先假设两种状态的朋友各有一半,然后借用 m 种关系,使得其成立即可 const int N=100+5; int n,m,t; int i,j,k; int a[N],b[N]; int num[N]; Pair G[N]; int ans; void DFS(int step) {...

C_Dreamy的博客 403

WPF实战:利用Live Charts实现高性能动态曲线可视化

本文详细介绍了如何在WPF中使用Live Charts实现高性能动态曲线可视化,特别适用于工业监控和金融分析等实时数据场景。通过增量渲染、内存复用和硬件加速等核心技术,Live Charts能够高效处理高频数据更新,显著提升图表流畅度。文章提供了从基础实现到工业级优化的完整解决方案,帮助开发者应对各种性能挑战。

weixin_29189373的博客 406

HDU 5305 Friends (DFS)

HDU 5305 Friends (DFS)

Tc的专栏 2697

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

[工具使用]黑暗引擎FOFA

黑暗引擎FOFAFOFA(点我进入)逻辑运算符搜索子域名domain搜索指定内容的host全部域名bodycert搜索选定应用的网站搜索指定开放端口的IP搜索指定协议的IP搜索IP或者网段的信息搜索指定CSS/JS网站常用的一些内容其他 FOFA(点我进入) 官网这样描述:FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 简单理解就是,一个本土加强版shodan,知道某产品在互联网的部署情况、

网络安全知识分享 3万+

hdu(5305)——Friends(dfs)

题意: 现在有n个人,m对朋友,然后对于每对朋友来说它们可以成为A或B类型的朋友。但是这n个人每个人都希望自己A类型的朋友个数与B类型的朋友个数相同。然后问你有多少种方式可以满足他们的要求。 思路: 看了一下数据范围,不是很大,所以首先想到的就是暴力,但是怎么递归呢? 这个思路很巧妙: 每条边可以选择是成为A或是成为B。于是我们对每个点进行判断,设成为A方案的边数为onl[i],成为B方

ACM_hades的梦想之路 632

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 282

HDU 5305 Friends

题意:给出n个人,m个朋友关系,每个关系可以为在线或离线,问如果要让每个人的在线朋友数和离线朋友数相同,那么关系组成有多少种情况。(n&lt;=8,m&lt;=n*(n-1)/2)。 思路:首先该图的每一个点的度数必须都是偶数,否则为0。            然后,dfs枚举每一条边,dfs找其离线在线的情况,更新。因为要on[i]&lt;sum[i]/2,所以不会超时 #include&...

snayf的博客 176

摩尔线程嵌入式面试题及参考答案(2万字长文)

说一下你对 drm 框架的理解。 DRM(Direct Rendering Manager)是 Linux 系统中用于管理图形显示设备的一个重要框架。 从架构层面来讲,它处于内核空间,主要目的是为用户空间的图形应用程序提供一个统一的接口来访问图形硬件。DRM 包括内核态的驱动模块和用户态的库。内核态的驱动负责和硬件进行交互,比如对显存的管理、硬件寄存器的配置等。用户态的库则方便应用程序利用内核态提供的功能进行图形渲染等操作。 在图形显示的具体流程中,DRM 可以控制显示设备的分辨率、刷

大模型大数据攻城狮的专栏 1229

大数据在电力行业的应用案例解析-【电力技术】(九)大数据在电力储能运维中的深度应用(含故障预测代码)

大数据技术为电力储能运维提供了“精准化、智能化、高效化”的解决方案,破解了传统运维的核心痛点,实现了储能系统从“被动抢修”到“主动运维”的转型,为新型电力系统建设提供了重要支撑。当前,随着储能产业的快速发展,大数据与储能运维的融合将更加深入,未来将结合人工智能、物联网、区块链等技术,实现储能运维的全流程智能化——从设备故障的提前预警,到寿命的精准预测,再到运维策略的自动优化、调度协同的实时响应,进一步提升储能系统的安全性、经济性与可靠性。

getusushu的博客 88

HDU 5305 Friends dfs

Friends 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5305 Description There are n people and m pairs of friends. For every pair of friends, they can choose to become online friends (communicating u...

weixin_30739595的博客 83

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(一)

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(一)

2401_89898861的博客 1919

hdu5305Friends dfs

//给一个无向图 , 每条边可以是online边也可以是offline边,问 //有多少种方法使得每个节点的online边和offline边一样多 #include #include #include using namespace std; const int maxn = 110 ; int on[maxn] , off[maxn]; int x[maxn] , y[maxn]

ijbuhv的专栏 1599

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计算机控制技术及应用

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

hdu 5305 Friends (dfs)

题目地址 http://acm.hdu.edu.cn/showproblem.php?pid=5305 Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1626    Accepted Submission

ACMan 470

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hdu 5305 Friends dfs

这道题目是多校中的一道题,一直在我的书签待看中,不想看书啊不想看书,这几天都没有好好看书了,没正正经经想过题目,正好这次把它看看,先看的题解。。。我发现我对搜索还是有点兴趣的,今天晚上做做搜索。。。我之前就觉得dfs总是回加上回溯的,我还感觉dfs基本上都是两种情况,1.对点深搜,2.对边深搜 思路: 还是看的别人的思路,厚着脸皮写一下吧,这道题目最多有8个点,(8*7)/2=28条边,我们可

勿忘初心 650

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DFS HDU 5305 Friends

题目传送门 1 /* 2 题意:每个点都要有偶数条边,且边染色成相同的两部分,问能有多少种染色方法 3 DFS+剪枝:按照边数来DFS,每种染色数为该点入度的一半,还有如果点不是偶数边就不DFS 4 这是别人的DFS,写的精简强大,膜拜之。。。 5 */ 6 #include <cstdio> 7 #incl...

weixin_33724046的博客 98

HDU 5305 Friends(dfs)

Problem Description There are n people and m pairs of friends. For every pair of friends, they can choose to become online friends (communicating using online applications) or offline friends (

Must so 533

HDU 5305 Friends DFS

题目大意:给一个n(1≤n≤8)个顶点,m条边的无向图,要求给边进行黑白染色,使得对于每一个顶点,黑边数=白边数,求方案数。一个很直接的想法是DFS,枚举边的颜色,然后检查答案,但是边数最多有28条,直接做是会超时的,需要做几个优化: 首先每个顶点如果有M条边,如果M-1条边的颜色确定了那么第M条边肯定也确定了。 如果存在度为奇数的点,那么显然答案是0的。 对于第一个优化,我们发现,如果枚举边不太好

None 815

HDU 5305 Friends DFS+剪枝

题意:n个人,m对朋友,每一对朋友可以是online friend或者offline friends,m对朋友不重复,每个人的两种朋友数量必须相等,问有多少种方法满足要求 方法:注意:朋友的朋友和自己没有关系,用DFS回溯+剪枝,测试每对朋友为online friend和offline friends的情况,当任一个人的朋友数为奇数时候可以直接输出0因为分配不             了,

KeyboardPianist的博客 559

HDU 5305 Friends(简单DFS)

Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 878    Accepted Submission(s): 422 Problem Description There are n people

叶孤心的专栏 872

HDU 5305 Friends(dfs)

Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 297    Accepted Submission(s): 127 Problem Description There are n people

左眼皮跳跳 841

HDU 5305 Friends(DFS + 剪枝)

http://acm.hdu.edu.cn/showproblem.php?pid=5305 题目大意就是,有m对朋友,每个人可以有线上和线下朋友,对于每个人,要求线上和线下朋友数目相同。 做法:我们直接把朋友关系保存,当成边,然后DFS枚举每一条边两种情况,两人互为网友或者是线下的朋友。但是这样最高的复杂度达到了2^28,而且T等于100,这样显然是不足以在时限内解决问题的。此时想尽办法剪枝

llzhh的博客 390
上一篇: 2015 Multi-University Training Contest 1(hdu 5288 - hdu 5299)
下一篇: hdu 5301 Buildings
yphacker
博客等级 码龄12年 199粉丝 540原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值