题目解析
考虑使用一种数据结构来高效维护用户 AAA 和用户 BBB 之间的关系。
使用 map<int, set<int>> user 来维护每位用户关注的所有其他用户:
user[A] 表示用户 AAA 关注的所有用户的集合。
如果满足条件 user[A] 中存在 BBB 且 user[B] 中存在 AAA 则说明 AAA 和 BBB 目前属于互相关注的状态。
AC代码
复杂度分析
对于每个操作时间复杂度为 O(logN)O(\log{N})O(logN),总时间复杂度为 O(QlogN)O(Q\log{N})O(QlogN)。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------