Description

FJ 的N 头奶牛(2 <=N <=100, 000),分别站在一维篱笆上的许多地方。第i头奶牛站在坐标xi(0 <=xi <= 1, 000, 000, 000),是纯白色奶牛或者花斑奶牛。没有两头奶牛占据同样的位置,并且有至少一头白色奶牛。

为了郡交易会,FJ 想要给连续一段篱笆上的奶牛拍照。但是,为了对每种牛公平,他想要确保照片里白色奶牛和花斑奶牛的数量一样。一张照片的尺寸为照片里奶牛的最大坐标与最小坐标之差。FJ 想要知道所有公平的照片中,最大的尺寸有多大。

为了让他有更大的机会得到大一点的照片,FJ 拿来了一桶颜料,可以将任意数量的白色奶牛画成花斑奶牛。请帮助FJ 找到他能使用颜料的情况下所拍的公平照片的最大尺寸(当然,如果他认为保持原样更好的话,那么他不会使用颜料)。

Input
第一行:整数N。
第2 到N + 1 行:第i + 1 行包含xi 和字符‘W’ (一头白色奶牛)或字符‘S’ (一头花斑奶牛)。

Output
输出单独一行一个整数,在FJ 泼颜料之后他能拍到的公平照片的最大尺寸。

Sample Input
5
8 W
11 S
3 W
10 W
5 S

Sample Output

7

【样例解释】
FJ 将从坐标3 到坐标10 的奶牛拍成一张照片。这个范围内有4 头奶牛——3 头白色的和一头花斑的——所以他需要把其中任意一头白色奶牛画上花斑。

Data Constraint
对于10% 的数据,是题目的馈赠。
对于20% 的数据,N <=100。
对于30% 的数据,N <=1000。
对于40% 的数据,N <=20000。
对于所有数据,2 <=N <=100, 000,保证FJ 能拍到公平的照片。
.
.
.
.
.
.
.

分析

先对输入按照P值排序,然后令W=-1 S=1,开一个F数组记录前i头牛中,白色牛减去斑点牛的数量,最后统计答案。
.
.
.
.
.
.
.
.

程序:
uses math;
var
n,ans,m,i:longint;
ch:char;
b,a,f:array[0..1000001]of longint;
procedure px(l,r:longint);
var
w,i,j,mid:longint;
beginif l>=r then exit;i:=l;j:=r;mid:=a[(i+j) div 2];repeatwhile a[i]<mid do inc(i);while a[j]>mid do dec(j);if i<=j thenbeginw:=a[i];a[i]:=a[j];a[j]:=w;w:=b[i];b[i]:=b[j];b[j]:=w;inc(i);dec(j);end;until i>j;px(l,j);px(i,r);
end;beginassign(input,'pairphoto.in');reset(input);assign(output,'pairphoto.out');rewrite(output);readln(n);for i:=1 to n dobeginread(a[i]);read(ch);readln(ch);if ch='W' then b[i]:=-1 else b[i]:=1;end;px(1,n);fillchar(f,sizeof(f),127);m:=n;f[m]:=a[1];for i:=2 to n dobeginm:=m+b[i-1];f[m]:=min(f[m],a[i]);end;for i:=2*n downto 0 dof[i]:=min(f[i],f[i+2]);m:=n;for i:=1 to n dobeginm:=m+b[i];ans:=max(ans,a[i]-f[m]);end;write(ans);close(input);close(output);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9499985.html

