CF2046E2.Cheops and a Contest (Hard Version)

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的困难版本。不同之处在于本版本中 mm 可以为任意值。只有在你解决了所有版本的问题后,才能 hack。

古埃及正在举行一场解题比赛,有 nn 名参赛者,编号从 11 到 nn。每位参赛者来自某个城市,城市编号从 11 到 mm。每个城市至少有一名参赛者。

第 ii 位参赛者有力量 aia_i、专长 sis_i 和智慧 bib_i,满足 bi≥aib_i \ge a_i。比赛中的每道题目都有难度 dd 和唯一的话题 tt。第 ii 位参赛者会解出这道题目,当且仅当:

  • ai≥da_i \ge d,即他的力量不小于题目的难度,或者
  • si=ts_i = t 且 bi≥db_i \ge d,即他的专长与题目的话题相同,且智慧不小于题目的难度。

Cheops 想要选择题目,使得对于所有 i<ji < j,来自城市 ii 的每位参赛者解出的题目数量都严格多于来自城市 jj 的每位参赛者。

请你找出最多 5n5n 道题目的集合,使得所有题目的话题互不相同,并满足 Cheops 的要求;或者说明这是不可能的。

输入格式

每个测试点包含多组测试数据。第一行包含测试组数 TT(1≤T≤1041 \le T \le 10^4)。接下来是每组测试数据的描述。

每组测试数据的第一行包含两个整数 nn 和 mm(2≤m≤n≤3⋅1052 \le m \le n \le 3 \cdot 10^5),表示参赛者人数和城市数量。

接下来的 nn 行描述参赛者。第 ii 行包含三个整数 aia_i、bib_i、sis_i(0≤ai,bi,si≤1090 \le a_i, b_i, s_i \le 10^9,ai≤bia_i \le b_i),分别表示力量、智慧和专长。

接下来的 mm 行描述城市。第 ii 行的第一个数是整数 kik_i(1≤ki≤n1 \le k_i \le n),表示第 ii 个城市的参赛者人数。接下来是 kik_i 个整数 qi,1,qi,2,…,qi,kiq_{i,1}, q_{i,2}, \ldots, q_{i,k_i}(1≤qi,j≤n1 \le q_{i,j} \le n,1≤j≤ki1 \le j \le k_i),表示该城市参赛者的编号。保证每个参赛者恰好出现一次。

保证所有测试数据中 nn 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每组测试数据,如果存在满足 Cheops 要求的题目集合,则第一行输出一个整数 pp(1≤p≤5n1 \le p \le 5n),表示你选择的题目数量。

接下来 pp 行,每行两个整数 dd 和 tt(0≤d,t≤1090 \le d, t \le 10^9),分别表示该题目的难度和话题。所有题目的话题必须互不相同。

如果不存在满足 Cheops 要求的题目集合,输出 −1-1。

输入输出样例

  • 输入#1

    2
    5 2
    5 7 1
    6 7 2
    3 9 2
    5 10 3
    4 4 1
    2 1 2
    3 3 4 5
    2 2
    1 2 1
    1 2 1
    1 2
    1 1

    输出#1

    7
    6 4
    6 5
    5 6
    5 7
    4 8
    4 9
    7 1
    -1

说明/提示

由 ChatGPT 4.1 翻译

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

首页