QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 512 MB مجموع النقاط: 100

#10958. 所有配對的相似度

الإحصائيات

Farmer John 的 $N$($1\le N\le 5\cdot 10^5$)頭乳牛各自被分配了一個長度為 $K$ 且不全為零的位元字串($1\le K\le 20$)。不同乳牛可以被分配相同的位元字串。

兩個位元字串的 Jaccard 相似度定義為:它們逐位交集中的置位位元數,除以它們逐位聯集中的置位位元數。例如,位元字串 $\texttt{11001}$ 和 $\texttt{11010}$ 的 Jaccard 相似度為 $2/4$。

對每頭乳牛,輸出她的位元字串與全部 $N$ 頭乳牛的位元字串(包括她自己)的 Jaccard 相似度總和,對 $10^9+7$ 取模。具體而言,如果總和等於有理數 $a/b$,其中 $a$ 和 $b$ 是互質整數,請輸出範圍 $[0,10^9+7)$ 中唯一使 $bx-a$ 能被 $10^9+7$ 整除的整數 $x$。

輸入格式

第一行包含 $N$ 和 $K$。接下來 $N$ 行各包含一個整數 $i\in (0,2^K)$,表示一頭乳牛對應到 $i$ 的長度為 $K$ 的二進位表示。

輸出格式

對每頭乳牛,將總和對 $10^9+7$ 取模後各自輸出一行。

範例

輸入格式 1

4 2
1
1
2
3

輸出格式 1

500000006
500000006
500000005
500000006

說明

乳牛對應到下列位元字串:$[\texttt{01}, \texttt{01}, \texttt{10}, \texttt{11}]$。對第一頭乳牛,總和為 $\text{sim}(1,1)+\text{sim}(1,1)+\text{sim}(1,2)+\text{sim}(1,3)=1+1+0+1/2\equiv 500000006\pmod{10^9+7}$。第二頭乳牛的位元字串與第一頭相同,所以她的總和也與上述相同。對第三頭乳牛,總和為 $\text{sim}(2,1)+\text{sim}(2,1)+\text{sim}(2,2)+\text{sim}(2,3)=0+0+1+1/2\equiv 500000005\pmod{10^9+7}$。

對第一頭乳牛,總和為 $\text{sim}(1,1)+\text{sim}(1,1)+\text{sim}(1,2)+\text{sim}(1,3)=1+1+0+1/2\equiv 500000006\pmod{10^9+7}$。對第三頭乳牛,總和為 $\text{sim}(2,1)+\text{sim}(2,1)+\text{sim}(2,2)+\text{sim}(2,3)=0+0+1+1/2\equiv 500000005\pmod{10^9+7}$。

第二頭乳牛的位元字串與第一頭相同,所以她的總和也與上述相同。對第三頭乳牛,總和為 $\text{sim}(2,1)+\text{sim}(2,1)+\text{sim}(2,2)+\text{sim}(2,3)=0+0+1+1/2\equiv 500000005\pmod{10^9+7}$。

對第三頭乳牛,總和為 $\text{sim}(2,1)+\text{sim}(2,1)+\text{sim}(2,2)+\text{sim}(2,3)=0+0+1+1/2\equiv 500000005\pmod{10^9+7}$。

資料範圍

輸入 2-15:對每個 $K\in \{10,15,16,17,18,19,20\}$,各有兩個測試案例。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.