【dfs】相似度

相似度

题目大意:

有两个图,问他们的相似度是多少(相似度为连接两个点的相样线的条数)

原题:

题目描述

小G通过摆放一些城市和道路构成了一个世界地图。趁着小G出去玩的时候,大G把小G的世界地图上的城市全部打乱并放在了原来这些城市所在的位置(并不是一一对应),又修改了一些道路。小G玩完回来后发现自己的东西被打乱了,感到非常生气,但是他又被一个更有趣的问题吸引了:被修改之后的世界地图与原来的世界地图的最大相似度是多少?
   (ps:相似度的定义为将城市还原后还有多少条道路和之前的道路相同)

输入

第一行为两个整数n,m,表示一共有n个城市,m条道路
接下来m行,每行两个整数x,y,表示原来小G的世界地图中有一条道路连接编号为x和y的两个城市。
紧接着m行,每行两个整数x’,y’,表示被大G修改后的世界地图中有一条道路连接编号为x’和y’的两个城市。

输出

一行一个整数,表示最大相似度。

输入样例

4 5
4 3
2 1
3 2
2 4
2 3
1 4
3 2
2 1
1 3
4 4

输出样例

说明

【样例解释】

原图中的1,2,3,4号城市分别对应现在图中的4,1,2,3
将修改后的图还原
1 4->2 1
3 2->4 3
2 1->3 2
1 3->2 4
4 4->1 1
与原图比较发现有4条边是一样的。

【数据规模和约定】

对于30%的数据,1 ≤ n ≤ 3,1 ≤ m≤ 20。
对于60%的数据,1 ≤ n ≤ 7,1 ≤ m≤ 70。
对于100%的数据,1 ≤ n ≤ 9,1 ≤ m≤ 300。

解题思路

枚举每个点对应的第二个图的点,再判断连接的线是否相同

