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)

相关推荐

  • JVM for Linux JIT诊断技术的简介是什么

    技术JVM for Linux JIT诊断技术的简介是什么本篇文章为大家展示了JVM for Linux JIT诊断技术的简介是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    攻略 2021年10月23日
  • python中tstr函数的用法(python中hist函数的使用方法)

    技术Python+getopt怎么实现命令行带参数Python+getopt怎么实现命令行带参数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python+

    攻略 2021年12月18日
  • 怎么用C语言给喜欢的人写烟花

    技术怎么用C语言给喜欢的人写烟花本篇内容主要讲解“怎么用C语言给喜欢的人写烟花”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言给喜欢的人写烟花”吧!一、结构体首先当

    攻略 2021年11月19日
  • MySQL数据库索引的弊端及怎么使用

    技术MySQL数据库索引的弊端及怎么使用本篇内容介绍了“MySQL数据库索引的弊端及怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月29日
  • jquery有哪些读取节点的方法

    技术jquery有哪些读取节点的方法本篇内容介绍了“jquery有哪些读取节点的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月15日
  • 抖音播放量突然被限流降权是什么原因

    技术抖音播放量突然被限流降权是什么原因 抖音播放量突然被限流降权是什么原因抖音播放量突然被限流降权是什么原因本来发布的视频播放量都挺稳定的,但突然有一天发布的视频播放量急降,这个情况相信不少用户也遇到过

    礼包 2021年11月27日