usaco2013 mar【懒惰的奶牛】
描述
夏天又到了,奶牛贝里斯开始变得非常懒惰。他想要站在一个地方,然后只走很少的一段路,就能吃到尽可能多的美味的青草。
有N块草坪排列在一条直线上,第i个草坪拥有g_i数量的青草,第i个草坪所在的位置是x_i。奶牛贝里斯想要在直线上选择一个点作为他的初始点(初始点有可能和草坪的位置重合),这样他就能吃到以这个点为中点距离不超过K的位置上的所有青草。
如果初始点可以自由选择的话,请帮助贝里斯计算他最多能吃到的青草的数量。
输入输出格式
输入
第一行是两个正整数,表示N和K。
第2行到第N+1行,每行两个整数,第i行的两个整数表示第i个草坪的g_i和x_i。
输出
输出贝里斯最多能吃到的青草数量。
输入输出样例
样例输入1
4 3
4 7
10 15
2 2
5 1
样例输出1
11
样例说明
如果贝里斯将初始点选择在x=4的位置,那么他可以吃到x=1,x=2和x=7这三个地方的青草,总共是11。
数据规模
1<=N<=100000,1<=g_i<=10000,0<=x_i<=1000000,1<=k<=2000000。
解题思路
刚开始我想用前缀和,然后每次枚举区间比较最大值,但是我最后还是用的类似于队列的东西来做(因为老师强制性),每次用一个左端点和右端点移动就行。
题解
1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,k,maxn,ans; 4 int mp[5000001];//存青草地的 5 int read()//快读 6 { 7 int x=0,f=1; 8 char ch=getchar(); 9 while(ch<'0'||ch>'9'){ 10 if(ch=='-') 11 f=-1; 12 ch=getchar(); 13 } 14 while(ch>='0'&&ch<='9'){ 15 x=(x<<1)+(x<<3)+(ch^48); 16 ch=getchar(); 17 } 18 return x*f; 19 } 20 int main() 21 { 22 cin>>n>>k; 23 k*=2;//方便后续操作 24 for(int i=1;i<=n;i++) 25 { 26 int x,w; 27 w=read(); 28 x=read(); 29 mp[x]=w;//存入 30 } 31 int l=0,r=k,ans=0;//l一定要从0开始,我之前一个多小时WA就是因为它 32 for(int i=l;i<=r;i++) 33 { 34 ans+=mp[i];//求区间和 35 } 36 maxn=max(maxn,ans); 37 while(r<=5000001)//因为不知道大小,只能硬枚举 38 { 39 ans-=mp[l];//减去左端点的 40 l++;//右移 41 r++;//右移 42 ans+=mp[r];//加上右端点的 43 maxn=max(maxn,ans);//取最优解 44 } 45 cout<<maxn;//输出 46 }
转载于:https://www.cnblogs.com/hualian/p/11185299.html
usaco2013 mar【懒惰的奶牛】相关推荐
- bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(拓扑排序?+DP)
1638: [Usaco2007 Mar]Cow Traffic 奶牛交通 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 971 Solved: 37 ...
- linux禁用用户账号,linux 如何禁用账号和解除禁用账号
有wsdl地址生成客户端调用 新建Java Project 1.项目名称:HelloWorldClient 2.建好的项目 3.生成客户端 选择HelloWorldClient 填写wsdl地址(参考 ...
- [Usaco2010 Mar]gather 奶牛大集会
1827: [Usaco2010 Mar]gather 奶牛大集会 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1129 Solved: 525 [ ...
- BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会 树形DP
[Usaco2010 Mar]gather 奶牛大集会 Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来举办这次集会.每个奶牛居住在 N(1 ...
- bzoj 3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛(二分)
3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 28 Solved ...
- bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声(单调栈)
1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 848 Solved: 594 [Sub ...
- bzoj 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(BFS)
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1293 Solved ...
- BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛【DP】
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Description 奶牛们在被划分成N ...
- BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1290 Solved ...
最新文章
- 爬取小说1--高并发
- 最强黑客库Blackbone使用教程
- 如何学习配置webpack(一)
- [云炬创业基础笔记]第六章商业模式测试7
- Git之如何解决Error:pathspec ‘/layout/radar_chart.xml‘ did not match any file(s) known to
- matlab短均线滞后项,均线理论的滞后性问题
- 转载 : JSP取得绝对路径
- 截流式合流制设计流量计算_截流式合流制截污管设计污水量的实测统计方法
- 页面缓存 OutputCache
- HTTP Get与Post的区别
- 时区时钟插件html,日期、时间选择控件 - datetimepicker
- 用单片机c语言输入8位输出,单片机C语言教程(二)
- Java冒泡排序详解
- 腾讯云轻量应用服务器云硬盘服务简单性能测试
- 网页如何开启Gzip压缩
- matlab受力分析,基于Matlab的多支座蒸压釜的受力分析和强度计算
- 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
- Java代码简洁-validation参数校验
- 海康威视摄像头web二次开发(angular)
- 终日乾乾,与时偕行——2022年度吴文俊人工智能最高成就奖:郑南宁院士