P8250 交友问题
暴力做法
每次询问,遍历点 \(u\) 的相邻节点,打上标记,然后遍历 \(v\) 的相邻节点,查询被标记的点的数量为 \(k\),答案为 \(deg[u]+deg[v]-k\),其中 \(deg[u]\) 表示节点 \(u\) 的度数
最坏时间复杂度为 \(O(q\cdot n)\)
优化
对于一组询问,由于我们需要遍历两个点的子节点,对于包含同一个节点的询问,我们放在一起处理
但是这样的最坏时间复杂度仍然是 \(q\cdot n\),只要每次询问的 \(u\) 都不同就会超时
根据暴力做法,每组查询的答案为 \(deg[u]+deg[u]-k\),而两个节点的 \(k\) 是一样的,无论其顺序
因此,
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号