UOJ Logo Universal Online Judge

UOJ

#451. 【集训队作业2018】世界是个动物园

附件下载 统计
“高峰期走出去地铁巴士挤满了蚂蚁,
 计程车打开车门一只蝴蝶飞进去,
 猫头鹰指挥着红灯该何时才变绿”
               ——华晨宇《世界是个动物园》

每隔一段时间,世界上就会出现一种新的物种,现在,世界上总共有n种物种,为了方便描述,根据它们在世界上的出现顺序从早到晚将它们按照1..n的顺序编号。

自然界是十分友善的,在任意两种物种x,y(1x<yn)之间,都有一个“保护关系”,这种关系是单向的,要么是x想保护y,要么是y想保护x,注意,不会存在x,y使得xy都想保护对方。

但是,自然界同时也是十分残忍的,或天灾,或人祸,或种间竞争,动物们总是避免不了种种的灾难。

为了更好的抵抗到来的灾难,有些动物决定结盟。

结盟的规则是这样的,对于三种动物x,y,z(xy,xz,yz),如果x想保护yy想保护zz想保护x,那么他们就会在同一个联盟里面。

比如说(1,2,3),(2,3,4)都是满足上面的条件的,那么最后1,2,3,4都会在同一个联盟里面。

然而,时至今日,由于物种的数量变得十分多,物种间的“保护关系”已经变得十分复杂了。

我们这样定义物种间的“保护关系”:

对于物种i,我们给出i1..i1的“保护关系”,具体的,给出si个区间[li,j,ri,j](1li,jri,j<i)这些区间两两之间交集为空,对于x[1,i1],如果存在j(1jsi)满足x[li,j,ri,j],那么ix之间的关系就是i想保护x,否则就是x想保护i

而对于物种i与物种x(i+1xn)之间的“保护关系”,会在x1..x1的“保护关系”中被定义。

这样显然不重不漏地定义了两两物种之间的“保护关系”。

动物中的生物学家们决定探究物种在演变过程中的变化,一个很重要的课题就是每个时期联盟的数量。

作为动物中的佼佼者,生物学家们希望你能帮助他们求出,对于i[1,n],在物种i在这个世界上出现之后动物中的联盟的数量。

输入格式

第一行两个整数nty,表示物种的数量以及是否强制在线(ty1表示强制在线,ty0表示不强制在线)。

接下来n行,其中第i行第一个整数si,表示区间的数量,接下来同一行si对整数Li,j,Ri,j,如果ty=0,那么li,j=Li,j,ri,j=Ri,j,否则li,j=(Li,j+lastans1)modi+1,ri,j=(Ri,j+lastans1)modi+1,其中lastans为物种i1来到这个世界后联盟的数量,特殊地,当i=1时,lastans=0.

li,j,ri,j的意义请参考题目。

输出格式

输出一行n个整数,其中第i个整数,表示物种i来到这个世界后联盟的数量。

样例一

input

10 0
0 
1 1 1 
1 1 1 
1 1 1 
2 4 4 1 1 
2 1 1 4 4 
2 1 1 3 6 
2 6 6 1 4 
2 4 4 1 1 
2 2 2 7 8

output

1 2 3 4 5 6 7 4 5 1

样例二

input

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

output

1 2 3 4 5 6 7 4 5 1

样例三

见样例数据下载。

限制与约定

Ssi的和。 本题采用捆绑测试,每个子任务的时空限制以及数据范围不尽相同,请选手们认真查看。

子任务编号nSty时间限制空间限制分值
15002×10601s512MB9
220002×10601s512MB11
31053.5×10501s512MB15
41053.5×10511s512MB19
52×1052×10602s512MB11
62×1052×10612s512MB18
72×1052×10612s16MB17

提示

输入输出的数据量较大,建议使用读入输出优化。

样例2即为样例1的加密版本.

下载

样例数据下载