3.26补题

hdu 春季联赛第三场 1009

  • 本题的关键在于并查集的设置,合并时是将 pos 指向另一个 pos,而不是让部落号指向 pos 或 id。如果使用部落号去指 pos,在更换两个部落的位置时就也需要操作 fa 数组,而且是需要修改两个位置下的所有儿子的 fa 值;如果使用部落去指另一个部落,在部落更换时亦需要换掉所有的儿子,因为如果 c 部落是 b 部落的儿子,b 部落要和 a 部落发生人员更换,此时其实 c 部落的父亲就变成了 a 部落,所以到最后其实还是只能指 pos。
  • 更进一步思考,我们可以发现在这种情况下,只有相同意义的值之间互相指才能保证发生交换时不需要操作其他元素,这就涉及到对并查集的理解了。

CF 2090_D

  • 本题的条件并非完全严格,笔者首先思考的是从头开始暴力构造,遍历素数反着找应当插入的元素,但是这种找法没有规律可言,容易产生素数数量不够的问题。
  • 其实对于素数 x ,我们完全可以构造出 x 个满足条件的 c,只要按 x, x - 1, x + 1, x - 2... 这种格式构造就可以,尤其本题只要求 n / 3 - 1 个素数 c,我们只要从 n / 3 到 n / 2 中挑一个素数就可以了。

posted on 2025-03-26 12:19  wuhu12345  阅读(10)  评论(0)    收藏  举报

导航