链接
题解链接:http://www.cygmasot.com/index.php/2015/08/16/hdu_5380
题意:
n C
一条数轴上有n+1个加油站,起点在0,终点在n。车的油箱容量为C
下面n个数字表示每个加油站距离起点的距离。
下面n+1行表示每个加油站买进和卖出一单位油的价格。油可以买也可以卖。
问开到终点的最小花费。
思路:
把油箱保持装满,然后维护一个...
分类:
其他好文 时间:
2015-08-16 16:41:51
阅读次数:
150
本文纯属原创,转载请注明出处。http://blog.csdn.net/zip_fan,谢谢。
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5380。
Travel with candy
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (...
分类:
其他好文 时间:
2015-08-16 16:41:33
阅读次数:
269
1.题目描述:点击打开链接
2.解题思路:本题利用单调队列解决。单调队列和单调栈性质一样,内部元素严格单调递增排列。单调队列的一个典型应用就是本题的求滑动窗口的最值问题。那么怎么求解呢?首先,由于长度为k,因此我们可以先把0到k-1的下标全部试图入队列。在加入元素i时,若队列的末尾的值j满足Aj≥Ai,则不断地取出,直到队列为空或者Aj
还可以简单的理解:从头滑到尾可以求出最小值,从尾滑到头可...
题目链接斜率DP的入门题。题意很清楚,就是输出序列a[n],把连续的单词放在同一行输出的费用是连续输出的单词费用和的平方加上常数M一行的费用为cost=(∑C[i])2+Mcost = (\sum{C[i]})^2 + M让我们求这个费用的最小值。设 SiS_i 为 CiC_i 的前缀和。设dp[i]表示输出前i个单词的最小费用,那么有如下的DP方程:dp[i]=min(dp[j]+(Si?Sj)2...
分类:
其他好文 时间:
2015-08-15 20:02:35
阅读次数:
148
求一个最大k连续的子序列和 单调队列#include#include#includeusing namespace std;int num[201000],id[201000],sum[201000];int main(){ int n,m,i,j,T; scanf("%d",&T);...
分类:
其他好文 时间:
2015-08-13 19:49:09
阅读次数:
189
POJ 3017 Cut the Sequence
/**
POJ 3017 Cut the Sequence
http://poj.org/problem?id=3017
解题思路:单调队列
解题分析:
dp[i]=dp[j]+max(j+1,i) //限制条件sum(j+1,i)<m
这样所有的最优决策都在区间为(j+1,i)的单调队列中
dp[i]=min(dp[q[i-1]]+a[q[i...
分类:
其他好文 时间:
2015-08-13 14:32:37
阅读次数:
150
题意:有一个n*m的矩阵,每格有一个分数,一个人站在(1,x)位置,在每一行中,他只能朝一个方向走(向左或向右),且最多走t步,问走到最后第n行得到的最大分数。
思路:不难想到状态转移方程dp[i][j] = max(dp[i-1][k]+sum[i][j]-sum[i][k-1]),(k
移项得
dp[i][j]-sum[i][j] = max(dp[i-1][k] - sum[i][k-...
分类:
其他好文 时间:
2015-08-13 12:22:34
阅读次数:
208
传送门:BZOJ1717解题思路先把正解说一说:单调队列或者二分
然后么。。为什么我写的这么长?!
是罗穗骞的论文题嘛……就当给后缀数组练手吧
可重叠k次重复字串YM代码#include
using namespace std;
#define rep(i, a, b) for(int i = (a); i <= (b); i++)
#define red(i,...
分类:
其他好文 时间:
2015-08-10 22:18:19
阅读次数:
212
可以用队列优化或斜率优化的dp这一类的问题为 1D/1D一类问题即状态数是O(n),决策数也是O(n)单调队列优化我们来看这样一个问题:一个含有n项的数列(ni这个区间的最小值。那么状态转移方程是可以看出,这个题目的状态数是O(n),决策数是O(m),且决策的区间是连续的,那么可以尝试想办法把O(m...
分类:
其他好文 时间:
2015-08-10 21:35:35
阅读次数:
122
【问题描述】
最近,afy决定给TOJ印刷广告,广告牌是刷在城市的建筑物上的,城市里有紧靠着的N个建筑。
afy决定在上面找一块尽可能大的矩形放置广告牌。我们假设每个建筑物都有一个高度,
从左到右给出每个建筑物的高度H1,H2…HN,且0
要求输出广告牌的最大面积。
【输入文件】
输入文件 ad.in 中的第一行是一个数n (n
第二行是n个数,分别表示每个建筑物...
分类:
其他好文 时间:
2015-08-10 12:10:29
阅读次数:
518