题意: 有若干个班,每个班有些人要喝奶茶,也提供一些奶茶,一人喝一杯,但是自己班的人不能喝自己班的奶茶,求最多能有多少人喝上奶茶. 题解: 典型的二分图匹配问题,学生在左,奶茶在右,学生和非自己班的奶茶连边. 因为班级数1e6,每个班级有1e9个奶茶或学生,直接按照上述建边跑匈牙利算法会T 考虑霍尔结婚定理:点集S,点集T,边集E,其中E中的边所连两点一点在S中,一点在T中,如果S中的k个点各自经过E与T中k个不同的点相连,则称形成了一个大小为k的匹配. k=|S|则称为完美匹配 对于S的任意子…