第三周 树

news/2025/2/5 0:53:14/

猫猫和企鹅

分数 10

全屏浏览

切换布局

作者 姜明欣

单位 河北大学

王国里有 nn 个居住区,它们之间有 n−1 条道路相连,并且保证从每个居住区出发都可以到达任何一个居住区,并且每条道路的长度都为 1。
除 1号居住区外,每个居住区住着一个小企鹅,有一天一只猫猫从 1 号居住区出发,想要去拜访一些小企鹅。可是猫猫非常的懒,它只愿意去距离它在 d 以内的小企鹅们。
猫猫非常的懒,因此希望你告诉他,他可以拜访多少只小企鹅。

输入格式:

第一行两个整数 n,d,意义如题所述。
第二行开始,共 n−1 行,每行两个整数 u,v表示居民区 u 和 v 之间存在道路。

输出格式:

一行一个整数,表示猫猫可以拜访多少只小企鹅。

输入样例:

在这里给出一组输入。例如:

5 1
1 2
1 3
2 4
3 5

输出样例:

在这里给出相应的输出。例如:

2
#include <bits/stdc++.h>
using namespace std;
const int N = 4e4 + 10, M = N * 2;
int e[M], ne[M], h[N], idx;
int depth[N];
int st[N];
int cnt = 0;
int n, d;
void add(int a, int b)
{e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
// void dfs(int u, int father, int de)
// {
// //	if(de > d)	return ;
// //		cnt++;// 	for(int i = h[u]; i !=  -1; i = ne[i])
//     {
//         int j = e[i];//         // if(j == father)	continue;
//         if(!st[j] && de < d)
//         {
//        	        st[j] = true;
//        		dfs(j, u, de + 1);
// 			   cnt++;		
// 	    }//     }       // }
void bfs()
{queue<int> q;q.push(1);depth[1] = 0;while(!q.empty()){auto t = q.front();q.pop();for(int i = h[t]; i != -1; i = ne[i]){int j = e[i];if(!st[j]){st[j] = true;depth[j] = depth[t] + 1;if(depth[j] <= d) cnt++;else    return;q.push(j);}}}
}
int main()
{st[1] = true;cin >> n >> d;memset(h, -1, sizeof(h));for(int i = 1; i < n; i++){int a, b;cin  >> a >> b;add(a, b), add(b, a);}// dfs(1, -1, 0);bfs();
//  int cnt = 0;  for(int i = 2; i <= n; i++)
//        if(depth[i] <= d) cnt++;cout << cnt << endl;
}

会议

分数 15

全屏浏览

切换布局

作者 姜明欣

单位 河北大学

有一个村庄居住着 n 个村民,有 n−1 条路径使得这 n 个村民的家联通,每条路径的长度都为 1。现在村长希望在某个村民家中召开一场会议,村长希望所有村民到会议地点的距离之和最小,那么村长应该要把会议地点设置在哪个村民的家中,并且这个距离总和最小是多少?若有多个节点都满足条件,则选择节点编号最小的那个点。

输入格式:

第一行,一个数 n,表示有 n 个村民。
接下来 n−1 行,每行两个数字 a 和 b,表示村民 a 的家和村民 b 的家之间存在一条路径。

输出格式:

一行输出两个数字 x 和 y。
x 表示村长将会在哪个村民家中举办会议。
y 表示距离之和的最小值。

输入样例:

在这里给出一组输入。例如:

4
1 2
2 3
3 4 

输出样例:

在这里给出相应的输出。例如:

2 4
#include <bits/stdc++.h>
using namespace std;
const int N = 4000;
int g[N][N];
int n;
void floyd()
{for(int k = 1; k <= n; k++){for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++)g[i][j] = min(g[i][j], g[i][k] + g[k][j]);}}
}
int main()
{memset(g, 0x3f, sizeof(g));cin >> n;for(int i = 1; i < n; i++){int x, y;cin >> x >> y;g[x][y] = g[y][x] = 1;}floyd();int ans = 0x3f3f3f3f;int idx = -1;for(int i = 1; i <= n; i++){int res = 0;for(int j = 1; j <= n; j++){if(i == j)    continue;res += g[i][j];}  if(res < ans){ans = res;idx = i;}}cout << idx << " " << ans;
}


