Codeforces 1105 E 题意:给你m个事件,每个事件可能是以下两种之一: \(1\),代表此时可以更改用户名 \(2\) \(s\),代表\(s\)来查看是否用户名与其名字相符 一共有\(m\leq40\)个人,如果一个人每次看到用户名都与其名字相符,则他会开心,问怎么更改用户名使得开心的人最多? 思路:看每次\(1\)后面连续的\(2\),把其中的人两两连边,题目转化成求此图的最大独立集.看到\(m\)的范围较小,且不能直接做,那么考虑折半搜索.把人分成前一半和后一半,枚举出…