当前位置: 首页 > news >正文

bzoj1657[Usaco2006 Mar]Mooo 奶牛的歌声*

bzoj1657[Usaco2006 Mar]Mooo 奶牛的歌声

题意:

n头奶牛,每头一个身高和音量。每头牛的音量会被左边离它最近的比它高的和右边离它最近的比它高的牛听到。问牛听到的最大音量。n≤50000

题解:

单调栈维护牛的身高递减。左右各做一次,累加求解。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define inc(i,j,k) for(int i=j;i<=k;i++)
 5 #define dec(i,j,k) for(int i=j;i>=k;i--)
 6 #define maxn 50100
 7 using namespace std;
 8 
 9 int s1[maxn],s2[maxn],h[maxn],vol[maxn],ss,n,ans[maxn];
10 inline int read(){
11     char ch=getchar(); int f=1,x=0;
12     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
13     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
14     return f*x;
15 }
16 int main(){
17     n=read(); inc(i,1,n)h[i]=read(),vol[i]=read();
18     s1[1]=h[1]; s2[1]=1; ss=1;
19     inc(i,2,n){while(ss&&s1[ss]<h[i])ss--; if(ss)ans[s2[ss]]+=vol[i]; s1[++ss]=h[i]; s2[ss]=i;}
20     s1[1]=h[n]; s2[1]=n; ss=1;
21     dec(i,n-1,1){while(ss&&s1[ss]<h[i])ss--; if(ss)ans[s2[ss]]+=vol[i]; s1[++ss]=h[i]; s2[ss]=i;}
22     inc(i,1,n)ans[0]=max(ans[0],ans[i]); printf("%d",ans[0]); return 0;
23 }

 

20160808

转载于:https://www.cnblogs.com/YuanZiming/p/5766541.html

相关文章:

  • chattr与lsattr管理系统关键文件
  • zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程
  • 1-1-1 裸机工具安装
  • JavaWeb请求-响应学习笔记
  • task mysqld:26208 blocked for more than 120 seconds
  • jQuery选择器之属性选择器Demo
  • COleChangeSourceDialog不能Change Source的解决方法
  • Permutations
  • iOS - OC NSData 数据
  • system函数
  • CopyOnWriteArrayList
  • python联接主流SQL的类库个人收藏
  • Maven添加oracle的jdbc驱动
  • 【coolshell酷壳】应该知道的Linux技巧
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript中的对象个人分享
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • mysql中InnoDB引擎中页的概念
  • php ci框架整合银盛支付
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Spring Cloud中负载均衡器概览
  • Swoft 源码剖析 - 代码自动更新机制
  • vue-router的history模式发布配置
  • Vue学习第二天
  • 阿里云购买磁盘后挂载
  • 包装类对象
  • 不上全站https的网站你们就等着被恶心死吧
  • 前端面试总结(at, md)
  • 时间复杂度与空间复杂度分析
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #git 撤消对文件的更改
  • #if #elif #endif
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (11)MATLAB PCA+SVM 人脸识别
  • (145)光线追踪距离场柔和阴影
  • (2022 CVPR) Unbiased Teacher v2
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)正点原子I.MX6ULL u-boot移植
  • (转)memcache、redis缓存
  • (转)winform之ListView
  • ******之网络***——物理***
  • .NET BackgroundWorker
  • .NET Core 2.1路线图
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 设计模式初探
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET企业级应用架构设计系列之开场白
  • .Net中的设计模式——Factory Method模式
  • /usr/bin/env: node: No such file or directory
  • @Autowired和@Resource装配
  • @Import注解详解