CF1394C Boboniu and String

技术CF1394C Boboniu and String CF1394C Boboniu and String题解
好妙的一道题。
将每个串都抽象成二维平面上的一个点 \((x_i,y_i)\),\(x

CF1394C Boboniu和线

题解

好妙的一道题。

将每个串都抽象成二维平面上的一个点\((x_i,y_i)\),\(x_i\)为其中普通的个数,\(y_i\)为B的个数。

二分答案\(中\),那么对于一个点\((x_i,y_i)\),能通过不超过\(中间\)次操作到达它的点的范围是一个凸六边形,所以可以用不等式描述这个范围:

\[\begin{aligned}

x_i-mid\le x\le x_i mid\\

y_i-mid\le x\le y_i mid\\

x _ I-y _ I-中间\ le x-y \ le x _ I-y _ I中间\

\ end {对齐}

\]对所有的\(i\),将以上范围求交即可。

有些细节。

代码

#包含cstdio

#包含cstring

#包含cctype

#包含算法

#包含实用程序

使用命名空间标准;

#定义For(Ti,Ta,Tb)For(int Ti=(Ta);ti=(Tb);Ti)

#为(int Ti=(Ta)定义Dec(Ti、Ta、Tb);ti=(Tb);- Ti)

templatetypename T

无效读取(T _ x){ 0

_ x=0;int _ f=1;

char _ ch=getchar();

while(!是数字(_ ch))_ f=(_ ch=='-'-1: _ f),_ ch=getchar();

而(是数字(_ ch))_ x=_ x * 10(_ch^48),_ch=getchar();

_ x *=_ f;

}

templatetypename T,typename.一个参数名

void Read(T _x,Args.其他){ 0

read(_ x);阅读(其他.);

}

typedef长ll长

typedef pairint,int Point

const int N=3e5 5,Len=5e5 5

int n;

点要点

点检查(中间)(

int xmin=-Len,xmax=Len,ymin=-Len,ymax=Len,xymin=-Len,xymax=Len

对于(I,1,n){ 0

xmin=max(xmin,poi[i]).第一次中);

xmax=min(xmax,poi[i]).第一个mid);

ymin=max(ymin,poi[i]).秒中);

ymax=min(ymax,poi[i]).第二个mid);

xymin=max(xymin,poi[i]).第一点。秒中);

xymax=min(xymax,poi[i]).第一点。第二个mid);

}

xmin=max(0,xmin),ymin=max(0,ymin);

if(xminxmax | | yminymax | | xyminxymax)返回{0,{0,0 } };

int xymn=xmin-ymax,xymx=xmax-ymin;

if(xymnxymax||xymxxymin)返回{0,{0,0 } };

xymax=min(xymax,xymx);

xymin=max(xymin,xymn);

int pxmax=min(ymax xymax,xmax),pymax=min(pxmax-xymin,ymax);

返回{1,{pxmax,pymax } }

}

int main(){ 0

read(n);

充电温度[Len];

对于(I,1,n){ 0

scanf("% s ",temp 1);

int len=strlen(temp 1),CNT=0;

对于(j,1,len){ 0

cnt=温度[j]==' N ';

}

poi[i]={cnt,len-CNT };

}

int l=0,r=1e6

点美国国家标准(American National Standards的缩写)

while(lr){ 0

int mid=(l r)1;

如果(检查(中间))。首先)r=中间,ans=检查(中间)。第二;

否则l=mid 1;

}

printf('%d\n ',l);

对于(I,1,ans。首先)放char(' N ');

对于(I,1,ans。第二)放char(' B ');

返回0;

}

作者:阿兰_赵

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52105.html

(0)

相关推荐

  • 如何使用ML.NET实现基于RFM模型的客户价值分析

    技术如何使用ML.NET实现基于RFM模型的客户价值分析本篇文章为大家展示了如何使用ML.NET实现基于RFM模型的客户价值分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。RF

    攻略 2021年11月10日
  • 向日葵的特点是什么,向日葵最主要的特点是什么?谢谢

    技术向日葵的特点是什么,向日葵最主要的特点是什么?谢谢向日葵最主要的特点:一向日葵的特点是什么、外形特点向日葵的茎直立生长,植株高度在1-3. 5m之间。它的叶片为广卵形,正反两面都长有绒毛,并且比较粗糙,叶缘处还长有锯

    生活 2021年10月30日
  • php连接数据库出现乱码(php读取数据库乱码是什么意思)

    技术如何解决php与数据库交互式乱码问题这篇文章将为大家详细讲解有关如何解决php与数据库交互式乱码问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php与数据库交互式乱码的解决办法

    攻略 2021年12月15日
  • 在facebook上如何找客户

    技术在facebook上如何找客户这篇文章给大家介绍在facebook上如何找客户,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。做外贸肯定离不开facebook,因为上面存在着大量的精准用户,但很多

    攻略 2021年11月4日
  • Oracle索引范围扫描操作流程是什么

    技术Oracle索引范围扫描操作流程是什么本篇内容主要讲解“Oracle索引范围扫描操作流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle索引范围扫描操作流

    攻略 2021年11月4日
  • 黑色上衣配什么颜色的裤子好看,黑色的上衣搭配什么颜色的裤子

    技术黑色上衣配什么颜色的裤子好看,黑色的上衣搭配什么颜色的裤子黑色是百搭色,陪什么裤子都好看。关键是什么场合黑色上衣配什么颜色的裤子好看、什么款式。如果是正装或准正装,在不是特别正式的场合,黑色、灰色、白色、卡其色、深蓝

    生活 2021年10月21日