代码:

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int n,m,x,y,sum,ans,d[105],p[105],a[105][105],b[105][105];
void dfs(int dep)
{if (dep>n){sum=0;for (int i=1;i<=n;++i)for (int j=1;j<=n;++j)if (a[i][j]&&b[d[i]][d[j]])sum+=min(a[i][j],b[d[i]][d[j]]);//相同的线有多少条ans=max(ans,sum);//取最大return;}for (int i=1;i<=n;++i)if (!p[i]){d[dep]=i;//记录p[i]=1;dfs(dep+1);p[i]=0;}
}
int main()
{scanf("%d %d",&n,&m);for (int i=1;i<=m;++i){scanf("%d %d",&x,&y);a[x][y]++;//累加}for (int i=1;i<=m;++i){scanf("%d %d",&x,&y);b[x][y]++;}dfs(1);printf("%d",ans);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚树-树上动态规划的利器

虚树 问题引入 在一类树上动态规划问题中,题目给出的询问往往包含树上的很多各节点,并保证总的点数规模小于某个值. 如果我们直接在整颗树上进行dpdp的话,时间复杂度与询问的次数有关,这显然是不可接受的,如果我们可以找到一种动态规划的方法,使其时间复杂度与询问中点的实际…

牛客练习赛69D-火柴排队【dp】

正题 题目链接:https://ac.nowcoder.com/acm/contest/7329/D 题目大意 nnn个数的序列&#xff0c;排序后让随机kkk个数加上ddd&#xff0c;求依旧满足单调上升的期望概率 解题思路 对于一个位置加上ddd后会让到后面一段范围内都得加上ddd。我们预处理一个lil_ili​表示如果ii…

微软推出Visual Studio Kubernetes工具包预览版

微软表示&#xff0c;利用 Visual Studio Kubernetes 这个工具&#xff0c;使用者可以直接在该环境中&#xff0c;构建 Kubernetes 容器应用程序项目&#xff0c;或者让现有的 .NET 网页应用程序也兼容 Kubernetes。除了公有云基础架构环境要支持 Kubernetes&#xff0c;微软现…

伸展树模板

伸展树模板 #include <iostream> #include <cstdio>#define pr(x) std::cout << #x << " : " << x << std::endlclass SplayTree{ public:struct Node{int val;int size;int tag;Node *father;Node *son[2];Node(int val,Node *…

【DP】Sam数

Sam数 题目大意&#xff1a; 问位数为n&#xff0c;且每一位的数字与相邻数字的差值小于等于2的数有多少个 原题&#xff1a; 题目描述 小G最近发现了一种非常有趣的数&#xff0c;他将这种数称之为Sam数。Sam数具有以下特征&#xff1a;相邻两位的数字之差不超过2。小G还…

基于docker 如何部署surging分布式微服务引擎

1、前言转眼间surging 开源已经有1年了&#xff0c;经过1年的打磨&#xff0c;surging已从最初在window 部署的分布式微服务框架&#xff0c;到现在的可以在docker部署利用rancher 进行服务编排的分布式微服务引擎&#xff0c;再把业务进行剥离&#xff0c; 通过配置路径就能驱…

P4213-[模板]杜教筛(Sum)

正题 题目链接:https://www.luogu.com.cn/problem/P4213 题目大意 给出nnn&#xff0c;求∑i1nφ(i)\sum_{i1}^n\varphi(i)i1∑n​φ(i) 和 ∑i1nμ(i)\sum_{i1}^n\mu(i)i1∑n​μ(i) 解题思路 考虑如何将φ\varphiφ卷起来&#xff0c;我们可以乘上一个函数I(I(x)1)I(I(x)1…

线段树专题-等差子序列 BZOJ-2124

线段树专题-等差子序列 感谢 感谢孙耀峰的线段树PPT,使我获益匪浅. 题目来源 BZOJ−2124BZOJ-2124BZOJ−2124 题意 给出长度为nnn的1−n1-n1−n的排列AAA 问是否存在一组1≤p1≤p2≤...≤pl≤n,l≥31 \le p_1 \le p_2 \le ... \le p_l \le n,l \ge 31≤p1​≤p2​≤...≤p…

【模拟】小游戏

小游戏 题目大意&#xff1a; 有n个数形成一个环&#xff0c;从第S个开始&#xff0c;先往后数N个数然后把这个数取出来&#xff0c;再往前数K个数把这个数取出来&#xff0c;问取的数字依次是什么 原题&#xff1a; 题目描述 【题目背景】 yk同学是一个灰常灰常有爱的同…

P4051-[JSOI2007]字符加密【SA】

正题 题目链接:https://www.luogu.com.cn/problem/P4051 题目大意 给一个字符串&#xff0c;求它当每个环状字符串&#xff08;比如ABCABCABC的就是ABC,CAB,BCAABC,CAB,BCAABC,CAB,BCA&#xff09;排序后所有串的末尾连起来当字符串。 解题思路 这个其实就是每个串的后缀加上…

DevOps 实践:千里之行

在上一篇 DevOps 渊源&#xff1a;角色消融 中我们分析了在作坊式团队中的责任重叠&#xff0c;也回顾了 DBA 角色的消融。那么&#xff0c;如今我们讲的 DevOps 又是什么角色的消融呢&#xff1f; 我想你已经猜到了&#xff0c;接下来要消融的角色就是运维人员了。那这次又是什…

线段树专题-黑白棋盘 BZOJ-1453

线段树专题-黑白棋盘 题目来源 BZOJ−1453BZOJ-1453BZOJ−1453 题意 QQQ次操作每次操作给出(x,y)(x,y)(x,y),将(x,y)(x,y)(x,y)个格子颜色取反每次操作后,输出棋盘上黑白联通块的个数n≤100,Q≤104n \le 100,Q \le 10^4n≤100,Q≤104 题解 显然不能直接套并查集,因为直接套…

约数个数

约数个数 题目大意&#xff1a; 求a到b之间每个数的约数的个数之和 原题&#xff1a; 题目描述 定义f(x)为x的约数个数&#xff0c;x为正整数。 f(a)f(a1)……f(b)&#xff0c;即a,b之间每个数的约数的总和。 输入 一行两个正整数a、b&#xff0c;以一个空格隔开。 输出…

P2257-YY的GCD【莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/P2257 题目大意 给出n,mn,mn,m&#xff0c;求∑i1n∑j1m[gcd(i,j)∈p]\sum_{i1}^n\sum_{j1}^m[gcd(i,j)\in p]i1∑n​j1∑m​[gcd(i,j)∈p] 定义ppp是质数集 解题思路 首先考虑定义f(x)∑i1n∑j1m[gcd(i,j)x]f(x)\sum_{i1}…

asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...

最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ &#xff01;因此学习了一下这个开源框架&#xff01;下面对Exceptionless的学习做下笔记&#xff01;Exceptionless是什么&#xff1f;能做什么呢&#xff1f;“Exceptionless”这…

【dfs】【树】机器选择

机器选择 题目大意&#xff1a; 有一个树状的图&#xff0c;要求安一个点&#xff0c;使这个点到最远的点的距离最小 原题&#xff1a; 题目描述 自从省队NOI赛前集训在scz举行之后&#xff0c;一个名叫cs1.6.exe的文件开始在机房广泛使用起来。每天大家都要找神犇小X借移…

ACM-ICPC中博弈论的一些小小总结

博弈论 参考 [1]https://blog.csdn.net/clover_hxy/article/details/53818624 [2]https://blog.csdn.net/foreyes_1001/article/details/82862324 [3]https://www.cnblogs.com/lxm940130740/p/3268803.html 一.尼姆博弈 问题提出 下面给出Nim游戏的三种变体 现有nnn堆石子,每…

P3312-[SDOI2014]数表【莫比乌斯反演,树状数组】

正题 题目链接:https://www.luogu.com.cn/problem/P3312 题目大意 定义F(x)F(x)F(x)表示xxx的约数和 给出n,m,an,m,an,m,a&#xff0c;求∑i1n∑j1m[F(gcd(i,j))≤a]∗F(gcd(i,j))\sum_{i1}^n\sum_{j1}^m[F(gcd(i,j))\leq a]*F(gcd(i,j))i1∑n​j1∑m​[F(gcd(i,j))≤a]∗F(g…

使用 IIS 在 Windows 上托管 ASP.NET Core2.0

准备&#xff1a;操作系统&#xff1a;Windows Server 2008 R2 或更高版本开发环境&#xff1a;VS2017回到顶部第一步&#xff1a;新建项目ASP.NET Core Web应用程序在 Visual Studio 中&#xff0c;选择“文件”>“新建”>“项目”。在新建项目对话框的左侧窗格选择“.N…

数学推导题,NTT,快速数论变换,Wannafly-导数卷积

导数卷积 题目描述 题解 参考了一下标程的推导过程,因为这个推导对我这种数学弱渣真的有点难鸭. [1]f(x)f(x)f(x)的iii次导函数: f(i)(x)ai∗i!0!ai1∗(i1)!1!∗x1...an−1∗(n−1)!(n−1−i)!∗xn−1−if^{(i)}(x) a_{i}*\frac{i!}{0!} a_{i1}*\frac{(i1)!}{1!}*x^{1} ...…