Codeforces Beta Round #29 ACD解题报告

本文分享了ACM竞赛中的三道题目解题思路:A题通过模拟解决配对问题;C题采用欧拉通路变形策略,使用DFS遍历图并确保每个节点仅访问一次;D题为经典LCA问题,通过对节点进行特定处理找出有序节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好吧。。我的第二题现在还是挂着,算了,就把第二题无视掉吧,贴一下ACD的解题思路。

 

A 水题,不说太多,直接模拟就可以了,用a数组表示指定位置的d,为了防止出现负数,把x都加了20000,读取了一个x和一个d,判断a[x+d]是否是-d即可,如果是,就说明找到了一对。

 

我的代码:

 

C 欧拉通路变形,因为要保证每个点都访问到一次,于是就找从奇度数结点出发进行dfs,运用类似套圈法的方法来把结点加入路径中。

还要注意因为范围很大,所以需要离散化,或者用map来存放结点信息。

 

我的代码:

 

D 经典LCA问题,为了得到有顺序的结点,我们求出相邻的结点的LCA即可,建议大家先看相关的资料再理解这个算法。

 

我的代码:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值