codeforces 808F Card Game(二分+最大点权独立集)
题目链接题解:首先考虑到两奇数或两偶数之和必不为质数,所以可以将卡牌分为两类,不过注意一个特例是两个1,他们的和为质数,所以每次只能取一个,根据贪心,必然取最大的。显而易见,此时根据质数关系建边,便可得到二分图,每个点都有点权,有相连边的两点不能选,也就是需要求一个最大点权独立集。最大点权独立集=总和-最小点覆盖建完超级源汇点以后最小点覆盖=最小割=最大流无脑dinic即可由于有等级的限制,所以可以考虑二分这个等级,每次建图跑代码如下:#include<bits/stdc++.h&
原创
2020-08-10 11:57:21 ·
132 阅读 ·
0 评论