Codeforces Round #580 (Div. 2) D Shortest Cycle(最小环)
题意:给你n个数,如果每两个数且(and)不为0,可以连无向边,求最小环。
分析:最小环可以利用Floyd来搞,n太大,如果n很小就可以直接搞了,考虑把n缩小,因为最小环是3,所有只要某一位的个数大于等于3,那么肯定结果就是3,由容斥原理(鸽巢定理)可知,当非0的个数大于63*2时,肯定会有一个位的个数大于2,或者直接统计每一位的个数也行,这样就可以把n缩小到100多了,直接跑Floyd就好了。...
原创
2019-08-19 10:11:22 ·
228 阅读 ·
0 评论