题目大意:

给出直线上N个点的位置和颜色(0或1),求最大的区间,使得区间内0的个数大于等于1的个数且0的个数减去1的个数为偶数。

解题过程:

1.先贴个lsdsjy大牛的线段树的做法:http://www.cnblogs.com/lsdsjy/p/4032614.html

2.这题一个非常巧妙的转换是:由于0的个数减去1的个数为偶数,那么区间内的点的个数只能是偶数,这样只要枚举左开右闭区间

(L,R], R和L位置的奇偶性相同。 所以只要分2次做,奇数位的和偶数位的单独拿出来。

下面仅讨论L,R都是偶数的情况。

用A[i]表示前i个数1有多少个,B[i]表示前i个数0有多少。

一个区间(L,R]符合要求必须满足A[R]-A[L]>=B[R]-B[L]  ->  A[R]-B[R] >= A[L]-B[L]

令K[i]=A[i]-B[i] ->  K[R] >= K[L]

方法一(单调队列):

如果一个有K[i],K[j]满足i<j && K[i]<=K[j] 那么选取区间的L端点的时候肯定是选i比较优。

所以可以维护一个单调队列,只有当新的K[i]<K[tail] 的时候 才加入队列。

然后枚举右端点R,只要在单调队列中二分找到一个最小的i,满足K[i]<=K[R],那么以R为右端点的最优区间就是(i,R].

方法二(动态规划):

这种方法不必分奇偶讨论,非常巧妙.

F[i]表示满足K[t]=i 的最小的t. g[i]=min{f[i],f[i-2],f[i-4]....}. 因为每次相差的都是二,可以保证0,1的个数奇偶性相同。

枚举右端点R,如果g[K[R]]<R,那么以R为右端点的最优区间就是( g[K[R]] , R] .

Fair Photography的更多相关文章

  1. BZOJ3540: [Usaco2014 Open]Fair Photography

    3540: [Usaco2014 Open]Fair Photography Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 72  Solved: 29 ...

  2. bzoj 3540: [Usaco2014 Open]Fair Photography

    3540: [Usaco2014 Open]Fair Photography Description FJ's N cows (2 <= N <= 100,000) are standin ...

  3. [BZOJ3535][Usaco2014 Open]Fair Photography

    [BZOJ3535][Usaco2014 Open]Fair Photography 试题描述 FJ's N cows (1 <= N <= 100,000) are standing a ...

  4. P3105 [USACO14OPEN]公平的摄影Fair Photography

    题意翻译 在数轴上有 NNN 头牛,第 iii 头牛位于 xi(0≤xi≤109)x_i\:(0\le x_i\le 10^9)xi​(0≤xi​≤109) .没有两头牛位于同一位置. 有两种牛:白牛 ...

  5. [Usaco2014 Open]Gold Fair Photography(hash)

    最近做了usaco2014 open的金组,果然美帝的题还是没有太简单啊QAQ,被每年的月赛骗了QAQ 不过话说官方题解真心棒(虽然英文的啃得好艰难,我英语渣你们别鄙视我= =),标程超级优美QAQ ...

  6. 解题:USACO14OPEN Fair Photography

    题面 有点像JRY的那道序列题,大概是统计题的经典套路? 先说无修改的:将白奶牛记为$-1$,花奶牛记为$1$,然后做前缀和统计某个前缀和$sum$第一次出现的位置,之后再出现就统计答案.对于修改(将 ...

  7. USACO 2014 US Open Fair Photography /// 技巧

    题目大意: 给定n头奶牛 给定n头奶头所在位置和品种 品种只有G H两种 求一段区间的长度 要求区间内包含的品种满足各品种的数量相同 将一个品种的值设为1 另一个设为-1 假设 i<j 而 1~ ...

  8. BZOJ-USACO被虐记

    bzoj上的usaco题目还是很好的(我被虐的很惨. 有必要总结整理一下. 1592: [Usaco2008 Feb]Making the Grade 路面修整 一开始没有想到离散化.然后离散化之后就 ...

  9. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

随机推荐

  1. 【Todo】LR-逻辑回归

    因为逻辑回归对于计算广告学非常重要.也是我们平时广告推荐.CTR预估最常用到的算法.所以单独开一篇文章讨论. 参考这篇文章:http://www.cnblogs.com/sparkwen/p/3441 ...

  2. 修改jsp文件tomcat发布失败(Could not delete May be locked by another process)

    突然项目修改jsp文件后,tomcat不能发布, Publishing failed with multiple errors   Could not delete D:/Tomcat 6.0/web ...

  3. 转:Singleton模式

    C++完美实现Singleton模式  转自:http://www.cppblog.com/dyj057/archive/2005/09/20/346.html boost库的Singleton的实现 ...

  4. Integer封装与拆箱

    Integer封装与拆箱 简介: 目录: Integer自动封装的陷阱 Integer自动拆箱机制 Integer自动封装的陷阱 public class IntegerDemo { public s ...

  5. ios中javascript直接调用oc代码而非通过改变url回调方式(转)

    之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码. 一.以前使用js调用object-c的方法 关于如何使用javascript调用ob ...

  6. easyui 删除数据表格

    1 最直接的方法: 返回的数据格式               Object rows:Array[3] 0:Object 1:Object 2:Object length:3 __proto__:A ...

  7. python语法笔记(四)

    1.对象的属性     python一切皆对象,每个对象都可能有多个属性.python的属性有一套统一的管理方案. 属性的__dict__系统     对象的属性可能来自于其类定义,叫做类属性:还可能 ...

  8. 各大互联网公司2014前端笔试面试题–JavaScript篇

    很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...

  9. 《javascript高级程序设计》第三章 Language Basics

    3.1 语法syntax 3.1.1 区分大小写case-sensitivity 3.1.2 标识符identifiers 3.1.3 注释comments 3.1.4 严格模式strict mode ...

  10. GIS软件列表

    3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN Mapserv ...