【动态规划】饥饿的牛- 10034Time Limit: 1000MSMemory Limit: 32768KB牛在饲料槽前排好了队。饲料槽依次用1到N(1 2 # include 3 # include 4 # include 5 # include 6 using namespace std; ...
分类:
其他好文 时间:
2014-10-25 22:45:42
阅读次数:
259
题目链接:http://poj.org/problem?id=2063题意:银行每年提供d种债券,每种债券需要付出p[i]块钱,然后一年的收入是v[i],到期后我们把本金+收入取出来作为下一年度本金继续购买债券。问你起始本金为n元,m年后你手里最多能有多少钱。其实这题不难。。我却想了一会。。因为题目...
分类:
其他好文 时间:
2014-10-25 22:40:31
阅读次数:
201
2014-10-2515:13:56暑假打(luan)完(gao)了基础,是时候做一下下一步的规划了。 codeforces #190-#199 图论--基础(割顶、割边、连通性等) 图论--二分图及二分图匹配 图论--差分约束 树结构--BST 树结构--LCA 树结构--树分治 ...
分类:
其他好文 时间:
2014-10-25 15:47:45
阅读次数:
240
算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。
分类:
编程语言 时间:
2014-10-25 14:28:03
阅读次数:
243
题目大意:将一个非负整数序列切成连续的若干段,使得每一段的和均不超过一定值,在此基础上最小化每一段的最大值的和。
思路:O(N2)的动态规划方程非常明显:
fi=min0≤ji{fj+maxj+1≤k≤i{wk}}
这样利用RMQ的预处理即可做到O(N^2).
不过这样显然是不能AC的。
我们考虑能够进行什么优化。
我们发现以下性质:
(1)fi≤fj(1≤ij≤...
分类:
其他好文 时间:
2014-10-25 09:23:08
阅读次数:
119
问题:给定整数序列S[0],S[1],...S[N-1],子序列和是指S[i]+S[i+1]+...+S[j-2]+S[j-1],其中i,j,0<=i<=j<=N-1,求所有这样的子序列和的最大值,即最大子序列和。方法一:枚举法O(N^2)求出所有的子序列和,取其最大值。算法复杂度为O(N^2)。intmaxSubSeq1(inta[],int..
分类:
其他好文 时间:
2014-10-25 02:06:15
阅读次数:
171
题目链接:http://poj.org/problem?id=1787题意:有4种货币分别是1元,5元,10元,20元。现在告诉你这四种货币分别有多少个,问你正好凑出P元钱最多可以用多少货币。每种货币要用多少钱。据说此题有完全背包的写法。。我是按照多重背包写的,速度也不是很慢。然后记录了下前驱。刚开...
分类:
其他好文 时间:
2014-10-25 00:53:32
阅读次数:
381
题目大意:给定长度为n的数组,求出最大的区间和,其中区间长度在[1,k]之间分析:学动态规划的时候我们会遇到一个经典问题最大子段和,这个题跟最大子段和很类似 不同的是区间的长度有限制,无法用原算法解决转换思路区间[i,j]的和就是ans=sum(j)-sum(i-1) ( j - i #includ...
分类:
其他好文 时间:
2014-10-24 20:28:07
阅读次数:
233
这道题跟Pascal's Triangle很类似,只是这里只需要求出某一行的结果。...
分类:
其他好文 时间:
2014-10-24 19:01:21
阅读次数:
233
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2126题意:给你n个物品,m元钱,问你最多能买个多少物品,并且有多少种解决方案。一开始想到的是,先解决给m元钱因为我花的钱少就一定能购买够多的物品,因此是个贪心算法。记买最多的物品数为c。然后就是设计状态...
分类:
其他好文 时间:
2014-10-24 01:34:06
阅读次数:
210