Type: Default 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 互不相同。

输出格式

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

输入输出样例 #1

输入 #1

3 3 5 4
1 4 6
0 3
2 4
2 5

输出 #1

13

输入输出样例 #2

输入 #2

2 2 4 3
1 2
1 3
2 4

输出 #2

2

输入输出样例 #3

输入 #3

见附件中的 zoo/zoo3.in

输出 #3

见附件中的 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

2025年三月淘汰赛

Not Attended
Status
Done
Rule
IOI
Problem
6
Start at
2025-4-6 8:00
End at
2025-4-7 0:00
Duration
16 hour(s)
Host
Partic.
28