问题描述
- 一个算法问题 最长子串
-
最长子串Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65535/65535K (Java/Other)
Total Submission(s) : 19 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
小E最近开始研究数列,于是小J就给他出了一道题目:给你一个长度为n的数列A(下标从1开始),然后在给你m个询问,有两种询问
第一种 输入1 x 找到数列的一个最长连续子串,使得这个连续子串的里面的每个数都大于等于x。
第二种 输入2 x y 把数列中x的位置的值修改为y。(对于第二种询问次数不会超过10)
对于每个询问1输出最长连续子串的长度。
子串的含义是数列中一段连续的数。
其中 1< n <= 100000 1 < m <= 10000 0 <= Ai <= 100000
Input
多组输入,每组数据第一行为n m,表示数列的长度和询问的次数
接下来m行,表示m次询问,只有2种格式,详细见描述
Output
如果询问的类型为查询,则输出一行,表示最长连续子串的长度
如果询问的类型为修改,则无需输出
Sample Input
5 5
1 2 3 2 1
1 2
1 3
2 3 1
1 2
1 3
Sample Output
3
1
1
0
Statistic | Submit | Back
帮忙做做这道题可以吗?附上代码就行 最好加上简单注释
地址:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1005&cid=29617
解决方案
http://my.oschina.net/leejun2005/blog/117167
解决方案二:
动态规划最长子串问题
LCS最长子串问题