码迷,mamicode.com
首页 >  
搜索关键字:最大和    ( 945个结果
FZU 2168 防守阵地 I(公式推导)(经典)(中等)
1*a+2*b+3*c+4*d+5*e=5*sum[5]-(sum[1]+sum[2]+sum[3]+sum[4])。 现在题目求连续三个数*1*2*3的最大和。接着看: 当i=3: 3*sum[3]=3*(a+b+c) 1*a+2*b+3*c=3*sum[3]-(2*a+b)=3*sum[3]-(a+b+a)=3*sum[3]-(sum[2]+sum[1])=3*sum[3]-(s[2]); i=4: 3*sum[4]=3(a+b+c+d) b+2*c+3*d=3*sum[4]-(3*a+2*b+...
分类:其他好文   时间:2015-07-27 15:01:17    阅读次数:111
算法和数据结构
1.设计包含min函数的栈[数据结构]题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。2.子数组的最大和[算法]题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个...
分类:编程语言   时间:2015-07-26 22:22:45    阅读次数:212
Poj 2479 Maximum sum【双向DP/最大连续和】
题意:给定一个长度为N的数组,求两个连续的子序列,使得两个连续子序列的和最大。 分析:乍一看,跟最大连续和有点类似,但是,又有区别,因为对于这个题,考虑第i项两个连续子序列的最大和,不能仅仅由前i-1项递推得出,第i项两个连续子序列的最大和,与前i项和i以后的之间是存在关系的,因此这个题目是一个双向dp。 假如给定的序列为a0, a1, a2, a3, a4, ...... ,an,那么,对于...
分类:其他好文   时间:2015-07-26 11:15:59    阅读次数:144
HDU 2167 状压DP
方格取数问题,给出n*n矩阵,3 求能取得的最大和,要求取某个位置的数以后,其周围的8个数字均不能再取 先预处理出来所有的可取状态,n=15时只有1597个状态,然后地推求解即可 #include "stdio.h" #include "string.h" int n,ans; int b[21],a[21][21],s[1700]; int dp[21][70001],sum[21...
分类:其他好文   时间:2015-07-25 18:32:51    阅读次数:124
动态规划求解数组连续最大和
1、动态规划的思想       动态规划即把全局问题的解分解为一个个子问题的解,一个个子问题的解存在递推关系,即上一个问题的解是下一个问题解的基础,这样直到求解出全局问题的解。 2、求一个数组中连续几个数相加的最大值; 给定一个数组,它里面全是一些数字,要找出任何连续的值中最大的和. 例: 已有数组:{31,-41,59,26,-53,58,97,-93,-23,84} 它的连续的...
分类:编程语言   时间:2015-07-22 22:44:09    阅读次数:132
BestCoder Round #43
T1:pog loves szh I(hdu 5264)题目大意:给出把AB两个字符串交叉拼起来的结果,求出原串。题解:不解释。。直接每次+2输出。T2:pog loves szh II(hdu 5265)题目大意:给出N个数,求Mod P域下两个数最大和。 N<=100000题解:先把所有数Mod...
分类:其他好文   时间:2015-07-20 09:10:14    阅读次数:106
HDU 1087
题意:求上升序列的最大和。 思路:简单DP。两重循环:dp[i]表示以v[i]结尾的最大和,状态转移方程dp[i]=max(dp[j]+v[i],dp[i]) (在v[j] AC代码: #include #include #include #include using namespace std; int main() { int n,dp[1005],v[1005]; whil...
分类:其他好文   时间:2015-07-19 11:53:09    阅读次数:113
Divide Two Integers
https://leetcode.com/problems/divide-two-integers/需要注意的,int类型的数据,正数最大和负数最小可以表示到:2147483647-2147483648正数最大的二进制码为:011111111......1111,负数最小的二进制码为:1000000...
分类:其他好文   时间:2015-07-18 18:31:53    阅读次数:141
!HDU 1024 Max Sum Plus Plus-dp-(分组dp?最大分段子序列和)
题意:n个数,分成m段,求这m段的最大和,段之间不能交叉。 分析: 这题跟最大子序列和的区别在于要求分成m段,所以做法就千差万别了。实际的做法倒有点像分组dp(将n个数分成m组),但是本题与上次写的两道分组dp(搬寝室和特殊的筷子)的不同是:上两题每组选两or三个元素,本题不确定每一段要选多少个元素;上两题先排序再做,这题只能根据序列原定顺序走。 本题难点: 1.状态:dp[i][j]在确...
分类:其他好文   时间:2015-07-18 14:13:24    阅读次数:219
HDU 2084 数塔-dp-(数塔)
题意:数字排成三角形,求从顶点加到底,最大的和是多少。每个点只能加跟它直接相连的其中一个 分析: 数塔是经典的dp模型,从底往上推,每次找最大的往上一层加,最后归总到顶点,结果就是顶点的值。 dp[i][j]:加到dp[i][j]第i行第j个数时的最大和;dp[i][j]=dp[i][j]+max(dp[i+1][j],dp[i+1][j+1]) 代码: #include #define...
分类:其他好文   时间:2015-07-17 16:23:51    阅读次数:110
945条   上一页 1 ... 65 66 67 68 69 ... 95 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!