‹ 上一题 下一题 ›

06750. USACO·全对相似度 未做

2000 ms 256 MB 测试点 15 通过率 100% USACO池题USACO-Platinum状态压缩动态规划

题目描述

注意:本题的内存限制为 512MB,通常限制的 2 倍。

Farmer John 的 ()头奶牛都被分配了一个长度为 的非全零位串()。不同的奶牛可能被分配到相同的位串。

两个位串的 Jaccard 相似度定义为它们的按位与的结果中 的数量除以它们的按位或的结果中 的数量。例如,位串 和 的 Jaccard 相似度为 。

对于每头奶牛,输出她的位串与每头奶牛(包括她自己)的位串的 Jaccard 相似度之和,对 取模。具体地说,如果总和等于一个有理数 ,其中 和 是互质的整数,则输出范围 内的唯一整数 ,使得 被 整除。

输入格式

输入的第一行包含 和 。

以下 行每行包含一个整数 ,表示一头奶牛分配到了 的 位二进制表示。

输出格式

对于每头奶牛输出一行,包含所求的总和,对 取模。

样例

输入
4 2
1
1
2
3
输出
500000006
500000006
500000005
500000006

提示说明

【样例解释】

奶牛们分配到了以下的位串:。

对于第一头奶牛,总和为 。

第二头奶牛的位串与第一头奶牛相同,所以她的总和也与第一头奶牛相同。

对于第三头奶牛,总和为 。

【数据规模与约定】

  • 测试点 2-15:对于每一个 有两个测试点。

供题:Benjamin Qi

输入
输出

            
答案