#2753. Empty Stalls

    ID: 2753 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>竞赛USACO年份20132013并查集判环图的连通性树上最长直径路径标记

Empty Stalls

题目描述

FarmerJohn\red{Farmer John }的新谷仓由 N\red{N }个畜栏组成2<=N<=3,000,000\red{(2 <= N <= 3,000,000)},编号为 0..N1\red{0..N-1,}其中 N1\red{N-1 }畜栏与 0\red{0 }畜栏相邻。每天结束时,FJ\red{FJ }的奶牛一个个回到谷仓,每个人都有一个他们想占据的首选摊位。

然而,如果一头奶牛的首选隔间已被另一头奶牛占据,她会从该隔间按顺序向前扫描,直到找到第一个空置的隔间,然后她声称该隔间。如果她扫描过N1\red{N-1 }隔间,她将继续从 0\red{0 }号隔间开始扫描。

给定每头奶牛的首选隔间,请确定在所有奶牛都返回谷仓后仍然无人占用的隔间的最小索引。请注意,这个问题的答案并不取决于奶牛返回谷仓的顺序。

为了避免读取大量输入时出现问题,此问题的输入以简洁的格式指定,使用K\red{K }(1<=K<=10,000)\red{(1 <= K <= 10,000),}每个格式如下: XYAB\red{XYAB }其中一行指定了XY\red{XY }奶牛总数:X\red{X }头奶牛更喜欢每个畜栏 f(1)..f(Y)\red{f(1) .. f(Y),}其中 f(i)=(Ai+B)modN\red{f(i) = (Ai + B) mod N}A\red{A }B\red{B }的值在 0...\red{0... }范围内1,000,000,000\red{1,000,000,000}。不要忘记所有问题的标准内存限制为 64MB\red{64MB}

没有绕成一个个圈成为0...n1\red{(0...n-1)},有很多头牛,每头牛喜欢一个并且有一个会场编号位置,如果这个有牛的位置后面找到第一个位置一个牛的位置占领;由于数据过大,采用了更多的方法读入,读入x\red{x,}y\red{y,}a\red{a,}b\red{b}表示有x\red{x}个牛喜欢f(1)..f(y),f(i)=(a×i+b)%n\red{f(1)..f(y),f(i ) = (a\times i+b)\%n};

输入格式

1\red{1 }行:两个空格分隔的整数:N\red{N }K\red{K}

2..1+K\red{2..1+K }行:每行包含整数 XYAB\red{XYAB,}解释如上。

所有这些行指定的奶牛总数最多为 N1\red{N-1}。可以通过其中几条线将奶牛添加到同一个畜栏。

输出格式

1\red{1 }行:空置摊位的最小索引。

样例

输入样例

10 3
3 2 2 4
2 1 0 1
1 1 1 7

输出样例

5

提示

输入细节:

谷仓有 10\red{10 }个摊位,编号 0..9\red{0..9}

第二行输入表明 3\red{3 }头奶牛更喜欢失速 (2×1+4)mod10=6\red{(2\times 1+4) mod 10 = 6,}3\red{3 }头奶牛更喜欢失速 (2×2+4)mod10=8\red{(2\times 2+4) mod 10 = 8}

第三行表明 2\red{2 }头奶牛更喜欢失速 (0×1+1)mod10=1\red{( 0\times 1+1) mod 10 = 1}

第四行指定 1\red{1 }头奶牛喜欢摊位 (1×1+7)mod10=8\red{(1\times 1+7) mod 10 = 8}(所以总共有 4\red{4 }头奶牛喜欢这个摊位)。

输出详情:

5\red{5 }号摊位外,所有摊位都将被占用。