用户工具

站点工具


2022-2023:teams:just_ridiculous:2022.07.25_牛客多校第三场

这是本文档旧的修订版!


2022.07.23 牛客多校第三场

题解

A

本题的重点在于:给一棵树,以及k个关键点,问去掉任意一个关键点后,剩下k-1个节点的lca的变化。

赛时观察到只有有限的情况下,lca会变化。

可以先求出k个点的lca,再统计其各个子树中有多少关键点。

  • 若只有一个子树有关键点,则lca自身必为关键点,此时只有去掉lca自身,剩下的lca才会改变。
  • 若只有两个子树有关键点,则只有去掉只含一个关键点的子树才会改变lca。
  • 若更多子树有关键点则lca不会变化。

赛后其他队伍更简单的做法:

  1. 统计前缀lca和后缀lca,去掉其中一个点后的lca就是一段前缀lca和一段后缀lca的lca。
  2. 若干点的lca等价于这些点中dfs序最小和dfs序最大的节点的lca。

C

排序字符串。对于串a和串b,若ab<ba则a排前面。

hint很坑人,以为不能用排序卡了好久。正解要用trie但是细节较多。

赛中记录

不足之处 Dirt记录

J题,考场上的map用的是unordered_map,加上优先队列没有设置<pii,vector<pii>,greater<pii»导致一直超时

2022-2023/teams/just_ridiculous/2022.07.25_牛客多校第三场.1661683254.txt.gz · 最后更改: 2022/08/28 18:40 由 laiang8086