洛谷P5908 猫猫和企鹅 做题反思(2024.3.7)

猫猫和企鹅

题目传送门

题目描述

王国里有 n n n 个居住区,它们之间有 n − 1 n-1 n1 条道路相连,并且保证从每个居住区出发都可以到达任何一个居住区,并且每条道路的长度都为 1 1 1

1 1 1 号居住区外,每个居住区住着一个小企鹅,有一天一只猫猫从 1 1 1 号居住区出发,想要去拜访一些小企鹅。可是猫猫非常的懒,它只愿意去距离它在 d d d 以内的小企鹅们。

猫猫非常的懒,因此希望你告诉他,他可以拜访多少只小企鹅。

输入格式

第一行两个整数 n , d n, d n,d,意义如题所述。

第二行开始,共 n − 1 n - 1 n1 行,每行两个整数 u , v u, v u,v,表示居民区 u u u v v v 之间存在道路。

输出格式

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

样例 #1

样例输入 #1

5 1
1 2
1 3
2 4
3 5

样例输出 #1

2

提示

对于 100 % 100\% 100% 的数据,满足 1 ≤ n , d ≤ 1 0 5 1 \le n ,d \le 10^5 1n,d105,保证所有居民区从 1 1 1 开始标号。

以下是本人的想法,我一开始利用的是树的重心的算法模板,但是之前用for(int i = h[now]; i != -1; i = ne[i])时输不出结果,最后将当中的“i != -1”改成“i”就过了,有大佬能告诉我这两种链表的用法吗?

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10, M = 2 * N;
int n, d, ans;
int e[M], ne[M], h[N], idx;
bool st[N];
void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
void dfs(int now, int dis) {st[now] = true;if (dis == d)return;for (int i = h[now]; i; i = ne[i]) {int j = e[i];if (!st[j]) {dfs(j, dis + 1);ans++;}}
}
int main() {scanf("%d%d", &n, &d);for (int i = 1; i <= n - 1; i++) {int u, v;scanf("%d%d", &u, &v);add(u, v);add(v, u);}dfs(1, 0);printf("%d\n", ans);return 0;
}

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

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

相关文章

nginx配置普米监控

一.编译Nginx&#xff0c;增加vts模块 yum -y install gcc gcc-c make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel libxml2 libxml2-dev libxslt-devel yum -y install GeoIP GeoIP-devel GeoIP-data wget http://x.x.x.x/nginx-1.…

我的创作纪念日-1年

机缘 遇到一些问题&#xff0c;解决了很开心&#xff0c;顺手就写出来了 收获 8700粉丝20w浏览量800收藏 日常 创作已经成为生活的一部分了有精力有心得就写&#xff0c;没有就不写 憧憬 无需多说&#xff0c;继续写就是了 Tips 您发布的文章将会展示至 里程碑专区 &…

【深度学习笔记】优化算法——梯度下降

梯度下降 &#x1f3f7;sec_gd 尽管梯度下降&#xff08;gradient descent&#xff09;很少直接用于深度学习&#xff0c; 但了解它是理解下一节随机梯度下降算法的关键。 例如&#xff0c;由于学习率过大&#xff0c;优化问题可能会发散&#xff0c;这种现象早已在梯度下降中…

加载图形库和移动的升级

2023/3/7的草稿&#xff0c;怕数据丢失 #include<graphics.h> #include<iostream> #include<string> #include<vector>//使用这个为图片动态的分配内存 using namespace std;//减少透明度的,用于输出png文件 #pragma comment(lib, "MSIMG32.LIB&…

博客系统测试

文章目录 1.项目背景介绍2.功能介绍3.手动测试3.1编写测试用例3.2项目测试3.2.1登录测试3.2.2查看详情页面3.2.3编辑页面3.2.4删除博客3.2.5注销用户 大家好&#xff0c;我是晓星航。今天为大家带来的是 博客系统测试 相关的讲解&#xff01;&#x1f600; 1.项目背景介绍 项…

探讨倒排索引Elasticsearch面试与实战:从理论到实践

在当前大数据时代&#xff0c;Elasticsearch&#xff08;以下简称为ES&#xff09;作为一种强大的搜索和分析引擎&#xff0c;受到了越来越多企业的青睐。因此&#xff0c;对于工程师来说&#xff0c;掌握ES的面试准备和实战经验成为了必备技能之一。本文将从ES的面试准备和实际…

KL散度和交叉熵的应用介绍

