第一:题意是一个数组里保存着某支股票的股价情况。第i个为第i天的价格。求最大收益。允许买卖一次 这道题就是求最大的差值。可以记录下最小的值,然后基于最小值,找出当前的最大差值。 public class Solution { public int maxProfit(int[] prices) {
分类:
其他好文 时间:
2016-03-11 22:09:14
阅读次数:
179
模拟黄金矿工这个游戏,给出每一个金子的位置和所需时间,计算在给定时间内最大收益。 刚看这道题以为金子的位置没什么用,直接DP就行,WA了一发终于明白如果金子和人共线的话只能按顺序抓。 这就是需要考虑先后关系问题。看了背包⑨讲之后以为是“有依赖关系的背包”,感觉解决方案很不明显,想不出来做法。 后来想
分类:
其他好文 时间:
2016-03-01 00:35:51
阅读次数:
240
树链剖分+线段树,每个节点维护以下信息: (1)单独在某个点分配$i$个人的最大收益。可以$O(m)$合并。 (2)分配$i$个人的最大收益。可以用$O(m^2)$合并。 时间复杂度$O(c(m^2\log n+m\log^2n))$。 #include<cstdio> #include<algor
分类:
其他好文 时间:
2016-02-13 06:43:41
阅读次数:
334
题意:某货旅行,在n个城市呆m天。给出从第i个城市到第j个城市的路费,或者留在某个城市的生活费。给出在第i天在第j个城市的收益。可以在城市之间任意穿梭逗留没有其他特殊要求。求收益最大是多少。思路:dp[i][j]代表这货在第i天在第j个城市的最大收益。然后状态转移方程是dp[i][j]=max(dp...
分类:
其他好文 时间:
2015-10-23 21:24:45
阅读次数:
207
题目大意N个节点构成一棵树,每个节点上有一个权重val[i], 从根节点root出发在树上行走,行走的时候只能沿着树枝行进。最多在树上走k步,每第一次到达某个节点j,可以获得val[j]的收益,求从root出发,最多走k步,可以得到的最大收益。题目分析树形结构+ 最优化问题,考虑使用动态规划来解决,...
分类:
其他好文 时间:
2015-10-06 16:51:34
阅读次数:
270
给定【2,4,7,8,7,10,5】这样一个序列,对于一件商品我们可以选择【买】【卖】【放弃】三种操作。但是必须按照【买】【卖】的顺序进行。问题描述:不限定买卖次数,如何获得最大收益,收益最大是多少;只进行一次买卖,最大收益是多少;只进行两次买卖,最大收益是多少;问题一对数组进行处理,令diff=n...
分类:
其他好文 时间:
2015-10-05 18:04:24
阅读次数:
171
题目链接:codeforces 366C题目大意:给出n个物品,有两个属性,问最后第一个属性的总和是第二个属性的k倍的时候,第一个属性最大是多少。题目分析:
我们将物品做一个变形,重量为a[i]-b[i]*k,收益是a,那么我们只需要对重量为正的做一遍背包,对质量为负的取绝对值做一遍背包,然后重量相等的背包的收益之和就是当前重量下的最大收益. AC代码:#include
#in...
分类:
其他好文 时间:
2015-10-04 11:10:04
阅读次数:
171
相当于是买股票问题,整个过程中只允许交易两次left[i]表示第i天左边并且包括第i天的最大收益right[i]表示第i天右边并且包括第i天的最大收益left[i]+right[i]的最大值即为整个股票问题的最大收益#include #include using namespace std;int ...
分类:
其他好文 时间:
2015-09-21 08:07:14
阅读次数:
286
本来是一道很水的树形DP题设dp[i][j]表示,带着j个人去攻打以节点i为根的子树的最大收益结果wa了一整晚原因:坑点1:即使这个节点里面没有守卫,你如果想获得这个节点的收益,你还是必须派一个人去这个节点,不然谁帮你去拿收益?坑点2:题目说是从节点1开始攻打,然后我就以为给出的数据都是以1为根节点...
分类:
其他好文 时间:
2015-09-21 01:36:25
阅读次数:
213
题目大意一家超市,要卖出N种物品(每种物品各一个),每种物品都有一个卖出截止日期Di(在该日期之前卖出可以获得收益,否则就无法卖出),且每种物品被卖出都有一个收益值Pi. 卖出每个物品需要耗时1天,且任一时刻只能卖出一个物品。给出这N种物品的Di和Pi,求最大收益值。题目分析求最优值问题,可以考虑动...
分类:
其他好文 时间:
2015-09-15 00:14:12
阅读次数:
208