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)

相关推荐

  • 工资核算方法,HR计算月工资方式怎么样才正确

    技术工资核算方法,HR计算月工资方式怎么样才正确工资计算工资核算方法,要根据员工的工资结构来算。
    最基本的工资结构为无责底薪+绩效奖金。
    如果是销售岗位,会变为无责底薪+绩效奖金+业绩提成。
    有的公司福利好点,还会改为无

    生活 2021年10月22日
  • 形容颜色的四字词语,表示颜色的四字成语有哪些

    技术形容颜色的四字词语,表示颜色的四字成语有哪些花花绿绿形容颜色的四字词语、万紫千红、五光十色、五彩缤纷、五颜六色一、花花绿绿白话释义:状态词。形容颜色鲜艳多彩
    朝代:金
    作者:元好问
    出处:《又解嘲二首》:“凭君细数东

    生活 2021年10月26日
  • 胆战心惊什么意思,胆战心惊中的战字是什么意思

    技术胆战心惊什么意思,胆战心惊中的战字是什么意思宠辱不惊 宠:宠爱。受宠受辱都不在呼。指不因个人得失而动心。宠辱若惊 无论受宠胆战心惊什么意思、受辱,心里都要振动。形容人非常计较得失。怵目惊心 看见某种严重情况,心里感到

    生活 2021年10月19日
  • 初探卡特兰数及有关问题

    技术初探卡特兰数及有关问题 初探卡特兰数及有关问题星期日,哥参加了上大学以来的第一次计算导论与程序设计的上机考试,可是最后一道题没AC。
    这道题给了卡特兰数的一种通项公式,让你求卡特兰数的第n项。
    从考

    礼包 2021年11月26日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日
  • Win10系统下如何将VSCode配置到右键菜单中

    技术Win10系统下如何将VSCode配置到右键菜单中这篇文章将为大家详细讲解有关Win10系统下如何将VSCode配置到右键菜单中,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。教程新

    攻略 2021年11月12日