摘要: 田忌赛马。 原理:(假设a队最大得分,得分为res) 1.如果a最小 > b最小,res += 2。 这样没必要用更大的a来解决这个b。 else 2.如果a最大 > b最小,res += 2。 这样没必要用更小的a解决这个b,这个b反正都要被解决,如果更小的a能解决这个b,那也能解决别的b。 else 3.上述两种情况不成立,就用a最小消耗b最大,b最大没人能打过,就用最弱的,a最小打... 阅读全文
posted @ 2016-04-12 23:26 invoid 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 二分图最大顺序匹配。 拿题目编号和锦囊编号建二分图,跑匈牙利算法。 #include #include #include using namespace std; const int maxn = 2000 + 10; const int maxm = 4000 + 10; int n,m,e; int v[maxn],next[maxm],h[maxn]; int p[maxn]; b... 阅读全文
posted @ 2016-04-12 21:59 invoid 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 二分图的最大匹配。将每个武器的俩个属性与这个武器连边。枚举属性,无法匹配就输出。 基本概念:(口述非官方) 二分图:把一个图的顶点分为俩部分,每部分的每个点之间都没有边相连。 匹配:在二分图中,找出一些边,每个边都没有公共点。 最大匹配:最大的匹配。 完美匹配:每个点都用上的匹配,2*边数 = 点数。 其实二分图的最大匹配可以用最大流算法来解释。每个边容量为1。但效率不高。 匈牙利算... 阅读全文
posted @ 2016-04-12 14:01 invoid 阅读(169) 评论(0) 推荐(0) 编辑