一个算法问题 最长子串

问题描述

一个算法问题 最长子串

最长子串

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最长子串问题

时间: 2024-09-21 20:39:18

一个算法问题 最长子串的相关文章

matlab-A序列关于 B序列的多个最长子串

问题描述 A序列关于 B序列的多个最长子串 如果有序列为A=[01111000110];B=[10010100110]; 定义A/B=[011,110,00110]: 寻找A中的最长前缀且该前缀也存在于B中. 这个用matlab怎么写啊?或者可以提供思路吗? 解决方案 C/C++可以用动态规划,思路是,首先将A和B连接在一起,然后产生一个后缀数组然后对后缀数组排序然后比较相邻的两个,有多少相同的.最后得到相同长度最大的. 解决方案二: 举个例子,比如比较0010110110100100我们首先连

贪婪-已知一个大矩形的长宽,需要分解若干已知但不同长宽的小矩形。如何损耗最低?

问题描述 已知一个大矩形的长宽,需要分解若干已知但不同长宽的小矩形.如何损耗最低? 例如一种木板2M长,1.5M宽,需要?33cm长40cm高的木板20,需要44cm长,49cm宽的木板18.如此该如何切割找出最省材料的算法?损耗最低?编程语言不限,只求好一点的算法,是不是除了穷举然后对比就没有更好的了?

【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现

一.需求描述 输入一个字符串,编写程序找出这个字符串中的最长连续字符,并求出其连续出现的次数. 例如,"123444445"中的最长连续字符是4,其连续出现的次数为5:"abcddef"中的最长连续字符是d,其连续出现的次数为2:"ab"中的最长连续字符是a,其连续出现的次数为1.   二.算法设计 我们可以采取逐个比较字符串中各个字符的办法来获取最长连续字符及其连续出现的次数.程序的总体流程如图1所示. 图1 程序的总体流程   三.特殊流程考

一个算法题,求答案啊啊啊啊

问题描述 一个算法题,求答案啊啊啊啊 白班 09:00-18:00 通班 09:00-21:00 每个人每个月通班数量必须等于早中班和中晚班数量之和 早中班 09:00-15:00 中晚班 15:00-21:00 假设:每月按照30计算. 排班规则: 1.每个人每个月固定休息6天连续上班天数不超过7天. 2.每天各班次上班的人数最低需求:8个白班5个通班1个早中班,2个中晚班. 3.每个月每个人的通班天数安排不超过8天. 4.每个人每个月早中班和中晚班的天数之和需要与通班天数相等. 5.每月最多

csdn-acm的一道矩阵扩散题(c语言,好像是一个算法)

问题描述 acm的一道矩阵扩散题(c语言,好像是一个算法) 我只记得大概的思想.一个n×n的矩阵(应该有限定n),把abcd随机填放在矩阵中,然后照着某一个方向扩散(比如上下左右,a在一行一列,照着下扩散二行一列也是a),最后计算题目中abcd的个数.万能的csdn,有谁做过这道题吗,想找到题目,一直找不到,只记得思想大概是这样 解决方案 有哪位大神知道的吗!!! 解决方案二: 有哪位大神知道的吗!!! 解决方案三: 有哪位大神知道的吗!!! 解决方案四: 有哪位大神知道的吗!!!

编程题-求大神破解一个算法,手机号转为6位数的16进制的数好像是!!

问题描述 求大神破解一个算法,手机号转为6位数的16进制的数好像是!! 输入 -------------------------**输出** 18019617815-------------C90381 18012509150-------------32ECB9 18120150106@njxy-----CC6AAF 18120150151@njxy-----F2F3F6 求大神能看出来这是什么算法,怎么计算的

c语言-[C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果

问题描述 [C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果 如题,比如输入1,,2,10,5,7,8,9,11,输出其中任意几个数相加等于12的结果(不重复), 不自身相加. 1+2+9=12 10+2=12 7+5=12 解决方案 这题如果不考虑优化问题--轮询吧--总共有2的n次方种组合-学过排列组合的都知道

求解答-试编写一个算法,找出一个循环链表中的最小值。我是新手,编了一个程序,不知错在哪

问题描述 试编写一个算法,找出一个循环链表中的最小值.我是新手,编了一个程序,不知错在哪 #includeusing namespace std; class LinkNode{ int data; LinkNode *link; LinkNode(int d=0LinkNode *l=0){data=d;link=l;}}; class List{private: LinkNode *first; int n;public: List() { first=new LinkNode; first

长按复制粘贴-Android中长按textView弹出一个复制,editText长按弹出粘贴等等

问题描述 Android中长按textView弹出一个复制,editText长按弹出粘贴等等 Android中长按textView弹出一个复制,editText长按弹出粘贴等等这个是怎样做的,求大神解答! 解决方案 android:textIsSelectable=""true""在部分手机上不管用,你试试下面这个textview.setOnLongClickListener(new View.OnLongClickListener() { @Override pu