HDU 3401 DP+单调队列
来源:互联网 发布:淘宝在哪里评价商品 编辑:程序博客网 时间:2024/06/16 18:47
不会做,看别人的代码,想了一天才想明白
原文地址:http://blog.csdn.net/fp_hzq/article/details/7881075
#include "stdio.h" #define M 2001 #define MAX(a, b) ((a)>(b)?(a):(b)) int dp[M][M]; int t, m, w; int ap, bp, as, bs; int v[M], p[M]; int l, r; int main(){ int c, i, j, k, tmp; freopen("in.txt", "r", stdin); scanf("%d", &c); while(c--){ scanf("%d %d %d", &t, &m, &w); for(i=1; i<=w+1; i++){ scanf("%d %d %d %d", &ap, &bp, &as, &bs); for(j=0; j<=m; j++){ dp[i][j] = (j<=as)?(-j*ap):-0x7FFFFFFF; if(i>1) dp[i][j] = MAX(dp[i][j], dp[i-1][j]); } } for(i=w+2; i<=t; i++){ scanf("%d %d %d %d", &ap, &bp, &as, &bs); k = i-w-1; l = 0; r = -1; for(j=0; j<=m; j++){ //dp[k][x]-ap*(j-x) = dp[k][x] + ap*x - ap*j; //v[l] = dp[k][x] + ap*x; q[l] = x //dp[i][j] = MAX(..., v[l] - ap*j) tmp = dp[k][j] + ap*j; while(l<=r && v[r]<tmp) r--; v[++r] = tmp; p[r] = j; while(l<=r && p[l]+as<j) l++; dp[i][j] = MAX(dp[i-1][j], v[l] - ap*j); } l = 0; r = -1; for(j=m; j>=0; j--){ //dp[k][x] + bp*(x-j) = dp[k][x] + bp*x -bp*j; //v[l] = dp[k][x] + bp*x; q[l] = x //dp[i][j] = MAX(..., v[l] - bp*j); tmp = dp[k][j] + bp*j; while(l<=r && v[r]<tmp) r--; v[++r] = tmp; p[r] = j; while(l<=r && p[l]-bs>j) l++; dp[i][j] = MAX(dp[i][j], v[l] - bp*j); } } printf("%d\n", dp[t][0]); } return 0; }
- HDU 3401 DP+单调队列
- hdu 3401 单调队列+DP
- Trade HDU 3401 单调队列DP
- hdu 3401 Trade //单调队列+DP
- hdu 3401 Trade(DP+单调队列优化)
- hdu 3401 Trade 单调队列优化dp
- HDU 3401 Trade【单调队列+dp】
- hdu 3401 单调队列优化+dp
- hdu 3401 Trade 单调队列+dp
- hdu 3401 Trade 单调队列优化dp
- hdu 3401 Trade(单调队列优化dp)
- hdu 3401 单调队列优化DP
- hdu 3401 单调队列优化dp
- hdu 3401 Trade dp+单调队列
- HDU 3401 Trade 单调队列优化DP
- HDU 3401 Trade 【DP+单调队列优化】
- Hdu 3401 题解 单调队列优化DP
- hdu 3401 单调队列优化dp
- Moblin:kernel编译和rpm打包(二):RPM打包
- OVER 轻松搞定排名查询
- 寻找最大的K个数
- POJ 1002 电话译码问题
- 【phpcms-v9】phpcms-v9中文章列表页调用栏目名称
- HDU 3401 DP+单调队列
- 推荐几个免费的国外图像库,数字图像处理必备
- forward转发和redirect重定向详解
- Updatable Join Views【每日一译】--20121202
- Struts2 配置文件 type="redirect"的作用
- Java集合Collection介绍
- Eclipse下搭建Android开发环境
- 基于HTTP协议的SOA架构
- 解决win7下安装Mysql卡在Start service的问题