首先由题意可以知道, 该图不一定连通, 可能是好几个图, 但是一定是特殊的树形结构, 即根节点和叶节点可能是一个环。这时候运用tarjan缩点后重新建图, 就会建成树形结构(可能是好几颗树)。然后二分(二分最小的大佬数量)剩下的就是check的问题了check要用到DFS回溯和拓扑排序DFS不能从根节点开始往下面去计算, 这样子就不知道在每个子树里分配几个人过去。换一种思想, 从叶节点开始回溯, 返回该节点所在子树还缺几个人。*如果多出来人是不能反馈给父节点的, 少人是需要向父节点索取的。 *拓扑排序来确定每个树的根节点位置, 入度为0的就是根节点 #include<map> #i...