A6141 | 「USACO 2024.12 Platinum」All Pairs Similarity
时间限制2s
内存限制512MB
通过 / 提交0/0
题目描述
**题目译自 [USACO 2024 December Contest, Platinum](http://usaco.org/index.php?page=dec24results) Problem 1. [All Pairs Similarity](https://usaco.org/index.php?page=viewproblem2&cpid=1452)**
Farmer John 的 $N$($1\le N\le 5\cdot 10^5$)头奶牛都被分配了一个长度为 $K$ 的非全零位串($1\le K\le 20$)。不同的奶牛可能被分配到相同的位串。
两个位串的 Jaccard 相似度定义为它们的按位与的结果中 $\texttt{1}$ 的数量除以它们的按位或的结果中 $\texttt{1}$ 的数量。例如,位串 $\texttt{11001}$ 和 $\texttt{11010}$ 的 Jaccard 相似度为 $2/4$。
对于每头奶牛,输出她的位串与每头奶牛(包括她自己)的位串的 Jaccard 相似度之和,对 $10^9+7$ 取模。具体地说,如果总和等于一个有理数 $a/b$,其中 $a$ 和 $b$ 是互质的整数,则输出范围 $[0,10^9+7)$ 内的唯一整数 $x$,使得 $bx-a$ 被 $10^9+7$ 整除。
Farmer John 的 $N$($1\le N\le 5\cdot 10^5$)头奶牛都被分配了一个长度为 $K$ 的非全零位串($1\le K\le 20$)。不同的奶牛可能被分配到相同的位串。
两个位串的 Jaccard 相似度定义为它们的按位与的结果中 $\texttt{1}$ 的数量除以它们的按位或的结果中 $\texttt{1}$ 的数量。例如,位串 $\texttt{11001}$ 和 $\texttt{11010}$ 的 Jaccard 相似度为 $2/4$。
对于每头奶牛,输出她的位串与每头奶牛(包括她自己)的位串的 Jaccard 相似度之和,对 $10^9+7$ 取模。具体地说,如果总和等于一个有理数 $a/b$,其中 $a$ 和 $b$ 是互质的整数,则输出范围 $[0,10^9+7)$ 内的唯一整数 $x$,使得 $bx-a$ 被 $10^9+7$ 整除。
输入格式
输入的第一行包含 $N$ 和 $K$。
以下 $N$ 行每行包含一个整数 $i\in (0,2^K)$,表示一头奶牛分配到了 $i$ 的 $K$ 位二进制表示。
以下 $N$ 行每行包含一个整数 $i\in (0,2^K)$,表示一头奶牛分配到了 $i$ 的 $K$ 位二进制表示。
输出格式
对于每头奶牛输出一行,包含所求的总和,对 $10^9+7$ 取模。
输入输出样例
输入 #1
4 2 1 1 2 3
输出 #1
500000006 500000006 500000005 500000006
- 测试点 2-15:对于每一个 $K\in \{10,15,16,17,18,19,20\}$ 有两个测试点。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?