CF1539E Game with Cards

题目描述

Alice 的电脑坏了,所以她现在无法玩她最喜欢的纸牌游戏。为了帮助 Alice,Bob 需要回答她的 $n$ 个问题。 一开始,Bob 左手和右手各持有一张编号为 $0$ 的牌。在第 $i$ 个问题中,Alice 要求 Bob 用编号为 $k_i$ 的牌替换左手或右手中的一张牌(Bob 可以选择替换哪只手,且必须恰好替换一张牌)。 在这个操作之后,Alice 希望左手和右手上的牌的编号分别属于给定的区间(左手和右手的区间可以不同)。具体来说,设左手上的牌为 $x$,右手上的牌为 $y$。那么在第 $i$ 次替换后,必须满足:$a_{l,i} \le x \le b_{l,i}$,且 $a_{r,i} \le y \le b_{r,i}$。 请你判断 Bob 是否能够完成所有请求。如果可以,请给出一种操作方案。

输入格式

第一行包含两个整数 $n$ 和 $m$($2 \le n \le 100\,000$,$2 \le m \le 10^9$),分别表示问题的数量和牌面上的最大可能值。 接下来描述 $n$ 个请求。每个请求包含三行。 第 $i$ 个请求的第一行包含一个整数 $k_i$($0 \le k_i \le m$),表示新牌上的数字。 第二行包含两个整数 $a_{l,i}$ 和 $b_{l,i}$($0 \le a_{l,i} \le b_{l,i} \le m$),表示替换后左手牌的最小值和最大值。 第三行包含两个整数 $a_{r,i}$ 和 $b_{r,i}$($0 \le a_{r,i} \le b_{r,i} \le m$),表示替换后右手牌的最小值和最大值。

输出格式

第一行输出 "Yes",如果 Bob 能够完成所有请求;否则输出 "No"。 如果 Bob 能完成所有 $n$ 个请求,则第二行输出 $n$ 个数字,表示一种满足所有要求的操作方案。如果在第 $i$ 个请求中 Bob 替换了左手的牌,则输出 $0$,否则输出 $1$。如果有多种方案,输出任意一种即可。

说明/提示

由 ChatGPT 4.1 翻译