| 题目名称 | 281. [USACO Dec08] 密信 |
|---|---|
| 输入输出 | sec.in/out |
| 难度等级 | ★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 13 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:33, 提交:76, 通过率:43.42% | ||||
|
|
100 | 0.176 s | 8.40 MiB | C++ |
|
|
100 | 0.191 s | 7.98 MiB | C++ |
|
|
100 | 0.203 s | 15.61 MiB | C++ |
|
|
100 | 0.210 s | 0.32 MiB | C++ |
|
|
100 | 0.214 s | 7.92 MiB | C++ |
|
|
100 | 0.237 s | 0.35 MiB | C++ |
|
|
100 | 0.332 s | 8.11 MiB | C++ |
|
|
100 | 0.389 s | 8.31 MiB | C++ |
|
|
100 | 0.412 s | 19.38 MiB | C++ |
|
|
100 | 0.569 s | 70.71 MiB | C++ |
| 关于 密信 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
好~
| ||||
|
真是智障了,查询过程中边输入边查找,遇到不符的条件的就reutrn,然后都没读完。。
2017-02-22 08:33
3楼
| ||||
|
| ||||
|
| ||||
贝茜正在领导奶牛们逃跑。为了联络,奶牛们互相发送秘密信息。
信息是二进制的,共有 $M$($1 \le M \le 50000$)条,反间谍能力很强的约翰已经部分拦截了这些信息,知道了第 $i$ 条二进制信息的前 $b_i$($1 \le b_i \le 10000$)位,他同时知道,奶牛使用 $N$($1 \le N \le 50000$)条暗号.但是,他仅仅知道第 $j$ 条暗号的前 $c_j$($1 \le c_j \le 10000$)位。
对于每条暗号 $j$,他想知道有多少截得的信息能够和它匹配。也就是说,有多少信息和这条暗号有着相同的前缀。当然,这个前缀长度必须等于暗号和那条信息长度的较小者。
在输入文件中,位的总数(即 $\sum b_i + \sum c_i$)不会超过 $5 \times 10^5$。
第 $1$ 行:两个整数 $M$ 和 $N$。
接下来 $M$ 行,其中的第 $i$ 行:一个整数 $b_i$,后跟 $b_i$ 个空格分隔的“0”和“1”,描述截取的消息 $i$。
接下来 $N$ 行,其中的第 $j$ 行:一个整数 $c_j$,后跟 $c_j$ 个空格分隔的“0”和“1”,描述暗号 $j$。
$N$ 行,第 $i$ 行表示第 $i$ 个暗号可以匹配的消息数。
4 5 3 0 1 0 1 1 3 1 0 0 3 1 1 0 1 0 1 1 2 0 1 5 0 1 0 0 1 2 1 1
1 3 1 1 2
四条消息;五条暗号。截获的消息以 010、1、100 和 110 开头。可能的暗号以 0、1、01、01001 和 11 开头。
0:匹配 010: $1$ 个匹配。
1:匹配 1、100 和 110,$3$ 个匹配。
01:匹配 010,$1$ 个匹配。
01001:匹配 010,$1$ 个匹配。
11: 匹配 1 和 110,$2$ 个匹配。