http://www.ppmy.cn/news/1569375.html

相关文章

Unity安装教学与相关问题

文章目录 1. 前言2.Unity Hub2.1 下载Unity Hub2.2 安装Unity Hub2.3 注册Unity账号2.4 在Hub上登录账号2.5 在Hub上获取许可证 3. 下载并安装Unity3.1 从Unity Hub下载&#xff08;推荐&#xff09;3.1.1 选择下载版本3.1.2 选择下载组件3.1.3 安装Visual Studio Community 20…

【Linux系统】计算机世界的基石:冯诺依曼架构与操作系统设计

文章目录 一.冯诺依曼体系结构1.1 为什么体系结构中要存在内存&#xff1f;1.2 冯诺依曼瓶颈 二.操作系统2.1 设计目的2.2 系统调用与库函数 一.冯诺依曼体系结构 冯诺依曼体系结构&#xff08;Von Neumann Architecture&#xff09;是计算机的基本设计理念之一&#xff0c;由…

OpenAI的真正对手?DeepSeek-R1如何用强化学习重构LLM能力边界——DeepSeek-R1论文精读

2025年1月20日&#xff0c;DeepSeek-R1 发布&#xff0c;并同步开源模型权重。截至目前&#xff0c;DeepSeek 发布的 iOS 应用甚至超越了 ChatGPT 的官方应用&#xff0c;直接登顶 AppStore。 DeepSeek-R1 一经发布&#xff0c;各种资讯已经铺天盖地&#xff0c;那就让我们一起…

【JavaEE】Spring(7):统一功能处理

一、拦截器 拦截器的使用步骤&#xff1a; 定义拦截器注册配置拦截器 1. 定义拦截器 Slf4j Component public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Objec…

python算法和数据结构刷题[6]:二叉树、堆、BFS\DFS

遍历二叉树 前序遍历NLR&#xff1a;先访问根结点&#xff0c;再前序遍历左子树&#xff0c;最后前序遍历右子树。中序遍历LNR&#xff1a;先中序遍历左子树&#xff0c;再访问根结点&#xff0c;最后中序遍历右子树。后序遍历 LRN&#xff1a;先后序遍历左子树&#xff0c;再…

水瓶加水时的重心变化,MATLAB计算与可视化

空水瓶的重心靠近中部&#xff0c;水量少时&#xff0c;重心靠下&#xff0c;水满时重心又回到中间了。 本文给出一个用于计算水瓶加水过程中&#xff0c;整体的重心变化情况&#xff0c;并绘制可视化的曲线图、示意图 文章目录 重心高度计算总重心高度计算MATLAB 代码运行结果…

探秘Linux IO虚拟化:virtio的奇幻之旅

在当今数字化时代&#xff0c;虚拟化技术早已成为推动计算机领域发展的重要力量。想象一下&#xff0c;一台物理主机上能同时运行多个相互隔离的虚拟机&#xff0c;每个虚拟机都仿佛拥有自己独立的硬件资源&#xff0c;这一切是如何实现的呢&#xff1f;今天&#xff0c;就让我…

深入解析 Chrome 浏览器的多进程架构:标签页是进程还是线程?(中英双语)

深入解析 Chrome 浏览器的多进程架构&#xff1a;标签页是进程还是线程&#xff1f; 1. 引言 Google Chrome 作为全球最流行的浏览器之一&#xff0c;以其稳定性、安全性和多任务处理能力而闻名。而其高效的表现&#xff0c;很大程度上归功于其独特的多进程架构&#xff08;M…