最大子数组的和 在给定的一个数组中,找出连续的一部分数组,使其中的元素和最大。例如输入1,-2,5,3,-3,7,-2,-1,输出的最大子数组和为12。 ①如果什么都不考虑,用最直接的办法来求解,即三重for循环来暴力求结果,该算法的时间复杂度为O(n^3)代码如下://本段代码引自编程之美
int MaxSum(int* A, int n)
{
int maximum = -INF;...
分类:
编程语言 时间:
2015-06-21 15:49:47
阅读次数:
124
题意:有不同等级的珍珠,价格不同,现在列出需要买的珍珠,求花的最少的钱(可以买高等级的来代替低等级的)
分析:dp[i]表示从最低等级到 i 等级花的最少的钱,dp[i]=min(dp[j]+v) v是从j+1到i全买i等级花的钱。需要三重循环。
代码:
#include
#include
#include
#define INF 1000000007
using namespace std...
分类:
其他好文 时间:
2015-06-14 22:53:08
阅读次数:
144
题意:汶川地震买大米
分析:裸多重背包,这题数据比较小所以可以三重循环不需要优化
代码:
#include
#include
using namespace std;
int dp[1000][1000],t,n,m;
int p[1000],h[1000],c[1000];
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
ci...
分类:
其他好文 时间:
2015-06-09 17:22:15
阅读次数:
146
233333...Description:就是说呢。牛是的实力室友大小之分的。然后呢。告诉你很多pair 表示任意两头牛之间的实力大小。按实力排序之后。问你一共有多少只牛的排名是确定了的。T_T == 坑了好多WA....应该是 =好吧。。貌似是拓扑排序的floyd算法。。数据太小。。三重循环水过、...
分类:
其他好文 时间:
2015-06-02 20:07:12
阅读次数:
99
这是一道标准的模板题,所以拿来作为这一段时间学习最短路的总结题目。题意很简单:有多组输入数据,每组的第一行为两个整数n, m。表示共有n个节点,m条边。接下来有m行,每行三个整数a, b, c。表示从a到b或从b到a长度为c。求从1到n的最短路。先说Floyd——这个算法看上去就是一个三重for循环...
分类:
其他好文 时间:
2015-06-02 01:42:16
阅读次数:
159
这道题的dp数组含义还是很不好想的,一开始我根据状态量来枚举,要枚举三重循环,必然超时。后来参考别人的做法dp[i][j]表示在i件物品中选j对所需的最小疲劳值,相信几乎所有题解都是这么写的,你们也看烦了,那我就说说是什么意思吧 :由于这些东西的重量可以打乱,那我们不妨排序,则肯定拿相邻的两件最好,但是到底拿拿两件呢?(一件物品可以有两个邻居) ,所以在拿当前这一对时就发生了决策,可以选择不拿这一...
分类:
其他好文 时间:
2015-05-18 16:40:05
阅读次数:
127
影响决策的因素有:时刻、这一时刻的位置和上一时刻的位置 。 由于n和k都不大,可以开三重循环来递推这三个量
状态方程dp[i][j]表示在时刻i打位置j的老鼠,此时消耗总能量的最小值,则可以写出状态转移方程:dp[i][j] = min(dp[i][j],dp[i+1][x]+abs(a[i][j]-a[i+1][x])); 时间按照从大到小倒着枚举。
#include
#include
#...
分类:
其他好文 时间:
2015-05-17 16:44:45
阅读次数:
110
题意:
给你n个城市m天。
每个城市有到达的花费 c[i][j] 代表城市i到城市j的花费 本身到本身也有花费 就相当于住宿费吧。
接着每天在每个城市都能赚钱 p[m][n] 代表每天每个城市赚的前。
问m天后最多能赚多少钱。
思路:
比较水的dp吧。
dp[i][j] 代表第i天在j城市 最多赚了多少钱。
起点在1,所以dp[0][1]=0
然后三重循环dp就好了·
注意赚...
分类:
其他好文 时间:
2015-04-29 09:55:33
阅读次数:
127
当时看到题目的时候自己就晕了,不懂什么意思,做出来的结果竟然是一个人比好几个人,当时还觉得一个人可以打几场呢!==!后来求助大神得到了答案,共勉一下吧~~public static void main(String[] args) { for(int a = 1 ;a<=3;a++){ ...
分类:
其他好文 时间:
2015-04-12 16:00:28
阅读次数:
169
1.题目描述:点击打开链接
2.解题思路:本题利用暴力搜索解决,由于n,S的范围都比较小,直接利用三重循环枚举。又最大可能乘积不会超过10^18,因此结果用long long保存。注意枚举的时候起点和终点可以重合。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2015-04-05 17:33:09
阅读次数:
136