传送门:HDU 5961
题意:中文题
思路:这题如果按hdu上的6s时限的话就有很多做法了,从每个点开始bfs判断是否有长度大于等于2的最短路径,或者dfs判断给出的图中是否有三元环等等,但是据说现场赛是1500ms时限,那这些做法就都不行了。
能在现场赛实现下通过的一个方法是用bitset将每个点的出边保存下来,然后枚举每一条边,判断该边的两个端点的出边是否都为下图的情况
即判断是否只要有BC边就有AC边,具体做法就是用bitset[B] & bitset[A]看看结果是否等于bitset[B]
这样复杂度就是O(n ^ 2 / 64)了。