codevs1356 bzoj2746 jsoi2012
来源:互联网 发布:软件 设计说明书 编辑:程序博客网 时间:2024/06/12 00:26
yz 是 Z国的领导人,他规定每个地区的名字只能为 26 个小写拉丁字母的一个。由于地
区数有可能超过 26 个,便产生了一个问题,如何辨别名字相同的地区?于是 yz 规定,一个
地区的描述必须包含它的所有上级,且上级按次序排列。于是,一个地区的描述是一个字符
串。比如说,一个地区的名字为 c,它的上级为 b,b 的上级为 a,a 没有上级,那么这个地
区就描述为 abc。显然,这个描述同时包含了 c 的上级 b 和 b 的上级 a 的描述,分别为 ab
和a。
值得注意的是,每个地区最多有一个上级,同一上级的地区之间名字不同,没有上级的
地区之间名字不同。
现在,yz 对外公布了 n 个地区的描述,这些描述中包含了 Z 国所有地区的描述,并让
你处理来访者的旅行问题。
现有 m 对人访问这个国家,对于每对人,第一个人喜欢第 i 个描述中的第 j 个地区,设
这个地区描述为 s1,第二个人喜欢第 k 个描述中的第 l 个地区,设这个地区描述为 s2。他
们为了统一行程,决定访问描述为 s 的地区(显然他们只关心地区的名字,并非是地区本身),
设 s 的长度为 t,s 需要满足以下条件:
1:t<=j, t<=l;
2:s[1..t] = s1[j-t+1 … j], s[1..t] = s2[l-t+1 … l];(即s为s1中1到k位与 s2中 1 到 l 位的公共后缀)
3:t 最大化。
为了不使输出过大,你只需把这个字符串按照如下生成的 26 进制数转成 10 进制后 mod 1000000007后输出:
a->0
b->1
.
.
.
z->25
比如地区 cab 被编码成 2 * 26^2+ 0 * 26^1+ 1 * 26^0= 1353。
第一行给定一个整数n
第 2…n+1 行:每 i+1 行给定一个字符串 a[i],表示第 i个描述。
接下来一行一个整数 m
接下来 m 行:每行给定四个整数 i,j,k,l,字母含义与题目描述一致。
共 m行,每行一个整数,表示答案字符串的编码。
2
aabb
babb
2
1 3 2 3
1 4 2 4
1
1
询问 1中的公共后缀有 ab 和 b,但是没有 ab 这个地区,只有 b 地区,所以只能选择 b 这个
地区;
询问 2 中的公共后缀有 abb、bb 和 b,但是没有 abb 和 bb 这两个地区,只有 b 地区,所以
只能选择 b 这个地区。
设这个国家地区总数数为 tot(注意:输入的字符串总长度可能超过 tot!)
对于 30%的数据,满足 tot,m,n<=100;
对于 50%的数据,满足 tot,m,n<=1000;
对于 80%的数据,满足 tot,m,n<=100000;
对于 100%的数据,满足 tot,m,n<=1000000;
保证输入文件不超过 20MB。
- codevs1356 bzoj2746 jsoi2012
- bzoj2746 旅行问题
- HEOI 2012 旅行问题 BZOJ2746
- [bzoj4332][JSOI2012]分零食
- 【JSOI2012】【BZOJ4327】玄武密码
- BZOJ4332: JSOI2012 分零食
- [BZOJ4327] JSOI2012玄武密码
- BZOJ 4327: JSOI2012 玄武密码
- FFT 【JSOI2012】bzoj4332 分零食
- FFT 【JSOI2012】bzoj4332 分零食
- bzoj4330 JSOI2012 爱之项链
- bzoj4331 JSOI2012 越狱老虎桥
- BZOJ4331: JSOI2012 越狱老虎桥
- BZOJ4330: JSOI2012 爱之项链
- jsoi2012省队集训:集合计数
- 【bzoj4327】【JSOI2012】【玄武密码】【AC自动机】
- [BZOJ4327][JSOI2012] 玄武密码 后缀自动机
- [BZOJ4327]JSOI2012 玄武密码(AC自动机)
- 可以addHeaderView和addFooterView的GridView
- codevs 1227 方格取数 网络流
- 【cocos2dx】改安装包名、app名、图标、包名
- codevs 1033蚯蚓的游戏 (最大费用流
- 图形的绘制(包括线段 圆形 矩形等) swift编写
- codevs1356 bzoj2746 jsoi2012
- bzoj3689 luogu p1337
- java设计模式-迭代器模式(Iterator)
- poj 3187 Backward Digit Sums 【全排列变形题】
- JS中的闭包
- mongodb sharding原理分析
- 计算器
- HTML5 中的事件监听
- gdb调试linux可执行程序