当前位置: 首页 > news >正文

题解:P14455 [ICPC 2025 Xian R] Imagined Holly

Solution

如果以 \(1\) 为根节点,就只需找到 \(2\sim n\) 号节点的父亲。而一个节点的父亲节点就是其所有祖先中子树大小最小的节点,我们就可以利用这个特点完成此题。

对于两个节点 \(i,j\) ,显然有 \(a_{i,j} = a_{1,i} \oplus a_{1,j} \oplus \mathtt{LCA(i,j)}\) ,也就是说由此可得任意两点的 \(\mathtt{LCA(i,j)} = a_{i,j} \oplus a_{1,i} \oplus a_{1,j}\)

那么对于一个子树 \(i\) ,在此子树的节点 \(j\) 满足 \(\mathtt{LCA(i,j)} = i\) ,所以只需统计满足 \([\mathtt{LCA(i,j)} = i]\)\(j\) 的个数就能得到子树 \(i\) 的大小。

得到所有子树大小后,对于 \(2\sim n\) 号节点,在其所有祖先中找到子树大小最小的节点,就是其父亲节点了。

时间复杂度 \(\mathcal{O(n^2)}\)

Code

#include<bits/stdc++.h>
using namespace std;
const int N=2005;
int n,a[N][N],fa[N],lca[N][N],sz[N];
int main(){scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=i;j<=n;j++){scanf("%d",&a[i][j]),a[j][i]=a[i][j];lca[j][i]=lca[i][j]=a[1][i]^a[1][j]^a[i][j];}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(lca[i][j]==i)sz[i]++;sz[0]=n+1;for(int i=2;i<=n;i++){int f=0;for(int j=1;j<=n;j++)if(j!=i&&lca[i][j]==j)if(sz[j]<sz[f])f=j;fa[i]=f;}for(int i=2;i<=n;i++)printf("%d %d\n",fa[i],i);return 0;
}
http://www.jsqmd.com/news/47469/

相关文章:

  • 2025年优秀的养殖专用防渗土工膜工程首选品牌推荐榜
  • LaTeX学习笔记:文档排版基础
  • 2025年优秀的北京树脂绝缘母线槽行业内口碑厂家排行榜
  • 2025 年 11 月康明斯发电机厂家推荐排行榜,康明斯发电机组,康明斯发电机工厂,康明斯发电机组工厂,康明斯发电机组东莞工厂公司推荐
  • 2025年诚信的防火电缆厂家推荐及选择参考
  • 2025年有实力的宿舍铁床款式TOP品牌厂家排行榜
  • 2025年热门的玻璃淋浴房配件厂家实力及用户口碑排行榜
  • 2025年靠谱的医养家具厂家最新推荐排行榜
  • 2025年11月抛丸机厂家权威推荐列表:用户评价与服务质量全视角
  • 2025年有实力的日光温室大棚最新TOP品牌厂家排行
  • 漏洞挖掘之旅:一位漏洞猎人的网络安全征程
  • 2025年11月抛丸机厂家主流品牌评测与行业趋势分析
  • 2025年正规的电缆桥架厂家最新用户好评榜
  • 涌现能力
  • 深入解析:C++:从0开始学习链表(练习)
  • 2025年诚信的沙发厂家推荐及选购指南
  • 2025年燃气阀控制箱定制厂家权威推荐:落地式调压箱/燃气调压器箱/天然气调压箱源头供应商精选
  • 2025年诚信的高弹三明治网布热门厂家推荐榜单
  • 2025年耐用的弯管加工厂家最新热销排行
  • 2025年正规的主轴中心出水旋转接头厂家最新TOP实力排行
  • 2025年铝合金重力浇铸机批发厂家权威推荐榜单:铝合金浇铸机/异型铝合金浇铸机厂家/轮毂铝合金浇铸机源头厂家精选
  • 2025年诚信的桶装方便面生产线厂家推荐及选购指南
  • 2025年热门的工业铝溶胶最新TOP品牌厂家排行
  • 2025年可靠的芝士年糕机厂家推荐及选购指南
  • OOP-实验3
  • 2025年优秀的火山岩滤料行业内知名厂家排行榜
  • 2025年知名的热镀锌钢零售品牌竞争力口碑排行榜
  • NCHU_单部电梯调度程序的题后分析与总结
  • 2025年比较好的水泥基防火涂料最新TOP品牌厂家排行
  • xss-lab全通关