最大和时间限制:1000ms | 内存限制:65535KB难度:5描述给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。例子:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其最大子矩阵为:9 2...
分类:
其他好文 时间:
2014-07-16 19:13:04
阅读次数:
243
题目大意是一个奶牛可以在一些时间区间产奶,每个区间的产奶量已知,每次产完奶都要休息一下,问最大产奶量。dp方程类似最长上升子序列的n2算法,dp[i]表示以第i个区间结尾最多能产生多少奶。则dp[i] = max(dp[j] + e[i].z)。#include #include #include ...
分类:
其他好文 时间:
2014-07-16 19:09:37
阅读次数:
216
71 7 3 5 9 4 8求最长上升子序列的个数#includeusing namespace std;int dp[10001];int a[10001];int main(){ int max; int i,j; int n; while(scanf("%d",&n)!=EOF) { max....
分类:
其他好文 时间:
2014-07-16 18:48:42
阅读次数:
244
括号匹配(二)时间限制:1000ms | 内存限制:65535KB难度:6描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测...
分类:
其他好文 时间:
2014-07-16 18:29:10
阅读次数:
158
回文字符串时间限制:3000ms | 内存限制:65535KB难度:4描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这...
分类:
其他好文 时间:
2014-07-16 18:12:24
阅读次数:
177
被dp搞得不行不行的,找状态方程太难了。
本题只是个基础题还好;
状态方程为: if(s[i-1]==k[j-1])
dp[i][j]=dp[i-1][j-1]+1;
else
dp[i][j]=dp[i-1][j]>=dp[i][j-1]?dp[i-1][j]:dp[i][j-1];
#include
#include
int main()
{
int a,b,i,j;
char...
分类:
其他好文 时间:
2014-07-15 22:32:28
阅读次数:
274
最近学习了一下erlang, 编了个小程序
算法如下:
把参数分为三个
当前位置的前子序列(Save)(比如 -5, 1,2,-1, _, ... ) 前位置为_时, 前子序列就是 1,2,-1
以及此子序列的和(CurSum) ( 1,2,-1的 CurSum 是 2)
剩余的数 Rest; 剩余的数也可以表示为 [H|T] ,H是第一元素,T为剩余的元素是列表
...
分类:
其他好文 时间:
2014-07-15 12:38:22
阅读次数:
216
题目:C.DZYLovesSequences(LIS升级)题意:在n个数中,最多改变一个数字,并求能够达到的最长严格上升子序列(连续)长度分析:考虑第i个数,能否改变后拼接前后两个字串,并维护当前最大值状态:left[i]:表示以i为终点的最长严格上升子序列长度right[i]:表示以i为起点的最长..
分类:
其他好文 时间:
2014-07-15 11:30:54
阅读次数:
272
(1)最长递增子序列问题有两种方法:(1)动态规划方法(2)类似二分查找的方法O(nlogn)动态规划方法: 以i结尾的序列的最长递增子序列和其[0, i - 1]“前缀”的最长递增子序列有关,设LIS[i]保存以i结尾的最长递增子序列的长度:若i = 0,则LIS[i] = 1; 若i > 0,....
分类:
其他好文 时间:
2014-07-14 22:05:35
阅读次数:
474
题目很好很有意思。告诉你n个序列中,任意一个连续子序列的和与0相比较的结果。构造一个满足条件的序列。对于从x->y这一段的和,如果大于0,那么sum[x]>sum[y-1],显然我们可以得到每一个sum的大小关系。由于这个满足条件的sum关系已经考虑了所有的源系列的大小关系,所以只要我们生成了一个满...
分类:
其他好文 时间:
2014-07-14 18:00:24
阅读次数:
193