

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目来源Ural 1574 Mathematicians and bracketshttp:/acm.timus.ru/problem.aspx?space=1&num=1574问题描述定义:Turn(s,k)输入:s核心算法 为算法刻画和证明的方便,引入一下定义:对于任意长为n括号串S,定义:当=(时,=1;当=)时,=-1。(i=1,2n)并且规定=。 对于任意括号串s定义:F(s,l,r)= 。并且规定对于输入的串s,Ak=F(s,1,k)。 依次计算A1A2An,同时算出他们的最小值m。若An0,则输出0;若An=0,则寻找有多少个k使得Ak=m,这个统计的个数就是答案,直接输出即可。
2、算法证明 引理:一个长为n串S是合法的当且仅当,对所有的k=1,2,3n-1都有F(S,1,k) 0,且F(S,1,n)=0。 引理的证明: 先证必要性:若一个长为n串S是合法的,则对所有的k=1,2,3n-1都有F(S,1,k) 0,且F(S,1,n)=0。 对字符串的长度n归纳: 当n=2的时候,一定有s=(),命题成立。 若当字符串长为2,3,4n-1时,命题都成立,则当长为n时: 若s是(t)形式的(其中t是合法) 则F(s,1,1)=10,F(s,1,i+1)=1+F(t,1,i)10(i=1,2n-2)F(s,1,n)=1+F(t,1,n-2)+(-1)=0 命题成立。 若s是ab
3、形式的(其中a,b是合法的),a长为k,b长为n-k。 则F(s,1,i)0,(i=1,2k) F(s,1,i+k)=F(s,1,k)+F(s,k+1,i+k)=F(a,1,k)+F(b,1,i)0,(i=1,2n-k) F(s,1,n)=F(a,1,k)+F(b,1,n-k)=0 命题成立。 必要性证毕。 再证充分性:若对所有的k=1,2,3n-1都有F(S,1,k) 0,且F(S,1,n)=0,则一个长为n串S是合法的。 对字符串的长度n归纳: 当n=2的时候,由于F(s,1,1)= =1或-1,F(s,1,1)0,所以F(s,1,1)=1,所以=(,故命题成立。 若当字符串长为2,3,4
4、n-1时,命题都成立,则当长为n时: 若存在一个k=1,2n-1使得F(s,1,k)=0则F(s,k+1,k+i)=F(s,1,k+i)-F(s,1,k)=F(s,1,k+i)0所以s的子串,s1s2sk和sk+1sk+2sn都是合法的,所以s是合法的。 命题成立。 若不存在一个k=1,2n-1使得F(s,1,k)=0 则F(s,1,i)0,即F(s,1,i)1(i=1,2n-1) 所以F(s,1,1)=F(s,1,n-1)=1F(s,2,i)=F(s,1,i)-F(s,1,1)=F(s,1,i)-10 (i=2,3n-1)F(s,2,n-1)=F(s,1,n-1)-F(s,1,1)=0 所以
5、s的子串,s2s3sn-1是合法的,所以s是合法的。 命题成立。 充分性证毕。 引理证毕! 回到原题: 由引理,“turn(s,k)是好的”等价于“对所有的j=1,2,3n都有F(s,k+1,k+j)0且An=0”而注意到:F(s,k+1,k+j)=F(s,1,k+j)-F(s,1,k)=Ak+j-Ak所以“F(s,k+1,k+j)0”等价于“Ak+jAk”另一方面,若An=0则对于任意的i=1,2n都有An+i=Ai。所以,当An=0时,“对所有的j=1,2,3n都有F(s,k+1,k+j)0”等价于“Ak是Ak+1 Ak+2 Ak+n的最小值”即“Ak是A1A2An的最小值”这就证明了算法
6、。算法实现 算法十分简单,没有实现上的问题。源代码var st:ansistring; i,n,s,min,ans:longint;begin readln(st); n:=length(st); s:=0; min:=0; ans:=0; for i:=1 to n do begin if sti=( then inc(s) else dec(s); if s=min then inc(ans); if smin then begin min:=s; ans:=1; end; end; if s=0 then writeln(ans) else writeln(0);end.原题描述1574
7、. Mathematicians and bracketsTime Limit: 1.0 secondMemory Limit: 64 MBOnce upon a time three mathematicians met The first of them wrote a sequence of brackets on a chalkboard. The second one wondered if there was a cyclic shift turning that sequence into a regular one. After thinking for a while, th
8、e third mathematician told the number of such shifts. You are given the sequence of brackets written by the first mathematician and you are to find the number told by the third mathematician. A regular sequence of brackets is defined as follows. An empty string is a regular sequence of brackets. If
9、a string a is a regular sequence of brackets, then the string (a) is also a regular sequence of brackets. If strings a and b are regular sequences of brackets, then the string ab is also a regular sequence of brackets. There are no other regular sequences of brackets. A string a is a cyclic shift of
10、 a string b if a and b have the same lengths and a consists of some (possibly empty) suffix from b followed by a prefix from b. InputThe only line of the input contains the sequence of brackets written by the first mathematician. The sequence is non-empty and its length doesnt exceed 105.OutputOutput the number of cyclic shift
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年份第二季度跨境航天食品无菌包装场地租赁卫生协议
- (新统编版)语文二年级下册第三单元分析+大单元教学设计+详细教案
- 25年2月份深空探测模拟舱密闭空间计时心理评估
- 2025年份首季度卫星发射塔架拆除技术安全协议
- 网络安全与文明
- 2025金融机构贷款合同协议书范本
- 二零二五版委托房屋出售合同书
- 二零二五民间借款协议合同范例
- 急冷塔设计停留时间
- 土地委托转让居间合同范例
- GB 20997-2024轻型商用车辆燃料消耗量限值及评价指标
- 福建省福清市2023-2024学年高一下学期期中考试数学试题(原卷版)
- 2023六年级英语下册 Fun Time(Recycle)教案 人教精通版(三起)
- 我是记忆小达人(课件)-心理健康六年级
- 应急预案编制计划再改样本
- 中医治疗失眠课件
- 2022年河南工业和信息化职业学院单招面试题库及答案解析
- 聚焦核心素养《义务教育数学新课程标准》2022年小学数学新课标解读课件
- 教师资格证《小池》说课夏东
- 期末复习:苏教版四年级下《劳动与技术》含答案
- 《脏之将军-肝》课件
评论
0/150
提交评论