https://vjudge.net/problem/HRBUST-2455

有两种优惠方式,一是满400减100,另外一种是商品自带折扣,二者不可叠加

dp[i][j]表示前i种商品,(参与满400减100活动的商品价格之和)%400 == j 的最少总花费,这里默认后面的商品都使用自身折扣,

为了避免小数,把价格A[i]都扩大十倍A[i]*=10。

容易得到转移方程 dp[i][j] = min(dp[i-1][x]+j*10+(x+A[i]/10)/400*3000-x*10-A[i]/10*B[i],dp[i-1][j])

其中 x = (j-A[i]+1200)%400

边界dp[0][0]表示所有商品只使用自身折扣

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define int long long
int t;
int N;
int A[];
int B[];
int dp[][];
double ans =0.0;
const int INF = 1e18;
signed main()
{
scanf("%lld",&t);
while(t--){
int tmp =;
scanf("%lld",&N);
for(int i=;i<=N;i++){
scanf("%lld%lld",&A[i],&B[i]);
tmp+=A[i]*B[i];
A[i]*=;
for(int j=;j<;j++){
dp[][j]=dp[i][j]=INF;
}
}
dp[][]=tmp;
int x ;
for(int i=;i<=N;i++){
for(int j=;j<;j++){
x= (j-A[i]/+)%;
dp[i][j]=min(dp[i-][x]-(A[i]/10ll)*B[i]+j*10ll-x*10ll+((x+A[i]/10ll)/400ll)*3000ll,dp[i-][j]);
}
} tmp = 1e18;
for(int j=;j<;j++){
tmp = min(tmp,dp[N][j]);
} printf("%.1f\n",tmp*0.1); } }

满减 HRBUST - 2455的更多相关文章

  1. [Offer收割]编程练习赛4 A 满减优惠

    满减优惠 描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的 ...

  2. 亚马逊促销活动Promotion②:Money Off(满减折扣)的设置教程

    满减.折扣是放之四海皆有效的促销手段,虽然亚马逊对卖家有诸多限制,但这个促销方式却是允许的,对亚马逊的卖家而言,这对提升商品销量.打造爆款都是极好的.今天小编来讲讲亚马逊的Money Off要怎么设置 ...

  3. 2019阿里云开年Hi购季满返活动火热报名中!

    摘要: 在每年开年的这个大幅度优惠促销月,怎样才能花最少的钱配置最特惠的云服务?请看本文! 2019阿里云云上采购季活动已经于2月25日正式开启,从已开放的活动页面来看,活动分为三个阶段: 2月25日 ...

  4. 高清DEM最高立减1500元!

    选购攻略: 活动一:选购12.5米DEM(地形)数据.30米 DEM(地形)数据,满500元立减100元.满1000元立减200元.满2000立减500元.满5000元立减1500元:每位用户仅可享受 ...

  5. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  6. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文

    阅读目录 前言 明确业务细节 建模 实现 结语 一.前言 上一篇我们已经确立的购买上下文和销售上下文的交互方式,传送门在此:http://www.cnblogs.com/Zachary-Fan/p/D ...

  7. 优惠分摊算法 php版

    <?php /* * 优惠分摊,算法很多,这里是从shopnc挖出来,适合优惠条件过滤的算法,实质很简单,但是理解难度还是有一点 * * 一个订单的商品,如果不参与某种活动,需要分摊优惠,一般来 ...

  8. 短视频APP+不同类型社交应用发展分析+化妆品电商

    短视频APP——昙花一现还是发展趋势? 在这个互联网与科技并行且飞速发展的时代,各种app不断涌入市场,其中短视频app便是一个典型,美拍,就成功入围2014年十大最火app.而短视频app也势必要成 ...

  9. 滴滴与Uber的竞争分析

    滴滴与Uber的竞争分析 随着互联网时代的到来,智能手机的普及,互联网不再是一个完全虚拟的东西,它开始慢慢地融入到我们的生活中来.这些年我们可以明显地感受到我们的生活方式在一天天发生着变化,我们也逐渐 ...

随机推荐

  1. [转帖]浅谈IOC--说清楚IOC是什么

    浅谈IOC--说清楚IOC是什么 Need Study https://www.cnblogs.com/DebugLZQ/archive/2013/06/05/3107957.html 博文目录 1. ...

  2. Python的入门(day1)

    一:Python的起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种 ...

  3. 【6.24校内test】T3 棠梨煎雪

    [题目背景] 岁岁花藻檐下共将棠梨煎雪. 自总角至你我某日辗转天边. 天淡天青,宿雨沾襟. 一年一会信笺却只见寥寥数言. ——银临<棠梨煎雪> [问题描述] 扶苏正在听<棠梨煎雪&g ...

  4. Luogu P3959 [NOIP2017]宝藏

    题目 STO rqy OTZ 首先这种题一看我们就知道可以爆搜. prim一眼假了,但是加个SA也能过. 所以我们来写状压. 记\(f_{i,j,S}\)表示起点到\(j\)距离为\(i\),我们现在 ...

  5. 详解vue全局组件与局部组件使用方法

    这篇文章主要为大家详细介绍了vue全局组件与局部组件的使用方法,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. vue全局/局部注册,以及一些混淆的组件main.js ...

  6. python3的一些文件操作的脚手架

    用python把原来的脚本重构了一下,其中写了文件操作的一些函数,如下: import os import shutil import hashlib import stat #查找文件夹中的某个文件 ...

  7. Leaving Auction CodeForces - 749D (set,贪心,模拟)

    大意: 若干个人参加拍卖会, 给定每个人出价顺序, 保证价格递增, q个询问, 给出k个人的编号, 求删除这k个人的所有出价后, 最终谁赢, 他最少出价多少. set维护每个人最后一次投票的时间, 每 ...

  8. java使用Callable创建又返回值的线程

    并发编程使我们可以将程序分为很多个分离的,相互之间独立的任务,通过使用多线程的机制,将每个任务都会有一个执行线程来单独的驱动,一个线程是 进程中一个单一顺序控制流,一个进程可以拥有多个线程,也就相当于 ...

  9. ExpressionTree学习笔记

    概述: 这段时间需要制定自定义查询条件,感觉有必要学习ExpressionTree. 学习参考资料:https://msdn.microsoft.com/en-us/library/mt654263. ...

  10. nginx 针对特定地区的ip进行规则匹配

    使用geoip模块,加载ip库 geoip_country GeoIP.dat; geoip_city GeoLiteCity.dat; 转自http://ju.outofmemory.cn/entr ...