Skip to content

Latest commit

 

History

History

2151.Maximum-Good-People-Based-on-Statements

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

2151.Maximum-Good-People-Based-on-Statements

本题的人数只有n<=15,这就非常强烈地暗示了我们用二进制的bit mask来暴力枚举所有“好人”的可能组合。对于任意一种组合,我们只需要用o(n^2)的时间检查一遍。所以总的时间复杂度是2^15*15^2=7e6是可以接受的。

当我们考虑一种好人组合,如何判定它是否可行呢?我们需要注意三点:就是这些好人做出的判断不能彼此矛盾;好人认定的“好人”一定要出现在组合中;好人认定的“坏人”一定不能出现在组合中。满足这三点,那么这种好人组合就没有问题。

此外,本题可以用Gosper's hack,从好人多到好人少的组合依次遍历,找到合适的组合后即可提前终止。