传送门

首先显然下楼的操作一定是不优的,所以只要考虑上楼

设 $f[i]$ 表示到第 $i$ 层时需要的最少时间

那么首先考虑走楼梯,有转移,$f[i]=f[i-1]+a[i-1]$

然后考虑坐电梯有:$f[i]=f[j]+(\sum_{k=j}^{i-1}b[k])+c$

显然那个 $\sum b$ 可以用前缀和搞一下,那么 $f[i]=f[j]+sum[i-1]-sum[j-1]+c$

我们 $dp$ 转移的时候只要维护一个当前 $f[j]-sum[j-1]$ 的最小值 $mi$ 即可

即 $f[i]=mi+sum[i-1]+c$

别问我为什么要强行写个线段树,我脑抽了

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long ll;
inline int read()
{
int x=,f=; char ch=getchar();
while(ch<''||ch>'') { if(ch=='-') f=-; ch=getchar(); }
while(ch>=''&&ch<='') { x=(x<<)+(x<<)+(ch^); ch=getchar(); }
return x*f;
}
const int N=2e5+;
const ll INF=1e18;
ll n,m,A[N],B[N];
struct SegTree {
ll t[N<<];
inline void ins(int o,int l,int r,int pos,int v)
{
if(l==r) { t[o]+=v; return; }
int mid=l+r>>;
pos<=mid ? ins(o<<,l,mid,pos,v) : ins(o<<|,mid+,r,pos,v);
t[o]=min(t[o<<],t[o<<|]);
}
inline ll query(int o,int l,int r,int ql,int qr)
{
if(l>=ql&&r<=qr) return t[o];
if(l>qr||r<ql) return INF;
int mid=l+r>>;
return min(query(o<<,l,mid,ql,qr),query(o<<|,mid+,r,ql,qr));
}
}T;
ll f[N];
int main()
{
n=read(),m=read();
for(int i=;i<=n;i++) A[i]=read();
for(int i=;i<=n;i++) B[i]=B[i-]+read();
for(int i=;i<=n;i++)
{
f[i]=f[i-]+A[i];
f[i]=min(f[i],T.query(,,n,,i-)+B[i]+m);
T.ins(,,n,i,f[i]-B[i]);
}
for(int i=;i<=n;i++) printf("%lld ",f[i]); puts("");
return ;
}

最新文章

  1. CoreGraphics-基本图形绘制-直线、三角形、矩形、椭圆形、弧形
  2. ubuntu 下python版本切换
  3. ios取证
  4. Beat the Spread![HDU1194]
  5. win8 C 盘 突然少了 十几G 空间 原因,解决方法
  6. sgu 176 Flow construction(有源汇的上下界最小流)
  7. [转]DRY原则和Shy原则
  8. css_day6
  9. Spring3 MVC 拦截器拦截不到的问题
  10. android 实现与服务器的长链接 方式
  11. Windows安装mysql-python提示:error: Microsoft Visual C++ 9.0 is required
  12. requests爬取网页的通用框架
  13. HDU - 1036
  14. iOS 仿抖音 视频裁剪
  15. [Swift]LeetCode872. 叶子相似的树 | Leaf-Similar Trees
  16. PHP到底有多牛?你所知道的网站都在用它
  17. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
  18. Eclipse里选一个变量后,这个类里的该变量不变色了
  19. Microsoft.Office.Interop.Excel 导出Excel
  20. JS 日期与时间戳相互转化

热门文章

  1. 2018-2019-2 网络对抗技术 20165231 Exp9 Web安全基础
  2. vue项目构建:vue-cli+webpack常用配置
  3. apache配置https重定向
  4. LC 456. 132 Pattern
  5. PorterDuffXfermode之PorterDuff.Mode.DST_IN
  6. js下利用userData实现客户端保存表单数据
  7. LSTM改善RNN梯度弥散和梯度爆炸问题
  8. Blender模型导入进Unity,旋转缩放的调整
  9. vue时间戳转换(10位数)/(13位)
  10. 高级UI-NavigationView侧滑