洛谷 P1714 切蛋糕(dp+RMQ)
来源:互联网 发布:腾讯视频下载mac版 编辑:程序博客网 时间:2024/05/17 01:59
传送门
首先,很简单的dp方程:
预处理:
代码:
#include<bits/stdc++.h>#define ll long longusing namespace std;inline int read(){ int x=0;char ch=' ';int f=1; while(ch!='-'&&(ch<'0'||ch>'9'))ch=getchar(); if(ch=='-')f=-1,ch=getchar(); while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*f;}int n,m;int a[500001];int s[500001];int st[20][500001];inline int query(int l,int r){ int k=log(r-l+1)/log(2); return min(st[k][l],st[k][r-(1<<k)+1]);}int main(){ Log[0]=-1; for(int i=1;i<=n;i++){ Log[i]=Log[i>>1]+1; } n=read();m=read(); for(int i=1;i<=n;i++){ a[i]=read(); s[i]=s[i-1]+a[i]; st[0][i]=s[i]; } for(int k=1;k<=19;++k){ for(int i=1;i+(1<<k)-1<=n;++i){ st[k][i]=min(st[k-1][i],st[k-1][i+(1<<(k-1))]); } } int ans=-0x7fffffff; for(int i=1;i<=n;++i){ int l=i-m; if(l<0)l=0; int num=s[i]-query(l,i); ans=max(ans,num); } printf("%d",ans); return 0;}
阅读全文
0 0
- 洛谷 P1714 切蛋糕(dp+RMQ)
- 洛谷 P1714 切蛋糕
- 洛谷 P1714 切蛋糕
- uva 1629切蛋糕(dp)
- dp+离散(RMQ)
- 切蛋糕(SOJ1739)
- zoj 3537 凸包+三角剖分dp(切蛋糕)
- OpenJudge_P6047 分蛋糕(DP)
- hdu 5640(切蛋糕)
- RMQ DP
- 切蛋糕
- 切蛋糕
- [noj 1522] 分蛋糕(dp+滚动数组优化)
- 一、状态压缩dp(4)CZA的蛋糕
- hdu4123(树形dp,RMQ查询)
- 最大高度差(暴力/DP/RMQ)
- 切蛋糕&切西瓜(数学)
- zoj 3381(DP+RMQ)
- 集合
- [bzoj1597]: [Usaco2008 Mar]土地购买(斜率优化dp)
- 实现基于MySQL的图书增删改查Web应用
- 关于python的基础知识12--方法/函数
- [hdu3507] Print Article(斜率优化dp)
- 洛谷 P1714 切蛋糕(dp+RMQ)
- spark+kafka出现问题1,找不到KafkaUtils$
- [bzoj1026][SCOI2009]windy数(前缀和+数位dp)
- Spring读取Bean的过程
- Hibernate之criteria.setProjection(null)作用
- [bzoj1036]:[ZJOI2008]树的统计Count(树链剖分)
- [hdu5628]Clarke and math(dirichlet卷积)
- lua(1)
- [bzoj1087]: [SCOI2005]互不侵犯King(状压dp)