#4788. [CERC2016] Bipartite Blanket

[CERC2016] Bipartite Blanket

题目描述

在二分图中,所有点被划分成了两个不相交的集合 aabb,每条边都恰好连接着某个 aa 和某个 bb。一个匹配是一个边集,满足没有任何两条边有相同的端点。我们称一个匹配 mm 覆盖了点集 VV 当且仅当 VV 中的每个点都是 mm 中至少一条边的端点。

给定一个二分图,每个点有一个正整数权值。定义一个点集的权值为其中所有点的权值之和。

给定一个参数 tt,请统计有多少点集 VV,满足 VV 的权值不小于 tt,且 VV 被至少一个匹配 mm 覆盖。

输入格式

第一行包含两个正整数 n,mn,m,分别表示 aa 集合的点数和 bb 集合的点数。
接下来 nn 行,每行 mm01 字符,其中第 ii 行第 jj 列为 11 表示 aia_ibjb_j 之间有一条边。
接下来一行包含 nn 个正整数 v1,v2,,vnv_1,v_2,\cdots,v_n,分别表示 aa 中每个点的权值。
接下来一行包含 mm 个正整数 w1,w2,,wmw_1,w_2,\cdots,w_m,分别表示 bb 中每个点的权值。
最后一行包含一个正整数 tt,表示参数 tt

输出格式

输出一行一个整数,即满足条件的点集个数。

3 3
010
111
010
1 2 3
8 5 13
21
3

数据规模与约定

对于 100%100\% 的数据,1n,m201\leq n,m\leq 201vi,wi1071\leq v_i,w_i\leq 10^71t4×1081\leq t\leq 4\times 10^8