• 2024-09-25P8907 [USACO22DEC] Making Friends P 题解
    P8907[USACO22DEC]MakingFriendsP题解我们考虑维护每个\(i\),在\(i\)的后面有多少个点和它有朋友关系。初步的想法是每删掉一个人就给集合里所有的点连边。但是我们发现这样太不优了,有很多边会重复连很多次。优化的想法是对于\(i\),删去之后连的边就成了一个完全图,于是
  • 2024-09-20P8907 [USACO22DEC] Making Friends P
    题目思路我们可以统计出所有点对之间应该有的边的数量然后再减去之前的\(m\)。对于每个点维护一个集合,统计该点应该连接的点。对于每条初始边,我们将其看作从编号小的点连向编号大的点,并在编号小的集合中放入编号大的点。处理删除\(i\)点操作,答案加上目前集合\(i\)的大