QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 256 MB 満点: 100

#3541. 圆上的 LIS

統計

有 $n$ 个人围坐在圆桌旁。每个人都有一组卡片,每张卡片上写有一个数字 $x$。玩家按顺序轮流出牌,从 1 号玩家开始。在轮到某位玩家时,他可以选择跳过(弃权),或者打出一张数字严格大于上一张打出的牌的数字的卡片(并将其留在桌面上)。连续跳过回合的玩家人数不能超过 $k$ 个。所有玩家都知道其他人手中的牌,并且总是采取最优策略。请帮助赌徒们组成一个长度最长的递增序列。

输入格式

第一行包含两个数字 $n$ 和 $k$,分别表示玩家人数和允许连续跳过回合的最大人数。

接下来的 $n$ 行包含玩家手中卡片的描述。每行的第一个数字 $m_i$ 是当前玩家手中卡片的数量,随后的 $m_i$ 个空格分隔的数字表示卡片上写的数字 $x$。

$$0 \le \sum m_i \le 10^5$$ $$1 \le n \le 10^5$$ $$0 \le k < n$$ $$0 \le x \le 10^9$$

输出格式

第一行输出一个数字,表示最长序列的长度。在接下来的行中,输出两个空格分隔的数字:玩家编号和该玩家打出的卡片上的数字。如果存在多种方案,输出其中任意一种即可。

样例

样例输入 1

3 1
4 1 10 12 20
2 11 21
4 3 5 15 22

样例输出 1

9
1 1
3 3
1 10
2 11
1 12
3 15
1 20
2 21
3 22

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.