分析:两个不同方向开始跳跃,跳过数字相同,就相当于求回文子序列了。用dp求出从一个位置到另一个位置的最长回文子序列,相当于把[1-n]分成区间[1-x]和[x+1,n],结果就是两区间最长回文串子序列之和。枚举中间点i,求出max(dp[1,i]+dp[i+1,n])即得最终结果,回文非连续序列,从前往后,从后往前序列相同,求出区间内最长回文序列,由于是环,分成两部分,1~i,i+1~n,A可从i...
分类:
其他好文 时间:
2015-05-13 22:02:01
阅读次数:
152
题目:LINK题意:求满足题目要求的x序列的种类数。能够发现符合条件的序列去重后是一个0, 1, ..., k的连续序列(k满足k*(k+1)/2 #include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-05-09 18:55:11
阅读次数:
112
//博主mingliang37的思想,我后来想明白了,整理了一下.
#include
using namespace std;
//输出所有和为S的连续整正数序列.
//x.......y(这是一个连续序列)
//x+.....+y=S;
//还记得小时候老师要我们做的一道题吗?求1+2+3+...+100=?
//(1+100).100/2=5050.
//所以我们假设这个连续正整数序列是从...
分类:
编程语言 时间:
2015-05-05 14:25:39
阅读次数:
190
题目:输入一个正数 n,输出所有和为 n 连续正数序列。
例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6 和 7-8。
思路:我们再找连续的序列,那么我们从最小的一直往前加,如果和结果相等,那么这是一个符合条件的序列,然后再连续的往后加,如果和比结果小,那么一直往后加,如果比结果大,那么需要取出前面小的值,因为后面大的值是刚添加上的...
分类:
其他好文 时间:
2015-04-29 09:51:39
阅读次数:
99
题目大意: 就是说给你n个数字,然后求出连续序列的最大和。如果ans为负数就输出0,要么就输出这个ans。解题思路: 其实我们只需要枚举起点和终点,然后考虑所有的情况就可以了,有点类似于求解最大连续和的问题。唯一的不同就是每次都要初始化t = 1, t*=a[j]。注意long long。因为最.....
分类:
其他好文 时间:
2015-04-04 06:35:46
阅读次数:
185
17.最长连续序列
给定一个无序数组,求最长连续序列的长度。要求负责度为O(n)
例:数组num:[100, 4, 200,1, 3, 2]的最长连续序列为[1,2,3,4],长度为4
解法一:建立一个bool数组,用于表示该数字是否存在,之后求数组中连续为true的最长值即可。在[100, 4, 200, 1, 3, 2]中,其最小值为1,最大值为200,因此建立长度为iMax-iMin+...
分类:
编程语言 时间:
2015-03-11 10:51:55
阅读次数:
137
题目链接题目大意n个数的序列,m次询问。
求一段区间连续数字的段数 。
(1 3 5 4 2) 询问[2,4]区间则3,5,4为连续序列输出 1 。解题思路我觉得这是一道不错的题目。
定义线段是求的连续序列。
首先将所有的询问离线,按照Li递增排序。
我们可以用一个结构维护Li为起点加入所有点后的各区间线段数,对于每个以Li为起点的询问进行处理。
当然这样不够,我们还要消除Li之前加入的...
分类:
编程语言 时间:
2015-02-16 21:02:09
阅读次数:
255
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example,Given [100, 4, 200, 1, 3, 2],The longes...
分类:
其他好文 时间:
2015-02-06 01:55:18
阅读次数:
153
题意 从1开始 1变为01 0变为10 计数变换多少次后连续0序列的个数。题解 找规律(菲波数)+大数相加a[i]=a[i-1]+a[i-2]*2; 1 #include 2 #include 3 #include 4 #define N 1001 5 using namespace std; 6....
分类:
其他好文 时间:
2015-02-02 12:21:50
阅读次数:
275
package arithmetic;/** * @author SHI * 求一个数组中相加值最大的连续序列元素 */public class MaxSequence { public static void main(String[] args) { int[] a=...
分类:
编程语言 时间:
2015-01-27 23:26:04
阅读次数:
213