【Usaco2014Open银组】照相(pairphoto)相关推荐

  1. 【jzoj3734,Usaco2014Open银组】双导航(gpsdual)

    前言 这是今天C组的题,闲得无聊做了一会,结果就对了233.这算是学了SPFA之后的第一次实战了.反正其他C组题我也不想做了.好了现在bi~~(系统自动屏蔽)也在做这道题. 还有这道题的名字叫 正题 ...

  2. USACO 1月 2021-2022 January Contest Silver银组 题解

    你好啊我又又又来了 要准备usaco的铁铁们可以参考这个文章哦! 想刷好USACO--看这篇文章就够了_GeekAlice的博客-CSDN博客我最近是发现了一个很好用的网站https://blog.c ...

  3. USACO 12月 2022-2023 December Contest Silver银组 题解

    版权声明:本文为CSDN博主「GeekAlice」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 目录 Problem 1. Barn Tree Problem 2 ...

  4. USACO 12月 2020-2021 December Contest Silver银组 题解

    Problem 1. Cowntagion Farmer John and his fellow farmers have been working nonstop to control the sp ...

  5. 要立刷金组flag了T_T

    刷了那么多银组,发现自己好多不会啊... 果然太弱 在这感谢hzwer神犇的blog.. 大部分题解都从黄学长这里来orz. orz.... 果然我太水

  6. pku3661 Running

    USACO月赛的银组题,dp性质比较明显,实现时有细节要注意 用f[i,j]表示第i分钟跑,疲劳度为j时的最远距离 g[i,j]表示第i分钟休息,疲劳度为j时的最远距离 有f[i,j]=max{f[i ...

  7. USACO 1月 2021-2022 January Contest Bronze 题解

    目录 你好啊我又又又来了 要准备usaco的铁铁们可以参考这个文章哦!USACO题库 - 比Usaco Training更好用的网站_GeekAlice的博客-CSDN博客https://blog.c ...

  8. 如何准备好2023年的USACO?

    目录 1. 注册 2. 刷题 3. 备考 4. 考试流程/介绍 5. 铜组例题 关于usaco usaco是美国中学生的官方竞赛网站.是美国著名在线题库,专门为信息学竞赛选手准备.推荐直接阅读英语原文 ...

  9. 信息学奥林匹克竞赛python_USACO美国信息学奥林匹克竞赛大师课火热招募中!提升TOP20名校申请竞争力!...

    原标题:USACO美国信息学奥林匹克竞赛大师课火热招募中!提升TOP20名校申请竞争力! USACO USACO(美国信息学奥林匹克竞赛)初次举办于1992年,其官网是美国一个著名在线题库,更是美国中 ...

最新文章

  1. Access数据库审计工具mdbtools
  2. java 如何循环执行一个对象_一个Java对象到底有多大?
  3. qpsk 锁相环_本科毕业设计课题—QPSK相干解调的MATLAB仿真(4)
  4. 前端学习(3311):redux的state hook对象
  5. 原 剑指offer(刷题11-20)--c++,Python版本
  6. 力扣59-螺旋矩阵(C++)
  7. javascript的语法结构
  8. 【专题报道】Google I/O开发者大会
  9. C++ std::move/std::forward/完美转发
  10. 在计算机操作系统中操作系统是处于应用软件,计算机操作系统考试复习题
  11. 荣耀路由2 虚拟服务器,荣耀路由器2恢复出厂设置的两种方法
  12. 【Python_NLP】gensim与DTM
  13. 笔记:《高效能人士的七个习惯》第十一章 再论由内而外造就自己
  14. 人物连连看 python课程设计 pygame学习
  15. 【自适应盲均衡11】基于Volterra级数的双线性CMA盲均衡算法与MATLAB仿真(采用16QAM信号模型)
  16. 胡子决定编程语言运势
  17. 1142 Maximal Clique
  18. oracle 如何查看监听,[转载]查看oracle监听器的状态及打开监听器服务
  19. 基于SSM实现汽车配件商城系统
  20. Mac 截取一个视频中部分片段(命令行方法)

热门文章

  1. 五、“或许平凡与伟大,才是我们最美的样子。”
  2. 云炬Android开发教程 Android studio的详细安装步骤
  3. 台湾大学林轩田机器学习技法课程学习笔记15 -- Matrix Factorization
  4. 台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization
  5. Go进阶(5): 数组与切片+多维数组+map切片
  6. 比尔盖茨的十句话,让你改变一生
  7. Feign,Apache Http Client,OkHttp的区别
  8. docker部署下的nginx负载均衡时,无法获取真实ip的问题
  9. jsp EL表达式比较两个字符串
  10. 在geth客户端调用已部署的智能合约