建立线段树,维护区间左端点选/不选,右端点选/不选且不含有相邻两个同时选的最大值,合并时注意细节即可

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define mid (l+r>>1)
 4 #define L (k<<1)
 5 #define R (L+1)
 6 int n,m,x,y;
 7 long long ans;
 8 struct ji{
 9     int a[4];
10 }f[200005];
11 ji up(ji x,ji y){
12     ji z;
13     for(int i=0;i<4;i++)z.a[i]=0;
14     for(int i=0;i<4;i++)
15         for(int j=0;j<4;j++)
16             if ((i%2)||(j/2))
17                 z.a[i/2*2+j%2]=max(z.a[i/2*2+j%2],x.a[i]+y.a[j]);
18     return z;
19 }
20 void update(int k,int l,int r,int x,int y){
21     if (l==r){
22         f[k].a[0]=y;
23         return;
24     }
25     if (x<=mid)update(L,l,mid,x,y);
26     else update(R,mid+1,r,x,y);
27     f[k]=up(f[L],f[R]);
28 }
29 int main(){
30     scanf("%d%d",&n,&m);
31     for(int i=1;i<=n;i++){
32         scanf("%d",&x);
33         update(1,1,n,i,x);
34     }
35     for(int i=1;i<=m;i++){
36         scanf("%d%d",&x,&y);
37         update(1,1,n,x,y);
38         ans+=f[1].a[0];
39     }
40     printf("%lld",ans);
41 } 

View Code

转载于:https://www.cnblogs.com/PYWBKTDA/p/11265720.html

[bzoj4094]Optimal Milking相关推荐

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

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

  2. [bzoj4094][Usaco2013 Dec]Optimal Milking 线段树

    4094: [Usaco2013 Dec]Optimal Milking Time Limit: 10 Sec  Memory Limit: 128 MB [Submit][Status][Discu ...

  3. POJ 2112 Optimal Milking(二分+最大流)

    POJ 2112 Optimal Milking 题目链接 题意:给定一些机器和奶牛,在给定距离矩阵,(不在对角线上为0的值代表不可达),每一个机器能容纳m个奶牛.问全部奶牛都能挤上奶,那么走的距离最 ...

  4. bzoj 4094: [Usaco2013 Dec]Optimal Milking

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

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

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

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

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

  7. POJ 2112 Optimal Milking(二分图匹配)

    [题目链接] http://poj.org/problem?id=2112 [题目大意] 给出一些挤奶器,每台只能供给M头牛用,牛和挤奶器之间有一定的距离 现在要让每头牛都挤奶,同时最小化牛到挤奶器的 ...

  8. poj 2112 Optimal Milking(二分+Floyd+最大流)

    题意:K个产奶机,C头奶牛,每个产奶机最多可供M头奶牛使用:并告诉了产奶机.奶牛之间的两两距离Dij(0<=i,j<K+C). 问题:如何安排使得在任何一头奶牛都有自己产奶机的条件下,奶牛 ...

  9. POJ2112 Optimal Milking

    这题的大意是有C只牛,K台机器,C只牛与K台机器的距离是已知的,现在还知道,K台机器的最多能容下M只牛,现在问说如何安排这些牛到这些机器上,使得符合上述的限制,同时要使牛与机器的最远距离最小.具体的做 ...

最新文章

  1. UIWebView如何加载本地图片
  2. Motan的SPI机制实现分析
  3. 巧用css text-indent减小中文标点符号的占位大小
  4. VRP平台总体介绍及基础配置
  5. 【HDU - 1013 】Digital Roots (大数模拟)
  6. 阿里巴巴飞天大数据架构体系与Hadoop生态系统
  7. 代码块作用域内外的静态变量
  8. 【转】Leopard 安装教程
  9. CDN技术详解及实现原理
  10. 【程序源代码】投票小程序
  11. 十年优秀网络玄幻小说大点评(推荐)
  12. 安卓初学者笔记(四):用白话讲明白Activity是什么
  13. 程序员讨厌没有价值的任务
  14. Mysql的数据类型bit 导出数据展示为SOH
  15. 如何去除Discuz标题栏中的Powered by Discuz!
  16. 严重性代码说明项目文件行 禁止显示状态错误 C4996 scanf
  17. badger 一个高性能的LSM K/V store
  18. 年底了,PPT怎么做?用数据给老板讲故事,在职场上无往不利
  19. 大数据早报:时装设计也用上了人工智能,亚马逊研究出新算法;上海地铁趣味消费数据发布(9.12)
  20. 使用scrapy爬取斗鱼直播间信息

热门文章

  1. Linux系统ssd硬盘擦除,如何实现安全擦除 _固态硬盘小Z聊固态-中关村在线
  2. 微软官方提供的免费正版的虚拟机
  3. 关于FFmpeg对手机里拍摄的视频进行转码时角度问题的处理
  4. 专升本第一讲(计算机的“前世今生”)
  5. MMC 开发浅谈 - 准备篇(学习资料与配置环境)
  6. 非企用户该如何推广?什么事非企户呢?
  7. 续2:股票交易一点感悟和程序化交易实战
  8. 蔚然的风,你一阵吹过
  9. 心과 情의 調和 (韓長庚 易學原理總論)
  10. linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