#P7624. [AHOI2021初中组] 地铁

    ID: 6697 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>二分2021安徽图论建模负权环差分约束

[AHOI2021初中组] 地铁

题目背景

AHOI2021 初中组 T4

你可以选择跳过背景部分。

小可可发现自己所学算法在生活中其实无大用,感觉十分沮丧。小雪见状还是嘀咕了几句“应该还是有用的吧”。

“不过没用又怎么样呢?算法只不过是一块名牌大学的敲门砖罢了。”

“你这话我就不同意了。跳蚤国王曾经和我说过,以后科研或者工作中我们还会和信息学竞赛中的某些东西重逢,虽然可能不会再有信息学竞赛这么难。

“除开功利的因素之外,搞信息学竞赛还是能享受到很多思考的乐趣的。”

“你说的也对。每次我在考场上不会做质疑这题是不是有问题的时候,考后看题解总是懊恼又快乐——这么自然的思路我怎么想不到呢!”

一颗理论计算机科学家的种子悄悄萌芽。

沙尘暴突然神奇般的散去了。实在坐不下去的两人决定出门坐地铁瞎逛,随性下车。即使没有刻意为之,小雪在地铁上却想出了一个有意思的问题,你能解决吗?

题目描述

B 市的地铁历史悠久,小雪和小可可乘坐的 X 号线是环形路线,上面分布着 nn 个车站,相邻两个车站之间的铁路长度为正整数。现在小雪进行了一些观察,得到了 mm 条信息,第 ii 条信息是如下形式之一:

  1. 环上顺时针由 SiS_iTiT_i 的一段距离不小于一个给定的值 LiL_iSiS_iTiT_i 是两个车站);
  2. 环上顺时针由 SiS_iTiT_i 的一段距离不大于一个给定的值 LiL_i

小雪想要你计算最后 X 线地铁的总长度有多少种不同的合法取值。

输入格式

第一行两个空格隔开的正整数 nnmm

下面 mm 行,第 ii 行四个空格隔开的正整数 typei,Si,Ti,Litype_i,S_i,T_i,L_i,其中 typei{1,2}type_i \in \{1,2\} 表示信息的类型。车站顺时针编号为从 1 开始的连续整数。保证 1Si,Tin1 \le S_i,T_i \le nSiTiS_i \ne T_i

输出格式

仅一行一个整数,表示所求答案。如果有无穷种取值,请输出 -1

保证答案不为 0,即至少有一种可能的方案。

4 6
1 1 3 3
2 2 4 5
1 2 4 4
1 3 1 4
2 4 2 5
1 4 2 3
4
3 2
2 1 2 1
2 2 3 1
-1
见附加文件的 subway3.in。 
见附加文件的 subway3.ans。

提示

【样例 1 解释】

定义数组 d[1..4]d[1..4],其中 d[i]d[i] 表示 ii 号车站顺时针到 i+1i+1 号车站的铁路长度。

  1. d=[1,2,2,2]d=[1,2,2,2],总长度为 77
  2. d=[1,2,2,3]d=[1,2,2,3],总长度为 88
  3. d=[1,2,2,4]d=[1,2,2,4],总长度为 99
  4. d=[1,2,3,4]d=[1,2,3,4],总长度为 1010

可以证明,不存在其他的可能长度,于是答案为 44

【样例 2 解释】

33 号车站顺时针到 11 号车站的铁路长度可以为任意正整数。

【数据范围与提示】

  • 对于 30%30\% 的数据,保证 n,m9n,m \le 9Li5L_i \le 5
  • 对于另外 15%15\% 的数据,保证 TiT_iSiS_i 顺时针方向后第一个车站;
  • 对于另外 20%20\% 的数据,保证 TiT_iSiS_i 顺时针方向后第二个车站;
  • 对于另外 25%25\% 的数据,保证 n,m50n,m \le 50
  • 对于 100%100\% 的数据,保证 3n5003 \le n \le 5001m5001 \le m \le 5001Li1091 \le L_i \le 10^9