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

AT ARC156C Tree and LCS 题解

link

贪心考虑,要使得 \(x, P\) 最小,要么出现的共同节点最少,要么共同节点尽可能出现在某一(些)节点的异侧。从极端情况出发,如果 \(|x| = |P| = 1\),显然 \(\text{LCS} = 1\);如果 \(|x| = |P| = n\),所有点都出现过一次,不可能出现 \(\text{LCS} = 0\) 的情况,如果构造出 \(\text{LCS} = 1\),意味着在 \(x, P\) 中,除了一个相同的路径之外,其余的节点出现位置刚好镜像或者说相反。

构造方法如下:

  1. 任意选取两个叶子,将它们的权值交换
  2. 删掉两个叶子,重复这个过程
  3. 将最后留下的加入答案序列
#include <bits/stdc++.h>using i64 = long long;constexpr int N = 5007;int n;
int ind[N], ans[N];std::vector<int> adj[N];void bfs() {std::queue<int> q;for (int i = 1; i <= n; i++) {if (ind[i] == 1)q.push(i);}for (int i = 1; i <= (n / 2); i++) {int u1 = q.front(); q.pop();int u2 = q.front(); q.pop();ans[u1] = u2; ans[u2] = u1;for (auto v : adj[u1]) {ind[v]--;if (ind[v] == 1)q.push(v);}for (auto v : adj[u2]) {ind[v]--;if (ind[v] == 1)q.push(v);}}
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cin >> n;for (int i = 1, u, v; i < n; i++) {std::cin >> u >> v;adj[u].push_back(v); ind[v]++;adj[v].push_back(u); ind[u]++;}bfs();for (int i = 1; i <= n; i++) {if (ans[i])std::cout << ans[i] << " ";elsestd::cout << i << " ";}std::cout << "\n";return 0;
}
http://www.jsqmd.com/news/29317/

相关文章:

  • 2025 年 11 月回转式风机厂家最新推荐,实力品牌深度解析采购无忧之选!
  • CSPT漏洞浅析
  • 【题解】CCPC 2024 Jinan Site [F] The Hermit
  • Ubunt 搭建Samba服务
  • 2025 年 11 月精密无缝钢管,镀锌无缝钢管,定制无缝钢管厂家最新推荐,产能、专利、环保三维数据透视!
  • 2025 年 11 月合金无缝钢管,大口径无缝钢管,厚壁无缝钢管厂家最新推荐,技术实力与市场口碑深度解析!
  • 题解:AT_abc131_e [ABC131E] Friendships
  • C 运算符、表达式、语句
  • 题解:AT_abc036_d [ABC036D] 塗り絵
  • 2025 年 11 月高压锅炉无缝钢管,方形无缝钢管,16Mn 无缝钢管厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • [论文笔记] Machine-Learning-Guided Selectively Unsound Static Analysis
  • 2025 年 11 月精密无缝钢管,合金无缝钢管,厚壁无缝钢管厂家最新推荐,实力品牌深度解析采购无忧之选!
  • 题解:AT_abc166_f [ABC166F] Three Variables Game
  • Awesome Neovim - 精选Neovim插件大全
  • 窗口函数
  • 别只怪客户端宕机!还有这些导致 Redis 分布式锁“死锁”的原因 - 公众号
  • CCF CSP-S2 2025 游记
  • CSP-S 2025 总结
  • LangChain v1.0 中间件详解:彻底搞定 AI Agent 上下文控制
  • 【EF Core】“多对多”关系与跳跃导航
  • DeepSeek-MTP多token预测
  • 11.2阅读笔记
  • 温故知新,英语口语提升计划之Social English - Greeting People
  • 23432
  • 关于dp
  • Git 协作实战与 Gerrit 评审流程
  • 分库分表MyCat 架构迁移 OceanBase | 百丽核心财务系统迁移经验总结与问题汇总
  • 算法研究内容算法有关概念
  • 第13天(中等题 滑动窗口)
  • 我重生了,重生到了CSP前——高中物理电学速通