给定一组这样的公式:
bacb
bcab
cbba
abbc
给出一种算法,该算法可以找到在每个公式中用每个变量替换“ 0”或“ 1”时可获得的唯一结果的数量。
有(k!)^2
公式,每个公式都有2k-1
变量和k^2
术语。用表示你的渐近性k
。
最快的算法获胜。如果出现平局,则使用渐近内存使用率较低的解决方案为准。如果那仍然是平局,则第一帖获胜。
对于上述示例,通过替换变量可以获得以下结果:
1110, 0110, 1001, 0100, 1000, 0000, 0010, 1101, 1111, 0001, 1011, 0111
因此正确的答案是12。除其他外,1010
不能使用上述公式得出。
澄清:问题中的k是什么?只是一些抽象常数吗?
—
isaacg 2015年
@isaacg是的。例如,这是为了防止对于较小但较大的公式而言更快的解决方案之间的联系。
—
orlp 2015年
那么,每个字母
—
瑕疵的
a
,,b
...是一个变量吗?而且我们总是只有数量不均匀的变量吗?变量序列有多长时间以及给出多少个公式都没关系吗?
@flawr在问题中给出了变量数,项数和公式数之间的确切关系。
—
orlp 2015年
是否'可以'的意思是,你可以得到高达 $(K!)^ 2个$ 公式还是有确切 $(K!)^ 2 $公式?除此之外,您是否对具有这些规范的算法有任何应用?我只是问,因为规格似乎很随意。
—
瑕疵