CF1290C.Prefix Enlightenment

提高+/省选-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn lamps on a line, numbered from 11 to nn. Each one has an initial state off (00) or on (11).

You're given kk subsets A1,…,AkA_1, \ldots, A_k of 1,2,…,n{1, 2, \dots, n}, such that the intersection of any three subsets is empty. In other words, for all 1≤i1<i2<i3≤k1 \le i_1 \lt i_2 \lt i_3 \le k, Ai1∩Ai2∩Ai3=∅A_{i_1} \cap A_{i_2} \cap A_{i_3} = \varnothing.

In one operation, you can choose one of these kk subsets and switch the state of all lamps in it. It is guaranteed that, with the given subsets, it's possible to make all lamps be simultaneously on using this type of operation.

Let mim_i be the minimum number of operations you have to do in order to make the ii first lamps be simultaneously on. Note that there is no condition upon the state of other lamps (between i+1i+1 and nn), they can be either off or on.

You have to compute mim_i for all 1≤i≤n1 \le i \le n.

一条直线上有 nn 盏灯,编号从 11 到 nn。每盏灯的初始状态为关(00)或开(11)。

给定 kk 个集合 A1,…,AkA_1, \ldots, A_k,它们均为 {1,2,…,n}\{1, 2, \dots, n\} 的子集,且任意三个集合的交集为空。即,对所有满足 1≤i1<i2<i3≤k1 \le i_1 < i_2 < i_3 \le k 的下标,均有 Ai1∩Ai2∩Ai3=∅A_{i_1} \cap A_{i_2} \cap A_{i_3} = \varnothing。

每次操作中,你可以选择这 kk 个集合中的一个,并将其中所有灯的状态翻转(开变关,关变开)。题目保证:在给定这些集合的前提下,总能通过若干次此类操作使所有灯同时处于开启状态。

令 mim_i 表示使前 ii 盏灯(即编号为 11 至 ii 的灯)同时开启所需的最少操作次数。注意:对编号在 i+1i+1 到 nn 之间的其余灯的状态不作任何要求(可开可关)。

你需要对所有 1≤i≤n1 \le i \le n,计算出对应的 mim_i。

输入格式

The first line contains two integers nn and kk (1≤n,k≤3⋅1051 \le n, k \le 3 \cdot 10^5).

The second line contains a binary string of length nn, representing the initial state of each lamp (the lamp ii is off if si=0s_i = 0, on if si=1s_i = 1).

The description of each one of the kk subsets follows, in the following format:

The first line of the description contains a single integer cc (1≤c≤n1 \le c \le n) — the number of elements in the subset.

The second line of the description contains cc distinct integers x1,…,xcx_1, \ldots, x_c (1≤xi≤n1 \le x_i \le n) — the elements of the subset.

It is guaranteed that:

  • The intersection of any three subsets is empty;
  • It's possible to make all lamps be simultaneously on using some operations.

第一行包含两个整数 nn 和 kk(1≤n,k≤3⋅1051 \le n, k \le 3 \cdot 10^5)。

第二行包含一个长度为 nn 的二进制字符串,表示每盏灯的初始状态(若 si=0s_i = 0,则第 ii 盏灯关闭;若 si=1s_i = 1,则第 ii 盏灯开启)。

接下来依次描述 kk 个子集,每个子集的描述格式如下:

子集描述的第一行包含一个整数 cc(1≤c≤n1 \le c \le n)—— 表示该子集中元素的个数。

子集描述的第二行包含 cc 个互不相同的整数 x1,…,xcx_1, \ldots, x_c(1≤xi≤n1 \le x_i \le n)—— 表示该子集的元素。

保证满足以下条件:

  • 任意三个子集的交集为空;
  • 存在某种操作序列,使得所有灯最终同时处于开启状态。

输出格式

You must output nn lines. The ii-th line should contain a single integer mim_i — the minimum number of operations required to make the lamps 11 to ii be simultaneously on.

你需要输出 nn 行。第 ii 行应包含一个整数 mim_i —— 使灯 11 至 ii 同时亮起所需的最少操作次数。

输入输出样例

  • 输入#1

    7 3
    0011100
    3
    1 4 6
    3
    3 4 7
    2
    2 3

    输出#1

    1
    2
    3
    3
    3
    3
    3
  • 输入#2

    8 6
    00110011
    3
    1 3 8
    5
    1 2 5 6 7
    2
    6 8
    2
    3 5
    2
    4 7
    1
    2

    输出#2

    1
    1
    1
    1
    1
    1
    4
    4
  • 输入#3

    5 3
    00011
    3
    1 2 3
    1
    4
    3
    3 4 5

    输出#3

    1
    1
    1
    1
    1
  • 输入#4

    19 5
    1001001001100000110
    2
    2 3
    2
    5 6
    2
    8 9
    5
    12 13 14 15 16
    1
    19

    输出#4

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

说明/提示

In the first example:

  • For i=1i = 1, we can just apply one operation on A1A_1, the final states will be 10101101010110;
  • For i=2i = 2, we can apply operations on A1A_1 and A3A_3, the final states will be 11001101100110;
  • For i≥3i \ge 3, we can apply operations on A1A_1, A2A_2 and A3A_3, the final states will be 11111111111111.

In the second example:

  • For i≤6i \le 6, we can just apply one operation on A2A_2, the final states will be 1111110111111101;
  • For i≥7i \ge 7, we can apply operations on A1,A3,A4,A6A_1, A_3, A_4, A_6, the final states will be 1111111111111111.

在第一个例子中:

  • 对于 i=1i = 1,我们只需对 A1A_1 执行一次操作,最终状态为 10101101010110;
  • 对于 i=2i = 2,我们可对 A1A_1 和 A3A_3 执行操作,最终状态为 11001101100110;
  • 对于 i≥3i \ge 3,我们可对 A1A_1、A2A_2 和 A3A_3 执行操作,最终状态为 11111111111111。

在第二个例子中:

  • 对于 i≤6i \le 6,我们只需对 A2A_2 执行一次操作,最终状态为 1111110111111101;
  • 对于 i≥7i \ge 7,我们可对 A1A_1、A3A_3、A4A_4、A6A_6 执行操作,最终状态为 1111111111111111。

输入解题思路,AI测评打分。不知道怎么写?

首页