4094: [Usaco2013 Dec]Optimal Milking

Time Limit: 10 Sec  Memory Limit: 128 MB
[Submit][Status][Discuss]

Description

Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号为1 ... N,并排成一行。第i台挤奶机每天能够挤M(i
)单位的牛奶 (1 < =M(i) <=100,000)。由于机器间距离太近,使得两台相邻的机器不能在同一天使用。Farmer Jo
hn可以自由选择不同的机器集合在不同的日子进行挤奶。在D(1 < = D < = 50,000)天中,每天Farmer John对某一
台挤奶机进行维护,改变该挤奶机的产量。Farmer John希望设计一个挤奶方案,使得挤奶机能够在D天后获取最多
的牛奶。

Input

第1行:两个整数N和D
第2..N+1行:每台挤奶机的M(i)
第N+2..N+D+1行:两个整数i和m,表示每天对机器i进行维护,机器i的产量为m。

Output

最大产量

Sample Input

5 3
1
2
3
4
5
5 2
2 7
1 10

Sample Output

32
【样例解释】
第1天,最优方案为2+4=6 ( 方案1+3+2一样)
第2天,最优方案为7+4=11
第3天,最优方案为10+3+2=15

HINT

ta写成tn
多么痛的领悟
#include <bits/stdc++.h>
using namespace std;
const int N = 40000 + 5; long long ans;
int tl[N<<2],tr[N<<2],ta[N<<2],tn[N<<2],n,d,a[N];
void update( int k ){tl[k] = max( tl[k<<1] + tn[k<<1|1], max( ta[k<<1] + tn[k<<1|1], tl[k<<1] + tl[k<<1|1] ) );tr[k] = max( tn[k<<1] + tr[k<<1|1], max( tn[k<<1] + ta[k<<1|1], tr[k<<1] + tr[k<<1|1] ) );tn[k] = max( tn[k<<1] + tn[k<<1|1], max( tn[k<<1] + tl[k<<1|1], tr[k<<1] + tn[k<<1|1] ) );ta[k] = max( ta[k<<1] + tr[k<<1|1], max( tl[k<<1] + tr[k<<1|1], tl[k<<1] + ta[k<<1|1] ) );
}
void build( int k, int l, int r ){if( l == r ){ta[k] = a[l]; return;}int mid = l + r >> 1;build( k<<1, l, mid );build( k<<1|1, mid+1, r );update( k );
}
void change( int k, int l, int r, int x, int val ){if( l == r ){ ta[k] = val; return; }int mid = l + r >> 1;if( x <= mid ) change( k<<1, l, mid, x, val );if( x >  mid ) change( k<<1|1, mid+1, r, x, val );update( k );
}
int main(){scanf( "%d%d", &n, &d );for( int i = 1; i <= n; i++ ) scanf( "%d", &a[i] );build( 1, 1, n );while( d-- ){int i,m;scanf( "%d%d", &i, &m );change( 1, 1, n, i, m );ans += max( max( tl[1], tr[1] ), max( tn[1], ta[1] ) );}printf( "%lld\n", ans );return 0;
}

[bzoj4094][Usaco2013 Dec]Optimal Milking 线段树相关推荐

  1. 【BZOJ4094】[Usaco2013 Dec]Optimal Milking 线段树

    [BZOJ4094][Usaco2013 Dec]Optimal Milking Description Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号 ...

  2. bzoj 4094: [Usaco2013 Dec]Optimal Milking 线段树

    →题目链接← [想说的话] 再次手误... [题解] 对于每个区间维护四种最大值 1.选左端点不选右端点 2.选右端点不选左端点 3.两个端点都选 4.两个端点都不选 然后用线段树搞一搞就好了 注意下 ...

  3. bzoj4094[Usaco2013 Dec]Optimal Milking最优挤奶

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4094 题目大意: 约翰有N 台挤奶机器,这些机器排成了一条直线,其中第i台机器工作效率是A ...

  4. bzoj 4094: [Usaco2013 Dec]Optimal Milking

    4094: [Usaco2013 Dec]Optimal Milking Description Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号为1 . ...

  5. BZOJ 4094 USACO 2013 Dec. Optimal Milking

    线段树 每个节点保存4个值,both表示左右端点都取,neither表示左右端点都不取,left表示只取左端点,right表示只取右端点. 维护的特殊姿势: $cur$的$both=max(ls.l+ ...

  6. 【BZOJ4094】 【Usaco2013 Dec】Optimal Milking(权限题)

    Description Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号为1 ... N,并排成一行.第i台挤奶机每天能够挤M(i)单位的牛奶 (1 &l ...

  7. 【BZOJ3387】[Usaco2004 Dec]Fence Obstacle Course栅栏行动 线段树

    [BZOJ3387][Usaco2004 Dec]Fence Obstacle Course栅栏行动 Description 约翰建造了N(1≤N≤50000)个栅栏来与牛同乐.第i个栅栏的z坐标为[ ...

  8. 1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚 DP + 线段树 / SPFA

    1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 975  Solved ...

  9. 【BZOJ】1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚(dp/线段树)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1672 dp很好想,但是是n^2的..但是可以水过..(5s啊..) 按左端点排序后 f[i]表示取第 ...

最新文章

  1. 谷歌15个人工智能开源免费项目!开发者:懂了
  2. loadrunner11使用常见问题(不断整理中)
  3. 英国政府发人工智能深度报告,力图保持领先地位
  4. java循环停止_什么时候java无限循环停止?
  5. 【渝粤教育】21秋期末考试电算化会计10169k2
  6. 7-27 冒泡法排序 (20 分)
  7. Exchange2003反病毒
  8. 给MTL库添加求行列式值
  9. python处理数据快吗_python (七、Numpy高效数据处理)
  10. antv图表 根据屏幕大小响应式_做可交互的统计图表,这套图形语法不容错过
  11. 厦门大学考研:必知20大时间节点
  12. CodeForces - 3B Lorry【贪心】
  13. android模拟器超级root,android模拟器root,avd root,emulator root教程
  14. 广义相对论与狭义相对论的区别
  15. Anaconda 安装与 使用
  16. iOS中app启动闪退的原因
  17. 2.15 Spring Framework 5.x 之ApplicationContext附加功能
  18. 河马书来了!线上实验领域的“圣经”火热预售中
  19. VB.net实现通讯录
  20. 爬取去哪儿网酒店信息

热门文章

  1. 整合一些我认知的几种编程语言
  2. 西门子杯企业命题”钞包分拣装箱系统”演示视频
  3. 怎么利用计算机为学生成绩进行排名,使用excel为学生成绩排序的方法和步骤
  4. python dis模块
  5. python DataScience数据分析笔记day06
  6. UOS系统中安装x11vnc远程桌面
  7. 一文搞懂 Cocos Creator 3.x 坐标转换!建议收藏
  8. CSS line-height属性
  9. swing(二十一)
  10. python实现视频压缩