博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 1657 [Usaco2006 Mar]Mooo 奶牛的歌声——单调栈水题
阅读量:4881 次
发布时间:2019-06-11

本文共 810 字,大约阅读时间需要 2 分钟。

题目:

#include
#include
#include
#include
using namespace std;const int N=5e4+5;int n,h[N],c[N],q[N],he,tl,cnt[N],ans;int rdn(){ int ret=0;bool fx=1;char ch=getchar(); while(ch>'9'||ch<'0'){
if(ch=='-')fx=0;ch=getchar();} while(ch>='0'&&ch<='9') ret=(ret<<3)+(ret<<1)+ch-'0',ch=getchar(); return fx?ret:-ret;}int main(){ n=rdn();for(int i=1;i<=n;i++)h[i]=rdn(),c[i]=rdn(); he=1; for(int i=1;i<=n;i++) { while(he<=tl&&h[i]>h[q[tl]])cnt[i]+=c[q[tl]],tl--; q[++tl]=i; } he=1;tl=0; for(int i=n;i;i--) { while(he<=tl&&h[i]>h[q[tl]])cnt[i]+=c[q[tl]],tl--; q[++tl]=i; } for(int i=1;i<=n;i++)ans=max(ans,cnt[i]); printf("%d\n",ans); return 0;}

 

转载于:https://www.cnblogs.com/Narh/p/9860083.html

你可能感兴趣的文章
optimizer_dynamic_sampling
查看>>
HTML(WEB)开发day05
查看>>
序列合并求前K小项 POJ2442
查看>>
unity点选构建Mesh并保存OBJ
查看>>
python kmeans实战 - 单机一层聚类(小玩具哦),下次再弄个分布式多次聚类
查看>>
Java主要有那几种文件类型?各自的作用是什么?
查看>>
我的第一个python web开发框架(29)——定制ORM(五)
查看>>
2017.11.18 手把手教你学51单片机-点亮LED
查看>>
xml的创建与解析
查看>>
grep不区分大小写查找字符串方法
查看>>
linux系统灵活运用灯[android课程3]
查看>>
Android 通用Dialog中设置RecyclerView
查看>>
利用 Android Studio 和 Gradle 打包多版本APK
查看>>
Android 自定义标题栏
查看>>
Android 如何把一个 RelativeLayout或ImageView背景设为透明
查看>>
tomcat优化方向
查看>>
http
查看>>
8-1-组队赛
查看>>
codility: CountTriangles
查看>>
赛斯说
查看>>