#B. 辰辰的世外桃源

    Type: RemoteJudge 1000ms 256MiB

辰辰的世外桃源

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

辰辰在校园里发现了一个世外桃源,这里饲养了很多动物,饲养员小 A 会根据饲养动物的情况,按照《饲养指南》购买不同种类的饲料,并将购买清单发给采购员小 B。

具体而言,动物世界里存在 2k2^k 种不同的动物,它们被编号为 02k10 \sim 2^k - 1。动物园里饲养了其中的 nn 种,其中第 ii 种动物的编号为 aia_i

《饲养指南》中共有 mm 条要求,第 jj 条要求形如“如果动物园中饲养着某种动物,满足其编号的二进制表示的第 pjp_j 位为 11,则必须购买第 qjq_j 种饲料”。其中饲料共有 cc 种,它们从 1c1 \sim c 编号。本题中我们将动物编号的二进制表示视为一个 kk 位 01 串,第 00 位是最低位,第 k1k - 1 位是最高位。

根据《饲养指南》,小 A 将会制定饲料清单交给小 B,由小 B 购买饲料。清单形如一个 cc0101 串,第 ii 位为 11 时,表示需要购买第 ii 种饲料;第 ii 位为 00 时,表示不需要购买第 ii 种饲料。 实际上根据购买到的饲料,动物园可能可以饲养更多的动物。更具体地,如果将当前未被饲养的编号为 xx 的动物加入动物园饲养后,饲料清单没有变化,那么我们认为动物园当前还能饲养编号为 xx 的动物。

现在小 B 想请你帮忙算算,动物园目前还能饲养多少种动物。

输入格式

第一行包含四个以空格分隔的整数 n,m,c,kn, m, c, k。 分别表示动物园中动物数量、《饲养指南》要求数、饲料种数与动物编号的二进制表示位数。 第二行 nn 个以空格分隔的整数,其中第 ii 个整数表示 aia_i。 接下来 mm 行,每行两个整数 pi,qip_i, q_i 表示一条要求。 数据保证所有 aia_i 互不相同,所有的 qiq_i 互不相同。

输出格式

仅一行一个整数表示答案。

3 3 5 4
1 4 6
0 3
2 4
2 5
13
2 2 4 3
1 2
1 3
2 4
2
见附件中的 zoo/zoo3.in
见附件中的 zoo/zoo3.ans

提示

【样例 #1 解释】

动物园里饲养了编号为 1,4,61, 4, 6 的三种动物,《饲养指南》上的三条要求为:

  1. 若饲养的某种动物的编号的第 00 个二进制位为 11,则需购买第 33 种饲料。
  2. 若饲养的某种动物的编号的第 22 个二进制位为 11,则需购买第 44 种饲料。
  3. 若饲养的某种动物的编号的第 22 个二进制位为 11,则需购买第 55 种饲料。

饲料购买情况为:

  1. 编号为 11 的动物的第 00 个二进制位为 11,因此需要购买第 33 种饲料;
  2. 编号为 4,64, 6 的动物的第 22 个二进制位为 11,因此需要购买第 4,54, 5 种饲料。

由于在当前动物园中加入一种编号为 0,2,3,5,7,8,,150, 2, 3, 5, 7, 8, \ldots , 15 之一的动物,购物清单都不会改变,因此答案为 1313

【数据范围】

对于 20%20 \% 的数据,kn5k \le n \le 5m10m \le 10c10c \le 10,所有的 pip_i 互不相同。 对于 40%40 \% 的数据,n15n \le 15k20k \le 20m20m \le 20c20c \le 20。 对于 60%60 \% 的数据,n30n \le 30k30k \le 30m1000m \le 1000。 对于 100%100 \% 的数据,0n,m1060 \le n, m \le 10^60k640 \le k \le 641c1081 \le c \le 10^8

北辰OI CSP-S模拟测试(三)

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2023-9-28 16:45
End at
2023-9-28 18:45
Duration
2 hour(s)
Host
Partic.
4