五维DP,听着挺多的,貌似就是挺裸的dp,

最近貌似做简单的DP挺顺手。。1A

dp[i][j][e][o][g] = min(dp[i][j][e][o][g],dp[i-i1][j-i2][e-i3][o-i4][g-i5]+p[q])  i1,i2...为满足给出的商品数量的值 p[q]为选用当前优惠方案的价格。

 /*
ID: shangca2
LANG: C++
TASK: shopping
*/
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define INF 0xfffffff
int dp[][][][][];
struct node
{
int c[],k[],p,n;
}pp[];
int c[],k[],p[];
int main()
{
freopen("shopping.in","r",stdin);
freopen("shopping.out","w",stdout);
int i,j,s,b,e,o,g,q,a;
for(i = ; i <= ; i++)
for(j = ; j <= ; j++)
for(e = ; e <= ; e++)
for(o = ; o <= ; o++)
for(g = ; g <= ; g++)
dp[i][j][e][o][g] = INF;
cin>>s;
for(i = ; i <= s ; i++)
{
cin>>pp[i].n;
for(j = ; j <= pp[i].n ; j++)
cin>>pp[i].c[j]>>pp[i].k[j];
cin>>pp[i].p;
}
cin>>b;
for(i = ; i <= b ;i++)
cin>>c[i]>>k[i]>>p[i];
for(i = ;i <= k[] ; i++)
for(j = ; j <= k[] ; j++)
for(e = ; e <= k[] ; e++)
for(o = ; o <= k[] ;o++)
for(g = ; g <= k[] ; g++)
{
dp[i][j][e][o][g] = i*p[]+j*p[]+e*p[]+o*p[]+g*p[];
for(q = ; q <= s ; q++)
{
int i1=,i2=,i3=,i4=,i5=;
for(a = ; a <= pp[q].n ;a++)
{
if(pp[q].c[a]==c[])
i1 = pp[q].k[a];
else if(pp[q].c[a]==c[])
i2 = pp[q].k[a];
else if(pp[q].c[a]==c[])
i3 = pp[q].k[a];
else if(pp[q].c[a]==c[])
i4 = pp[q].k[a];
else
i5 = pp[q].k[a];
}
if(i-i1>=&&j-i2>=&&e-i3>=&&o-i4>=&&g-i5>=)
{
dp[i][j][e][o][g] = min(dp[i][j][e][o][g],dp[i-i1][j-i2][e-i3][o-i4][g-i5]+pp[q].p);
}
}
}
cout<<dp[k[]][k[]][k[]][k[]][k[]]<<endl;
return ;
}

USACO3.32Shopping Offers(DP)的更多相关文章

  1. USACO 完结的一些感想

    其实日期没有那么近啦……只是我偶尔还点进去造成的,导致我没有每一章刷完的纪念日了 但是全刷完是今天啦 讲真,题很锻炼思维能力,USACO保持着一贯猎奇的题目描述,以及尽量不用高级算法就完成的题解……例 ...

  2. USACO3.34Home on the Range(DP)

    之前做过一道类似的 国际象棋盘神马的.. 统计出以每个1作为右下角的最大正方形 那么以大于二到这个最大值之间为边的正方形都可以以这个为右下角 累加就可以了 dp[i][j] = min(dp[i-1] ...

  3. POJ - 1170 Shopping Offers (五维DP)

    题目大意:有一个人要买b件商品,给出每件商品的编号,价格和数量,恰逢商店打折.有s种打折方式.问怎么才干使买的价格达到最低 解题思路:最多仅仅有五种商品.且每件商品最多仅仅有5个,所以能够用5维dp来 ...

  4. poj - 1170 - Shopping Offers(减少国家dp)

    意甲冠军:b(0 <= b <= 5)商品的种类,每个人都有一个标签c(1 <= c <= 999),有需要购买若干k(1 <= k <=5),有一个单价p(1 & ...

  5. USACO3.3 A Game【区间dp】

    这道题也是一道非常有意思的区间$dp$,和在纪中的这道题有点像:取数游戏 (除了取数规则其它好像都一样诶) 当时在纪中的时候就觉得这个$dp$非常不好想,状态定义都不是很容易想到. 但是做过一道这种题 ...

  6. 别人整理的DP大全(转)

    动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...

  7. dp题目列表

    此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...

  8. 洛谷P2732 商店购物 Shopping Offers

    P2732 商店购物 Shopping Offers 23通过 41提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 在商店中, ...

  9. [转] POJ DP问题

    列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 13 ...

随机推荐

  1. IAP (In-App Purchase)中文文档

    内容转自:http://yarin.blog.51cto.com/1130898/549141 一.In App Purchase概览 Store Kit代表App和App Store之间进行通信.程 ...

  2. webService学习记录

    服务端配置1.新建web项目,导入xFire的jar包2.创建服务接口.实现类3.创建src->META-INF->service->service.xml 将实现类.接口配置到里面 ...

  3. Mybatis 学习历程

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装. MyBatis可以使用简单的XML或注 ...

  4. Java实战之01Struts2-03属性封装、类型转换、数据验证

    九.封装请求正文到对象中 1.静态参数封装 在struts.xml配置文件中,给动作类注入值.调用的是setter方法. 原因:是由一个staticParams的拦截器完成注入的. 2.动态参数封装: ...

  5. Codevs 1171 潜伏者 2009年NOIP全国联赛提高组

    1171 潜伏者 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description [问题描述] R 国和S 国正陷 ...

  6. Bzoj 2431 HAOI2009 逆序对数列

    Description 对于一个数列{ai},如果有i**<**j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数. ...

  7. IOS 学习笔记 2015-03-18

    Objective--C 一 关键字 1 KVC 动态设值,动态取值,类似雨java中的反射,而且私有的照样可以设置与获取 2 二 函数 1 retain 给对象引用计数器 + 1 2 release ...

  8. html标签data大写获取不到值:只能小写+横杠命名

    html标签data大写获取不到值:只能小写+横杠命名 例如: <i class="glyphicon glyphicon-question-sign" data-tip-t ...

  9. Sublime Text 3 插件、主题、配置

    换电脑,Sublime Text 3 重新配置一遍,做个记录 1. 下载:http://www.sublimetext.com/3 2. 插件管理器 Package Control (Ctrl + ` ...

  10. XML1_XML基础

    1.XML的作用 XML 被设计用来传输和存储数据.所以XML 是不作为的. 2.简单的描述 XML 文档形成一种树结构. XML 文档必须包含根元素.该元素是所有其他元素的父元素.XML 文档中的元 ...