51.和为n 连续正数序列。
题目:输入一个正数n,输出所有和为n 连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
代码如下:
public static void findSeqSum(int sum)
{
int begin=1,end=2,mid=sum/2,curSum=begin+end;
...
分类:
其他好文 时间:
2014-08-24 00:24:32
阅读次数:
196
题意 输入一个城市的滑雪地图 你可以从高的地方滑到伤下左右低的地方 求这个城市的最长滑雪线路长度 即在一个矩阵中找出最长递减连续序列
令d[i][j]为以格子map(i,j)为起点的最长序列 则有状态转移方程d[i][j]=max{d[a][b]}+1 a,b为与i,j相邻且值比i,j小的所有点
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-08-23 11:25:20
阅读次数:
245
可以发现 当第i-1个比第i个高的时候 比第i-1个高的所有也一定比第i个高
于是可以用到动态规划的思想
令left[i]表示包括i在内比i高的连续序列中最左边一个的编号 right[i]为最右边一个的编号
那么有 当h[left[i]-1]>=h[i]]时 left[i]=left[left[i]-1] 从前往后可以递推出left[i]
同理 当h[right[i]+1]>=h[i]]时 right[i]=right[right[i]+1] 从后往前可递推...
分类:
其他好文 时间:
2014-08-05 09:39:49
阅读次数:
276
还算是简单的DP问题,状态方程也不难。刚开始一看还以为是最长连续序列的最大值,想了老半天想不出状态方程。 1 #include 2 #include 3 #define doumax(a,b) (a>b?a:b) 4 const int maxn=1000+5; 5 int a[maxn],d[ma...
分类:
其他好文 时间:
2014-07-19 09:22:04
阅读次数:
147
freemarker定义一个连续的序列
1、简易说明
定义一个连续的序列,并打印出序列中的元素
2、实现源码
${num}
3、实现结果
1
2
3
4
5
6
7
8...
分类:
其他好文 时间:
2014-06-20 12:44:16
阅读次数:
197
题目:输入一个整数s,打印出全部和为s的连续整数序列(至少含有2个数)。比如输入9,则输出2、3、4和4、5两个序列方案一:因为序列至少要2个数,则两个数上限值为(1+s)/2,我们能够枚举该序列的起点和终点求全部满足的序列。时间复杂度为O(n^2),效率比較低方案二:我们设置两个指针start和e...
分类:
其他好文 时间:
2014-05-31 04:07:27
阅读次数:
282
题目:输入一个整数s,打印出所有和为s的连续整数序列(至少含有2个数)。例如输入9,则输出2、3、4和4、5两个序列
方案一:由于序列至少要2个数,则两个数上限值为(1+s)/2,我们可以枚举该序列的起点和终点求所有满足的序列。时间复杂度为O(n^2),效率比较低
方案二:我们设置两个指针start和end分别表示当前序列的起点和终点,并记序列和为sum。当sum = s的时候输出这个...
分类:
其他好文 时间:
2014-05-25 18:18:18
阅读次数:
191
目录最大连续序列和不连续序列的最大和1.最大连续序列和是指所有连续子序列元素和最大的那个。#include#includeusing
namespace std;int main(){ freopen("in.txt","r",stdin); int n;
while(cin>>n) { int a...
分类:
其他好文 时间:
2014-05-22 11:49:54
阅读次数:
273