news 2026/3/4 21:17:03

GESP认证C++编程真题解析 | P11962 [GESP202503 六级] 树上漫步

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P11962 [GESP202503 六级] 树上漫步

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:P11962 [GESP202503 六级] 树上漫步 - 洛谷

【题目描述】

小 A 有一棵n nn个结点的树,这些结点依次以1 , 2 , ⋯ , n 1,2,⋯,n1,2,,n标号。

小 A 想在这棵树上漫步。具体来说,小 A 会从树上的某个结点出发,每⼀步可以移动到与当前结点相邻的结点,并且小 A 只会在偶数步(可以是零步)后结束漫步。

现在小 A 想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。

【输入】

第一行,一个正整数n nn

接下来n − 1 n−1n1行,每行两个整数u i , v i u_i,v_iui,vi,表示树上有⼀条连接结点u i u_iui和结点v i v_ivi的边。

【输出】

一行,n nn个整数。第i ii个整数表示从结点i ii出发开始漫步,能结束漫步的结点数量。

【输入样例】

3 1 3 2 3

【输出样例】

2 2 1

【算法标签】

《洛谷 P11962 书上漫步》 #二分图# #树的遍历# #GESP# #2025#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+5;// 定义最大节点数intn,cnt;// n: 节点数,cnt: 记录被标记的节点数inth[N],e[N*2],ne[N*2],idx;// 邻接表存储树结构boolvis[N],a[N];// vis: 记录节点是否访问过,a: 记录节点是否被标记// 添加边到邻接表voidadd(inta,intb){e[idx]=b,ne[idx]=h[a],h[a]=idx++;}// 深度优先搜索voiddfs(intu,intstep){if(vis[u])return;// 如果节点已访问,直接返回// 如果当前步数为偶数,标记该节点并增加计数if(step%2==0){a[u]=1;cnt++;}vis[u]=1;// 标记节点为已访问// 遍历当前节点的所有邻居for(inti=h[u];i!=-1;i=ne[i]){intj=e[i];dfs(j,step+1);// 递归访问邻居,步数加1}}intmain(){cin>>n;// 输入节点数memset(h,-1,sizeofh);// 初始化邻接表// 构建树的邻接表for(inti=1;i<n;i++){intx,y;cin>>x>>y;// 输入边add(x,y),add(y,x);// 无向图,添加双向边}dfs(1,0);// 从节点1开始DFS,初始步数为0// 输出结果for(inti=1;i<=n;i++){if(a[i])cout<<cnt<<" ";// 如果节点被标记,输出标记节点数elsecout<<n-cnt<<" ";// 否则输出未标记节点数}cout<<endl;return0;}

【运行结果】

3 1 3 2 3 2 2 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 6:15:31

多变量单步时序预测 | TCN-LSTM时序卷积网络长短期记忆网络时间序列预测MATLAB代码

一、研究背景 本代码实现了一种TCN-LSTM混合神经网络模型,用于时间序列预测任务。TCN(时序卷积网络)具有并行计算能力强、感受野可控的优点,LSTM(长短期记忆网络)则擅长捕捉长期依赖关系。两者结合旨在提升时间序列预测的精度与稳定性。 二、主要功能 从Excel文件中读取…

作者头像 李华
网站建设 2026/2/26 20:06:40

多变量单步时序预测 | TCN-BiLSTM时序卷积网络双向长短期记忆网络时间序列预测MATLAB代码

一、研究背景 该代码实现了一种 TCN-BiLSTM 混合神经网络模型,用于时间序列预测任务。TCN(时序卷积网络)能够有效提取局部时序特征并控制感受野,而双向LSTM(BiLSTM) 则能同时利用过去与未来的信息,增强序列建模的双向依赖关系,尤其适用于具有前后文依赖的时间序列预测…

作者头像 李华
网站建设 2026/3/4 23:26:24

互联网核心系统架构白皮书:从 MySQL 到千万 QPS 的全链路工程体系

流量工程 缓存体系 写削峰 CQRS 异构存储 事件驱动 金融级稳定性设计 一、什么才是真正的“千万 QPS”? 先给出一个行业级结论: 千万 QPS 从来不是 MySQL 的能力,而是整个系统工程能力。 MySQL 在真正的千万 QPS 架构中,只承担 0.1%~1% 的请求量。 真实系统 QPS 分担…

作者头像 李华
网站建设 2026/2/25 14:44:54

NVIDIA点燃HBM4竞速赛:12层量产前夜,16层博弈定生死

CES 2026的舞台上,NVIDIA新一代Rubin GPU的亮相,不仅宣告了AI算力的又一次跃迁,更将HBM的竞争推向了白热化。(2026Q1 3D NAND价格翻倍|NV引爆AI存储行情-万字研究报告) 作为当前HBM4的独家初始客户,NVIDIA对每引脚速度超11Gbps的硬性要求,直接改写了SK海力士、三星、美…

作者头像 李华
网站建设 2026/3/4 20:38:38

GESP认证C++编程真题解析 | B4262 [GESP202503 三级] 词频统计

​欢迎大家订阅我的专栏&#xff1a;算法题解&#xff1a;C与Python实现&#xff01; 本专栏旨在帮助大家从基础到进阶 &#xff0c;逐步提升编程能力&#xff0c;助力信息学竞赛备战&#xff01; 专栏特色 1.经典算法练习&#xff1a;根据信息学竞赛大纲&#xff0c;精心挑选…

作者头像 李华
网站建设 2026/3/3 7:18:54

Cloudflare D1 免费额度:馅饼还是陷阱?

读操作的隐藏成本 Cloudflare D1 免费版最引人注目的数字是每日 500 万行的读取额度。对于大多数个人博客或小型工具站来说&#xff0c;这个数字似乎绰绰有余。毕竟&#xff0c;即便每天有几千次访问&#xff0c;怎么可能读完 500 万行数据&#xff1f;这里存在一个巨大的认知…

作者头像 李华