Kyu-Kurarin
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
有一个长为 的序列 ,初始 都是 ,以及一个操作序列 ,具体地,一个操作 代表把 修改为 。保证 ,这里 是给定的常数。
定义一个操作序列合法,当且仅当经过这个操作序列之后, 满足:
- 所有 均不为 。
- 序列 中的不同元素个数需要 ,其中 是给定的正整数。
现在你可以从你的操作序列 中忽略若干个操作,然后把剩下的操作分成尽可能多的子序列,使得每个子序列都是合法的操作序列。请你求出最多能分出多少个子序列,并构造一种方案。
具体地,你需要输出 个正整数 表示每个操作被分到了哪个子序列中,还是删除了。如果 ,代表你忽略了这次操作,否则代表你把这次操作分到了第 个子序列内。你需要保证每个分出的子操作序列都是合法的。
输入格式
第一行四个正整数 。
接下来 行,每行两个正整数 表示操作序列中的一个操作。
输出格式
第一行输出一个正整数 表示最多能分出多少个子序列。
接下来一行 个正整数 表示每个操作被分到了哪个子序列中,还是删除了。具体地,你需要保证 ,如果 ,代表你忽略了这次操作,否则代表你把这次操作分到了第 个子序列内。你需要保证每个分出的子操作序列都是合法的。
如有非唯一解,输出任意一种均可。
样例 输入
3 3 10 2
3 1
3 3
3 2
2 3
2 2
2 2
3 3
2 1
1 3
1 3
样例 输出
2
0 0 2 0 1 2 1 0 1 2
样例 解释
第一个分出来的操作序列是 ,第二个则是 ,都是合法的
样例 输入
3 4 5 1
1 1
1 1
1 1
1 1
1 1
样例 输出
0
0 0 0 0 0
样例
见下发文件,这些样例依次满足子任务 的约束。
测试点约束
对于所有数据,$1\le n,m\le 1000,1\le c\le 5000,1\le k\le \min(n,m)$。
| 子任务编号 | 特殊性质 | 分值 |
|---|---|---|
| 1 | 8 | |
| 2 | 16 | |
| 3 | 8 | |
| 4 | ||
| 5 | 24 | |
| 6 | 16 | |
| 7 | 无 | 20 |
云斗学院 2026 省选计划系列模拟赛 #1
- 状态
- 已结束
- 规则
- OI
- 题目
- 3
- 开始于
- 2025-12-19 0:00
- 结束于
- 2025-12-21 20:00
- 持续时间
- 4.5 小时
- 主持人
- 参赛人数
- 116
京公网安备 11011102002149号