题目传送门 1 /* 2 最大子矩阵和:把二维降到一维,即把列压缩;然后看是否满足最大连续子序列; 3 好像之前做过,没印象了,看来做过的题目要经常看看:) 4 */ 5 #include 6 #include 7 #include 8 #include 9 using na...
分类:
其他好文 时间:
2015-05-06 20:57:56
阅读次数:
128
#include
#include
#include
using namespace std;
const int INF=1<<30;
int a[105][105];
int b[105];
int dp[105];
int maxx,ans;
int main()
{
int n;
while(scanf("%d",&n)==1)
{
for(in...
分类:
其他好文 时间:
2015-05-06 19:44:36
阅读次数:
126
一开始,看到这题,以为是最大连续子序列和的问题,写出了代码,提交了,WR,找了一些测试数据,结果发现这个算法并不能将所以的序列的解求出,只是满足一部分序列。
百度了一下,知道了要用单调队列来求解。
单调队列,也就是队列中必然是单调递减的或者递增的。而这题使用的是单调递增的队列。
单调队列使用的是双向队列,队尾队头都可以删除元素,只能从队尾插入元素。
比如求解一个数列{1 ,2 ,5 ,...
分类:
其他好文 时间:
2015-05-05 14:35:54
阅读次数:
173
这题,简单的动态规划,也就是求最大连续子序列的和,是和最大。
知道了这个,就可以很容易的写出代码来了。
状态转移方程:dp[i] = max{ dp[j] } + a[i] ( j >= 0 && j
有了状态转移方程,一切都是很简单了。
下面的是一次AC的代码:
#include
using namespace std;
int main()
{
int dp[1005], a...
分类:
其他好文 时间:
2015-05-03 12:00:59
阅读次数:
116
/*最大连续子序列*/class Solution {public: int maxSubArray(int A[], int n) { if(!n) return 0; int result = A[0],temp =0 ; for(int i = ...
分类:
其他好文 时间:
2015-04-11 16:05:23
阅读次数:
116
给定一个整数序列(可能有正数,0和负数),求它的一个连续最大子序列乘积,如果乘积为负数,输出-1样例输入:324-3525-12-1样例输出:820连续子序列有俩个要素,起点和终点,因此只需要枚举起点和终点即可,由于每个元素的绝对值不超过10,一共不超过18个元素,最大可能的成绩不会超过10^18,...
分类:
其他好文 时间:
2015-04-10 21:46:39
阅读次数:
132
最大连续子序列
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 21205 Accepted Submission(s): 9417
Problem Description
给定K个整数的序列{ N1, ...
分类:
其他好文 时间:
2015-04-07 10:04:06
阅读次数:
126
最大连续子序列
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 21166 Accepted Submission(s): 9387
Problem Description
给定K个整数的序列{ N1, N2...
分类:
其他好文 时间:
2015-04-03 11:26:13
阅读次数:
149
最大连续子序列
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 21101 Accepted Submission(s): 9361
Problem Description
给定K个整数的序列{ N1, N2...
分类:
编程语言 时间:
2015-03-31 22:34:37
阅读次数:
206