题目 1748

大数计数

查看题解 ↗GitHub ↗如何评测
题号
1748
时间限制
1000 ms
内存限制
512 MB
标签
数据结构
来源
信息学奥赛一本通 · 高手训练篇·四、数据结构(高手训练)

【题目描述】

一个长度为nn的大数,用S1S2S3...SnS_1S_2S_3...S_n表示,其中SiS_i表示数的第ii位,S1S_1是数的最高位,告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2,r2l_1,r_1,l_2,r_2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2...Sr1S_{l1}S_{l1+1}S_{l1+2}...S_{r1}与Sl2Sl2+1Sl2+2...Sr2S_{l2}S_{l2+1}S_{l2+2}...S_{r2}完全相同。 比如n=6n=6时,某限制条件l1=1l_1=1,r1=3r_1=3,l2=4l_2=4,r2=6r_2=6,那么123123123123,351351351351均满足条件,但是1201212012,131141131141不满足条件,前者数的长度不为66,后者第二位与第五位不同。问满足以上所有条件的数有多少个。

【输入】

第一行两个数nn和mm,分别表示大数的长度,以及限制条件的个数。 接下来mm行,对于第ii行,有44个数 li1,ri1,li2,ri2l_{i1},r_{i1},l_{i2},r_{i2},分别表示该限制条件对应的两个区间。1≤n≤105,1≤m≤105,1≤li1,ri1,li2,ri2≤n1≤n≤10^5,1≤m≤10^5,1≤l_{i1},r_{i1},l_{i2},r_{i2}≤n,并且保证ri1−li1=ri2−li2r_{i1}-l_{i1}=r_{i2}-l_{i2}。

【输出】

一个数,表示满足所有条件且长度为nn的大数的个数,答案可能很大,因此输出答案模109+710^9+7的结果即可。

【输入样例】

文本
4 2
1 2 3 4
3 3 3 3

【输出样例】

文本
90

【提示】

【数据规模】 对于20%的数据,n,m≤2000n,m≤2000。 对于100%的数据,1≤n,m≤1051≤n,m≤10^5。

数据下载

题目 1748 的公开数据

正在读取文件列表…

常用命令

题目 1748 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。