#C1015. [CSP-S 2020T2] 动物园

    ID: 4489 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>CSP-S提高级2020年位运算状压DP集合DP进制转换

[CSP-S 2020T2] 动物园

[CSP-S 2020] 动物园

题目描述

动物园里饲养了很多动物。饲养员小 A 会根据饲养动物的情况,按照《饲养指南》购买不同种类的饲料,并将购买清单发给采购员小 B。

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

《饲养指南》中共有 mm 条要求。第 jj 条要求形如:如果动物园中饲养着某种动物,且其编号二进制表示的第 pjp_j 位为 11,则必须购买第 qjq_j 种饲料。动物编号的二进制表示视为一个 kk0101 串,第 00 位是最低位,第 k1k-1 位是最高位。

根据指南,小 A 会制定饲料清单。若将当前未饲养的编号为 xx 的动物加入动物园后,饲料清单没有变化,则认为动物园当前还能够饲养编号为 xx 的动物。

请计算动物园目前还能饲养多少种动物。

输入格式

第一行四个整数 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

数据范围与提示

样例 #1 中,动物园饲养了编号为 1,4,61,4,6 的三种动物。根据指南需要购买第 3,4,53,4,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

附件下载

zoo.zip