#lg3588. [POI 2015 R2] 沙漠 Desert

    ID: 6048 传统题 1000ms 228MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>线段树记忆化搜索拓扑排序Special Judge省选/NOI−

[POI 2015 R2] 沙漠 Desert

AdditionalFile4968.zip

P3588 [POI 2015 R2] 沙漠 Desert

题目描述

给定一个长度为 nn 的正整数序列 aa,每个数都在 11 到 10910^9 范围内,告诉你其中 ss 个数,并给出 mm 条信息,每条信息包含三个数 l,r,kl,r,k 以及接下来 kk 个正整数,表示 al,al+1,…,ar−1,ara_l, a_{l+1}, \ldots, a_{r-1}, a_r 里这 kk 个数中的任意一个都比任意一个剩下的 r−l+1−kr-l+1-k 个数大(严格大于,即没有等号)。

请任意构造出一组满足条件的方案,或者判断无解。

输入格式

第一行包含三个正整数 n,s,mn,s,m(1≤s≤n≤1051 \leq s \leq n \leq 10^5,1≤m≤2×1051 \leq m \leq 2 \times 10^5)。接下来 ss 行,每行包含两个正整数 pi,dip_i,d_i,表示已知 api=dia_{p_i}=d_i,保证 pip_i 递增。

接下来 mm 行,每行一开始为三个正整数 li,ri,kil_i,r_i,k_i(1≤li<ri≤n1 \leq l_i < r_i \leq n,1≤ki≤ri−li1 \leq k_i \leq r_i-l_i),接下来 kik_i 个正整数 x1..x2...xkix_1..x_2...x_{k_i}(li≤x1<x2<...<xki≤ril_i \leq x_1 < x_2 < ... < x_{k_i} \leq r_i),表示这 kik_i 个数中的任意一个都比任意一个剩下的 ri−li+1−kir_i-l_i+1-k_i 个数大。(∑k≤3×105\sum k \leq 3 \times 10^5)

输出格式

若无解,则输出 NIE。否则第一行输出 TAK,第二行输出 nn 个正整数,依次输出序列 aa 中每个数。

输入输出样例 #1

输入 #1

5 2 2
2 7
5 3
1 4 2 2 3
4 5 1 4

输出 #1

TAK
6 7 1000000000 6 3

输入输出样例 #2

输入 #2

3 2 1
2 3
3 5
1 3 1 2

输出 #2

NIE

输入输出样例 #3

输入 #3

2 1 1
1 1000000000
1 2 1 2

输出 #3

NIE

说明/提示

原题名称:Pustynia。

本题另外提供两组额外样例,可以在附件中下载。

#4968. 「POI2015 R2」沙漠 Desert

标签: 传统 | 时间限制: 1500 ms | 内存限制: 128 MiB |

题目描述

题目译自 XXII Olimpiada Informatyczna — II etap Pustynia

从 Bajtadu 到 Bajtary 的道路穿越字节城大沙漠的茫茫沙海,旅途艰辛,沿途仅有 ss 口水井。字节城国王深知交通命脉对经济至关重要,决定在路上增挖水井。Bajtadu 到 Bajtary 的距离为 n+1n+1 英里,每隔整数英里的点可存在或新建水井。地下水越深,挖井成本越高,施工难度越大。

国王委托宫廷地质学家 Bajtazar 调查此事。Bajtazar 使用卫星网络获取了 mm 次测量数据,但卫星仅提供相对深度信息:每次测量针对一段连续路段,指明某些点水深严格大于其他点。此外,已知每个点的水深为 11 到 10910^9 米的整数。请你帮助 Bajtazar,确定每个点的可能水深,或判断卫星数据是否矛盾。

输入格式

第一行包含三个整数 n,s,mn, s, m $(1 \leq s \leq n \leq 100000, 1 \leq m \leq 200000)$,分别表示两城间距离(不含起点)、水井数和卫星测量次数。

接下来的 ss 行描述水井,第 ii 行包含两个整数 pi,dip_i, d_i (1≤pi≤n,1≤di≤109)(1 \leq p_i \leq n, 1 \leq d_i \leq 10^9),表示第 ii 口水井距巴伊塔杜 pip_i 英里,水深 did_i 米。水井按 pip_i 升序排列。

接下来的 mm 行描述卫星测量,第 ii 行包含三个整数 li,ri,kil_i, r_i, k_i $(1 \leq l_i < r_i \leq n, 1 \leq k_i \leq r_i - l_i)$,后接 kik_i 个整数 x1,x2,…,xkix_1, x_2, \ldots, x_{k_i} (li≤x1<x2<…<xki≤ri)(l_i \leq x_1 < x_2 < \ldots < x_{k_i} \leq r_i),表示在路段 lil_i 到 rir_i(含端点)内,点 x1,…,xkix_1, \ldots, x_{k_i} 的水深严格大于其他点。所有 kik_i 的总和不超过 200000200000。

输出格式

若不存在符合测量数据的深度方案,输出一行一个字符串 NIE。

否则,输出两行:第一行输出 TAK,第二行包含 nn 个 11 到 10910^9 之间的整数,表示从巴伊塔杜开始各点的水深。若有多种方案,输出任意一种。

样例 1

输入

5 2 2
2 7
5 3
1 4 2 2 3
4 5 1 4

输出

TAK
6 7 1000000000 6 3

样例 2

输入

3 2 1
2 3
3 5
1 3 1 2

输出

NIE

样例 3

输入

2 1 1
1 1000000000
1 2 1 2

输出

NIE

附加样例

  1. n=100000n=100000,测量表明点 ii 的水深大于所有前序点(i=2,…,ni=2, \ldots, n);
  2. n=100000n=100000,一次测量表明偶数编号点水深大于奇数编号点。

数据范围与提示

对于 60%60\% 的数据,n,m≤1000n, m \leq 1000。
对于 30%30\% 的数据,所有 kik_i 的总和不超过 10001000。