BZOJ 斜率优化 1096: [ZJOI2007]仓库建设

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1096


代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <queue>
#include <vector>
#include <algorithm>
#include <cassert>
#include <set>
#include <map>
#include <cmath>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<(b);++i)
#define rrep(i,a,b) for(int i=(a);i>=(b);--i)
#define clr(a,x) memset(a,(x),sizeof(a));
#define eps 1e-8
#define LL long long
#define mp make_pair
const int maxn=1000000+5;
const LL inf=1e15;
LL S1[maxn],S2[maxn],dp[maxn][2];
LL X[maxn],P[maxn],C[maxn];
int q[maxn],front,rear;

double up(int j,int k) { return dp[j][1]-X[j]*S1[j]+S2[j]-(dp[k][1]-X[k]*S1[k]+S2[k]); }
double down(int j,int k) { return X[k]-X[j]; }

struct Gong
{
    LL X,P,C;
    bool operator<(const Gong&g) const { return X>g.X; }
}in[maxn];


int main()
{
    int n;
    while(scanf("%d",&n)==1) {
        rep(i,1,n+1) scanf("%lld%lld%lld",&in[i].X,&in[i].P,&in[i].C);
        sort(in+1,in+1+n);
        rep(i,1,n+1) X[i]=in[i].X,P[i]=in[i].P,C[i]=in[i].C;
        rep(i,1,n+1) S1[i]=S1[i-1]+P[i];
        rep(i,1,n+1) S2[i]=S2[i-1]+X[i]*P[i];
    //    Dp(n);
        front=rear=0; q[rear++]=1;
        dp[1][1]=C[1]; dp[1][0]=inf;
        rep(i,2,n+1) {
            while(rear-front>1) {
                int a=q[front],b=q[front+1];
                if(up(a,b)/down(a,b)<=S1[i]) ++front;
                else break;
            }
            int j=q[front];
            dp[i][0]=dp[j][1]-S2[i]+S2[j]+X[j]*(S1[i]-S1[j]);
            dp[i][1]=min(dp[i-1][0],dp[i-1][1])+C[i];
            while(rear-front>1) {
                int a=q[rear-2],b=q[rear-1],c=i;
                if(up(a,b)/down(a,b)>=up(b,c)/down(b,c)) --rear;
                else break;
            }
            q[rear++]=i;
        }
        printf("%lld\n",min(dp[n][0],dp[n][1]));
    }
}


SAP中MRP运行计划行超限问题的分析与解决 SAP中基于生产性物料的采购特点,通常会采用采购计划协议的方式进行采购。其具体的采购计划通常来自于成品计划独立需求,然后通过物料清单,经由MRP跑出。 在采购计划协议中的计划行中,存在一个计划行号,随着MRP在不断跑出新的计划行,该行号资源会消耗完。当计划行号消耗完后,MRP不会再跑出新的计划行。且在MD04或MD02中看不到类似提示信息。此时可以通过MD05来查看是否出现类似下图的提示信息。 ... 阅读详情

相关推荐

STM32 ST-LINK Utility固件烧录全流程详解与实战技巧

本文详细解析了使用STM32 ST-LINK Utility进行固件烧录的全流程与实战技巧。从硬件连接、软件安装、核心三步操作(连接、擦除、烧录)到进阶的选项字节配置与批量脚本烧录,提供了完整的避坑指南和问题排查方案,帮助开发者高效完成STM32程序下载。

lambda的博客 742

bzoj 1096: [ZJOI2007]仓库建设 斜率優化

1096: [ZJOI2007]仓库建设 Time Limit:10 SecMemory Limit:162 MBSubmit:2242Solved:925[Submit][Status] Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放...

alex151194310的博客 137

使用电荷放大器处理压电加速度计输出

电阻器 R p模拟传感器的绝缘电阻,为产生的电荷创建泄漏路径。在此图中,顶部波形显示传感器产生的电荷,而底部波形显示电荷放大器的输出。这需要具有大输入阻抗的放大级,以防止产生的电荷通过与传感元件并联的放大器的输入阻抗泄漏。换句话说,电荷放大器补偿传感器产生的电荷 q p ,反馈电容器 C F中具有相反极性的等量电荷。因此,任何与传感器并联的绝缘电阻,如电缆的绝缘电阻或传感器的漏电电阻Rp,都不能流过电流。漂移是指电荷放大器输出在一段时间内发生的变化,而不是由被测物理参数的变化(我们讨论的加速度)引起的。

weixin_45260069的博客 3826

BZOJ 1096: [ZJOI2007]仓库建设斜率优化

1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec Memory Limit: 162 MB Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先...

aiweiluan5095的博客 98

BZOJ 1096 [ZJOI2007]仓库建设斜率优化dp

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题意:   有n个工厂,从左往右排成一排,分别编号1到n。   每个工厂里有p[i]件产品,到1号工厂的距离为x[i],在此处建一个仓库的花费为c[i]。   现在你需要建造一些仓库,使得所有产品都被运送到仓库中来。   产品只能从左往右运输。每一件产品运输一个单...

