Wannafly 锁

Posted ph = x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wannafly 锁相关的知识,希望对你有一定的参考价值。

题意:

  现在有 $n$ 个人,每个人有一个已然给定的重要度 $a_i$,现有 K 个锁,每个锁有若干钥匙,分配给一些人,要求一群人能够打开全部 $K$ 把锁,

当且仅当他们重要度的和大于等于 $m$,问最少需要配备多少锁。

 

解法:

  定义极大人群集合为1~n这些人的一个子集,这个集合的人无法打开全部的锁,在这个集合任意添加一个人都能够打开所有的K个锁,这样,ans =  这样的集合个数。

  首先考虑对于一个极大集合S,必然是缺 K 种钥匙的其中几种的,如果我们假定是一种钥匙,这样有 [x 持有这种钥匙] = [x ? S](充要)。

  这样对于每一个极大集合都有一种钥匙来将极大集合内的元素和极大集合外的元素区分开,从而需要配备 cnt(S) 种钥匙。

  显然,这也是最少钥匙的方案。

 

以上是关于Wannafly 锁的主要内容,如果未能解决你的问题,请参考以下文章

去参加Wannafly了

Wannafly挑战赛3

Wannafly挑战赛21A

Wannafly挑战赛19

Wannafly挑战赛25游记

2019 wannafly winter camp