BZOJ 2153 设计铁路

裸的斜率优化。

(我为什么要O(1e6)。。。)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1000050
using namespace std;
long long n,m,t,r,sum1[maxn],sum2[maxn],f[maxn],mx=0,q[maxn],l=1;
long long get_x(long long x) {return x;}
long long get_y(long long x)
{
    if (!x) return 0;
    return f[x-1]-sum1[x-1]+sum2[x-1]*x+m;
}
int main()
{
    scanf("%lld%lld",&n,&m);
    for (long long i=1;i<=n;i++)
    {
        scanf("%lld%lld",&t,&r);
        mx=max(mx,t);sum1[t]+=r*t;sum2[t]+=r;
    }
    for (long long i=1;i<=mx;i++) sum1[i]+=sum1[i-1],sum2[i]+=sum2[i-1];
    q[l=r=1]=0;
    for (long long i=1;i<=mx;i++)
    {
        while (l<r && (get_x(q[r-1])-get_x(q[r]))*(get_y(q[r])-get_y(i))<(get_x(q[r])-get_x(i))*(get_y(q[r-1])-get_y(q[r]))) r--;
        q[++r]=i;
        while (l<r && sum2[i]*(get_x(q[l])-get_x(q[l+1]))<(get_y(q[l])-get_y(q[l+1]))) l++;
        f[i]=get_y(q[l])-q[l]*sum2[i]+sum1[i];f[i]=min(f[i],sum1[i]);
    }
    printf("%lld\n",f[mx]);
    return 0;
}
时间: 2024-07-30 07:48:05

BZOJ 2153 设计铁路的相关文章

ESRI ArcGIS Desktop v10.2-ISO 1DVD

Imbsen产品: Imbsen WinFAD v4.0 1CD Imbsen WinRECOL v4.0.1 1CD(钢筋混凝土柱分析和设计软件) Imbsen.WinSEISAB.v5.0.7 1CD(桥的地震分析软件) Imbsen XTRACT v3.0.3 1CD DICAD Systeme GmbH产品: DICAD Strakon S v2008 SP1 MultiLanguage-ISO 1CD(CAD制图) Graphisoft产品: Graphisoft.Archicad.v

UML建模工具

UML:Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置. UML规范用来描述建模的概念有,类.对象.关联.职责.行为.接口.用例.包.顺序.协作,以及状态UML可以辅助我们分析和设计复杂的系统,它用于帮助软件开发人员进行思考和记录思路的结果: uml本身是一套符号的规定,就像数学符号和化学符号一

关于铁路订票系统如何改善设计的讨论

由12306.cn谈谈网站性能技术 铁路订票系统的简单设计

铁路客运票务管理系统的设计与实现

研究的意义 随着我国铁路系统的不断完善,目前火车已成为人们出行的重要交通工具.据统计我国铁路年客运量达20亿人次,庞大的客运量使铁路客运管理成为一个难题,每当春运,能够买到一张回家的车票更是牵动每一个游子的心.所以创建本系统的目的就是为了缓解我国铁路客运管理的压力,方便人们购买车票. 本系统基于B/S架构,使用Java语言编写,数据库采用MySQL.系统共分为三个层次:表示层.业务逻辑层.数据访问层.表示层负责与用户进行直接交换:业务逻辑层负责有效性的验证工作,保证了系统的健壮性:数据访问层主要

BZOJ 1096 ZJOI2007 仓库设计 斜率优化dp

太高兴了,这是我第一次自己独立思考的斜率优化dp,从头到尾都是自己想的.(相信自己,能行的,不过也做了40分钟了). 这道题目还好吧! 看到之后第一反应是想设从工厂0运到工厂i 总共需要 tot[i] 的费用, 用 p[i] 表示从山顶到工厂 i 总共的产品数, 再用 x[i] 表示从工厂0到工厂 i 的距离, 那么状态转移方程就是 f[i] = min{f[j] + tot[i] - tot[j] - p[j] * (x[i] - x[j] ) + c[i] } ,很明显由于数据有 n <=

铁路客运票务管理系统的设计与实现--数据库

[BZOJ] 4552: [Tjoi2016&amp;Heoi2016]排序 #二分+线段树+算法设计策略

4552: [Tjoi2016&Heoi2016]排序 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 1451  Solved: 734[Submit][Status][Discuss] Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排 序分为两种:1:(0,l,r

BZOJ 1061 志愿者招募(最小费用最大流)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1061 题意:申奥成功后,布布经过不懈努力,终于 成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人. 布布通过了解得知,一共有M 类志愿者可以招募.其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元.新官上任三把火,为了出色地完成自己的工作,布

优云CMDB经验分享之 – 剖析CMDB的设计过程

作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点.在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战.同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的工具和手段. 在CMDB落地过程中需要注意的是,CMDB项目不是一个简单的软件安装过程,而是一个咨询.培训.实施.优化密切结合的综合过程,涉及到平台工具采购.咨询服务.实施服务.培训.甚至扩展开发等内容.同时,一个成功的CMDB项目不能一蹴而就,而是一个循序渐进.持续发展的过程,需要企业后续的投入和