a1392136的博客 156

BZOJ1096: [ZJOI2007]仓库建设//斜率优化DP

板子》》》 1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 6758 Solved: 3133 [Submit][Status][Discuss] Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内 陆地区(干燥少雨),L公司一般把...

Up Panda 240

BZOJ1096: [ZJOI2007]仓库建设 斜率优化DP

1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3943  Solved: 1737 [Submit][Status][Discuss] Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内 陆地区(干燥

Oakley 783

BZOJ1096: [ZJOI2007]仓库建设(dp+斜率优化

http://www.lydsy.com/JudgeOnline/problem.php?id=1096 首先得到dp方程(我竟然自己都每推出了QAQ)$$d[i]=min\{d[j]+cost(j+1,i)\}+c[i]$$其中$d[i]$是前i个且在i建仓库的最小费用,$cost(j+1,i)$是将j+1~i的东西全都运到i的费用 而我们先考虑cost怎么求,orz,好神的前缀和...

158

BZOJ 1096: [ZJOI2007]仓库建设(斜率优化)

BZOJ 1096: [ZJOI2007]仓库建设题目概述:有n个位置,对于每一个位置有两种选择,就地建仓库,代价为C,或者运到比它编号大的最近的仓库,代价为X*P,求最小代价.题目分析:1.先进行朴素算法的思考,很容易想到,对于当前i位置来说,可分为两部分,一部分是之前已经处理了的,一部分是全部运到i处的,如下: ans[i]=min{ans[j]+cost(j+1,i)+C[i]|1<=j<

Continue 478

BZOJ 1096: [ZJOI2007]仓库建设 斜率优化

1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 5081  Solved: 2262 [Submit][Status][Discuss] Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一

BlackJack 352

BZOJ 1096: [ZJOI2007]仓库建设 [斜率优化DP]

1096: [ZJOI2007]仓库建设 Time Limit:10 SecMemory Limit:162 MBSubmit:4201Solved:1851[Submit][Status][Discuss] Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把...

weixin_30540691的博客 98

[BZOJ]1096: [ZJOI2007]仓库建设 斜率优化DP

Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内 陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象 部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于 地形的不同,在不同工厂建立仓库的费用可能是不同的。第

TYB的博客 505

[斜率优化DP] BZOJ1096: [ZJOI2007]仓库建设

题意有N个工厂按编号顺序排成一条直线,第1个工厂到第i个工厂的距离为dis[i], 第i个工厂一开始堆积着p[i]个货物,现在要紧急把所有货物装进仓库里。在第i个工厂建仓库需要c[i]的代价,对于没有建立仓库的工厂,其货物应被运往其他的仓库进行储藏,且只能往编号大仓库的运,一件货物运送1个单位距离的代价是1。求把所有货物装进仓库的最小代价。 (n<=100000)题解显然是DP,要用到斜率优化

Lynstery's blog 735

bzoj 1096: [ZJOI2007]仓库建设 斜率优化+:DP

bzoj 1096 仓库建设 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1096 Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被

DJS_K_D的专栏 569

bzoj-1096 1096: [ZJOI2007]仓库建设(斜率优化dp)

题目链接: 1096: [ZJOI2007]仓库建设 Description   L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于地形的...

weixin_30566149的博客 113

bzoj1096: [ZJOI2007]仓库建设 斜率优化DP

纠结的公式推导。。。g[

WJSZMRX 690

bzoj1096: [ZJOI2007]仓库建设 斜率优化dp

https://www.lydsy.com/JudgeOnline/problem.php?id=1096 中文题意不说了, dp【i】表示从1到i所有产品都能放,而且第i个地方一定建仓库的最小费用,转移方程dp[i]=min(dp[j]+Σ(j<k<=i)x[i]-x[k])*p[k](1<=j<i) 用sump表示p的前缀和,用sumpx表示p*x的前缀和,转移方...

weixin_30463341的博客 132

[BZOJ 1096][ZJOI2007]仓库建设:DP斜率优化

点击这里查看原题典型的斜率优化,主要难点在于如何计算搬运物品的费用,可以维护两个值,tot[i]表示物品总数的前缀和,sum[i]表示将i之前所有物品运到i的总费用,那么将j-i之间所有物品搬运到i的总费用即为去除将1-j之间的物品搬到i的费用,sum[i]-sum[j]-tot[j]*(dis[i]-dis[j])/* User:Small Language:C++ Problem No.:109

SmallSXJ的博客 353
上一篇: BZOJ 1024: [SCOI2009]生日快乐
下一篇: BZOJ 状态压缩dp 1087: [SCOI2005]互不侵犯King
Killerfear
博客等级 码龄17年 19粉丝 347原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值