深度学习 文章目录 深度学习前言KL散度和交叉熵KL散度与交叉熵的关系KL散度与交叉熵的应用总结 前言 KL散度&#xff08;Kullback-Leibler Divergence&#xff09;和交叉熵&#xff08;Cross Entropy&#xff09;是在机器学习中广泛使用的概念。这两者都用于比较两个概率分布之…

day14_异常

今日内容 零、 复习昨日 一、日期类 二、异常 零、 复习昨日 1为什么要重写toString Object类toString返回的是对象名字地址,无意义子类重写toString() 返回的对象属性内容 2为什么要重写equals Object类equals判断是对象的地址值是否相等,无意义子类重写equals,为了判断对象的…

969. 志愿者招募(网络流,费用流,无源汇上下界可行流)#困难,想不到

活动 - AcWing 申奥成功后&#xff0c;布布经过不懈努力&#xff0c;终于成为奥组委下属公司人力资源部门的主管。 布布刚上任就遇到了一个难题&#xff1a;为即将启动的奥运新项目招募一批短期志愿者。 经过估算&#xff0c;这个项目需要 N 天才能完成&#xff0c;其中第 i…

神经网络算法——反向传播 Back Propagation

文章目录 前言 1、反向传播的本质 &#xff08;1&#xff09;前向传播&#xff08;Forward Propagation&#xff09; &#xff08;2&#xff09;反向传播&#xff08;Back Propagation&#xff09; 2、反向传播的原理 &#xff08;1&#xff09;链式法则&#xff08;Chain Rule…

GB 2312字符集:中文编码的基石

title: GB 2312字符集&#xff1a;中文编码的基石 date: 2024/3/7 19:26:00 updated: 2024/3/7 19:26:00 tags: GB2312编码中文字符集双字节编码区位码规则兼容性问题存储空间优化文档处理应用 一、GB 2312字符集的背景 GB 2312字符集是中国国家标准委员会于1980年发布的一种…

低代码测试自动化

每个企业都希望将产品快速推向市场。虽然低代码无代码测试自动化可以帮助组织实现这一目标&#xff0c;但测试人员必须牢记几件事&#xff0c;才能通过低代码无代码来推进他们的组织。 低代码测试自动化的重要性是什么&#xff1f; 低代码测试自动化加速了测试生命周期。借助简…

成都正信:亲戚借了钱一直不还怎么委婉的说

在中国传统文化中&#xff0c;亲情关系往往被视为最为重要和敏感的部分。当亲戚间发生借贷时&#xff0c;若出现拖欠不还的情形&#xff0c;处理起来尤为棘手。面对这样的尴尬局面&#xff0c;采取委婉而有效的沟通方式至关重要。 张华最近就遇到了这样的困扰。他的表弟去年因急…

【Python刷题】环形链表

问题描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…

Extend继承

继承的作用 当我们定义了一个Person类&#xff1a; class Person{private Stirng name;private int age;public String getName(){....}public int getAge(){...}public void setName(String name){...}public void setAge(int age){...} }现在&#xff0c;假设还需要定义一个…

多目标粒子群(MOPSO)算法原理及其MATLAB实现

粒子群算法(PSO)是Eberhart和Kennedy于1995年提出的一种模拟鸟类觅食行为的算法[1]&#xff0c;具有操作简单、速度快等特点。但在实际应用中&#xff0c;许多决策问题都是多目标优化问题&#xff0c;采用粒子群算法来处理多目标优化问题是一种有效方法&#xff0c;Coello 等人…

URL输入到页面渲染过程详解

当我们在浏览器中输入一个URL并按下回车键时&#xff0c;浏览器会执行一系列步骤来解析URL、发送请求、接收响应&#xff0c;并最终渲染页面。这个过程涉及到多个阶段&#xff0c;包括DNS解析、TCP握手、发送HTTP请求、服务器处理请求、返回HTTP响应、浏览器解析和渲染等。下面…

面视题之——ThreadLocal作用

面视题之——ThreadLocal作用&#xff08;学习中&#xff0c;欢迎纠正&#xff09; 概念 ThreadLocal 是Java中的一个类&#xff0c;它提供了线程局部变量。这些变量与普通变量的区别在于&#xff0c;每个访问该变量的线程都有一个独立的副本&#xff0c;互不干扰。 每一个线…

《Java架构巨头面对全球用户:超大规模系统架构师面试宝典》

随着科技的迅猛发展&#xff0c;Java架构师在构建全球用户服务的大规模系统中扮演着举足轻重的角色。招聘一位卓越的Java架构师&#xff0c;不仅需要深厚的技术功底&#xff0c;更需要面对全球用户和超大规模系统的独特经验。为助您招聘到理想的人才&#xff0c;以下是一份超实…