<分区>
给定一个已知集合 $A$ 的不同数字 $0 ~ 2^(n+1)-1$。在二进制模式下,它是一个具有 0/1 个元素的 n 维向量。现在对于包含 $m$ 个不同数量的 $A$ 的任意子集 $S$,是否可以找到一个函数 $f$,使得 $f(S)$ 变为 $0,1,...,m-1 $,而 $f(A\S)$ 不应落在 $0,1,...,m-1$ 中。 $f$ 函数应该尽可能简单,最好是线性函数。谢谢。
<分区>
给定一个已知集合 $A$ 的不同数字 $0 ~ 2^(n+1)-1$。在二进制模式下,它是一个具有 0/1 个元素的 n 维向量。现在对于包含 $m$ 个不同数量的 $A$ 的任意子集 $S$,是否可以找到一个函数 $f$,使得 $f(S)$ 变为 $0,1,...,m-1 $,而 $f(A\S)$ 不应落在 $0,1,...,m-1$ 中。 $f$ 函数应该尽可能简单,最好是线性函数。谢谢。
最佳答案
您要查找的关键字是 minimal perfect hash function ,是的,它是 always possible为给定的 S 构造一个最小的完美哈希函数。
关于algorithm - 用于分类的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727526/