动态规划
Casionx
爱家人 爱自己 爱生活 爱coding
展开
-
【动态规划】之求连续子数组的最大和
题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 例如 : int data[6]={1,-2,3,5,-1,2} 连续子数组的最大和为{3,5,-1,2}=9【首先说下最简单的解法,暴力求解】对于每一个数xixix_i,依次按顺序加上其后所有数S={xixix_i, xi+xi+1xi+xi+1x_...原创 2017-03-08 10:04:35 · 1422 阅读 · 0 评论 -
计算直线的交点方案数
问题描述: 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。 输入:n(n<=20) 输出:每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数。 样例输入 4 样例输出 0 3 4 5 6 【分析】 我们知道:n条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2,但本题不这么简单,因为问题问的是:这些直原创 2017-03-20 14:41:44 · 2510 阅读 · 0 评论 -
0-1背包问题
【01背包】 有N件物品和一个载重为W的背包。第i件物品的重量是w[i]w[i],价值是v[i]v[i]。 求解背包最多能装下的价值是多少? 【解法一 动态规划】 思路分析: 对于每件物品,只有两种情况:装?不装?。 假设dp[i][j]表示在背包剩余载重j的情况下,前i个物品能达到的最大价值。 对于第i个物品, 如果w[i]>j,放不进去,不能放,故dp[i][j]=dp[i-1]原创 2017-03-11 13:37:20 · 499 阅读 · 2 评论