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)

相关推荐

  • dbms_xplan.display_cursor包与高级所有统计上次查看绑定区别是什么

    技术dbms_xplan.display_cursor包与ADVANCED ALLSTATS LAST PEEKED_BINDS区别是什么dbms_xplan.display_cursor包与ADVANCED ALLST

    攻略 2021年12月24日
  • 怎么在React条件渲染中使用三元表达式

    技术怎么在React条件渲染中使用三元表达式本篇内容介绍了“怎么在React条件渲染中使用三元表达式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月10日
  • 2021218 LeetCode刷题 旋转字符串,难度 :单词规律)

    技术2021218 LeetCode刷题 旋转字符串,难度 :单词规律) 2021218 LeetCode刷题 旋转字符串(难度 :单词规律)给定两个字符串, A和B。
    A的旋转操作就是将A 最左边

    礼包 2021年12月21日
  • spark structstream 性能(sparkudf使用缓存数据吗)

    技术Spark UDF变长参数的方法是什么这篇文章主要介绍“Spark UDF变长参数的方法是什么”,在日常操作中,相信很多人在Spark UDF变长参数的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年12月14日
  • VS如何部署代码同步信息

    技术VS如何部署代码同步信息这篇文章主要为大家展示了“VS如何部署代码同步信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VS如何部署代码同步信息”这篇文章吧。使分布式系统

    攻略 2021年12月1日
  • SQL Server中SQL语句的执行效率查看方法

    技术SQL Server中SQL语句的执行效率查看方法 SQL Server中SQL语句的执行效率查看方法之前在练习SQL查询的时候,对于同一个需求可以通过不同的sql语句得到想要的数据。所以想知道不同

    礼包 2021年11月23日