首页 > 其他分享 >10.30 CF1685 题解

10.30 CF1685 题解

时间:2023-11-01 22:22:18浏览次数:35  
标签:AB BA 10.30 题解 括号 CF1685 长度 题意

10.30 CF1685

A.Circular Local MiniMax

题意

给你 \(n\) 个整数 $ a_1, a_2, \ldots, a_n $ 。 问有没有可能将它们排列在一个圆上,使每个数字严格地大于其相邻的两个数字或严格地小于其相邻的两个数字?

题解

直接排序然后按照 \(1,4,2,5,3,6\) 的规律放,check 一下合不合法就行了。

B.Linguistics

题意

给你一个 AB 串 \(s\),问你是否可以用 \(a\) 个 A,\(b\) 个 B,\(c\) 个 AB,\(d\) 个 BA 拼接成 s。

题解

首先我们把连续的 \(AB\) 交替出现的串分离出来。

例如样例 BBABABABABBBABABABABABABAABABA

我们分离成 B[BABABABAB]B[BABABABABABABA][ABABA]

我们发现分离之后单个的 A/B 只能用单个的填,我们就只用考虑连续交替串。

我们把连续交替串按照长度奇偶分为两类:

  • 长度为奇数,开头结尾重复了一个一样的,例如 [ABABA] 我们填它的方法是用 1 个开头结尾出现的单个字符 A 和 \(\frac {len-1} 2\) 个 AB/BA

  • 长度为偶数,例如 [BABABABABABABA],就有两种情况:

    • 1.用 \(\frac {len} 2\) 个 BA 填充。

    • 2.用 \(\frac{len}2 - 1\) 个 AB/BA 填充,用 1 个 A 和 1 个 B 填充。

因为 1 个 A 和 1 个 B 可以拼成一个 AB/BA ,所以我们尽量要先消耗 AB/BA ,保留 A/B

长度为奇数的填充方法是唯一的,我们先贪心考虑长度为偶数的。

先按长度从小到大排序,能用方法 1 填的尽量用方法 1,这样消耗的单个 A/B 是最少的。

剩下的记录 AB/BA 都可以选的然后判断 \(ab + ba\) 和它大小相等不相等。

注意 1 个 A 和 1 个 B 可以拼成一个 AB/BA

C. Bring Balance

题意

给你一个括号序列,你可以翻转任意子串,问最少几次反转成合法括号序列。

翻转指 ABC->CBA

题解

看到括号序列就先想把折线图画出来。

样例 ())((()))(()

( 看做 \(+1\),) 看做 \(-1\),点坐标就是前缀和。

我们发现操作区间 \([l,r]\) 等同在折线图上把区间 \([l,r]\) 里面的图形按照 \(l\) 点和 \(r\) 点的中点进行中心对称。

我们发现找出全局最高的点 \(w\),将 \([1,w]\) 和 \([w + 1, n]\) 操作一定会使括号序列合法,所以最多操作两次。

接下来考虑只操作一个区间 \([l,r]\) 的情况。

首先在 \(y=0\) 以下的点必须被翻转到,我们找到左边第一个在 \(y=0\) 以下的点,\(l\) 一定在这个区间内找,\(r\) 同理。

在区间内找一个最高的点,这样 \(l,r\) 的中点尽可能高,本身在上面的点更不容易翻下去。

然后 check 一下合不合法。

注意特判不需要操作的情况。

标签:AB,BA,10.30,题解,括号,CF1685,长度,题意
From: https://www.cnblogs.com/hfjh/p/17804267.html

相关文章

  • 题解:[SCOI2008] 城堡
    应该是联赛前最后一次任性了,浪费的时间有点多,不过也揭露了我的基础知识和代码能力都很弱的问题,得加油啊。先stodwt。给定一棵基环树森林,起初有\(m\)个点已被选进\(S\)里,你需要再选\(k\)个点加入到\(S\)中,最小化其余点到\(S\)距离的最大值。这个问题直接做非常困难,......
  • Luogu P3862 数圈 题解
    看数据范围——题记传送门考虑记\(f_i\)表示有\(i\)个点的完全图的圈数\(g_i\)表示有\(i\)个点的完全图中一个点到另一个点不同路径的方案数\(ans\)表示答案容易知道递推式\[f_i=g_{i-1}\timesC_{i-1}^2+f_{i-1}\]\[g_i=g_{i-1}\times(i-2)+1\]\[ans=f_{n-......
  • Sasha and Array 题解
    SashaandArray题目大意给定一个长为\(n\)的序列\(a\),支持以下操作:\(\foralli\in[l,r],a_i\getsa_i+x\)。求\(\left(\sum\limits_{i=l}^{r}F_{a_i}\right)\bmod(10^9+7)\),其中\(F\)表示斐波那契数列,即有\(F_1=1,F_2=1,\foralli>2,F_i=F_{i-1}+F_{i-2}\)。......
  • 第四届辽宁省大学生程序设计竞赛部分题解
    2023辽宁省赛A:欢迎来到辽宁省赛题目描述小Z躺在床上看了看表,现在是13:30,2023辽宁省大学生程序设计竞赛的报名将会在14:00截止。然而不急,省赛的参赛队伍还没有向他提交名单。小Z知道,只要3分钟他就可以完成报名,完成汇款。现在他想知道,队伍要在多少分钟内......
  • [ABC326D] ABC Puzzle 题解
    题意:给定整数\(N\),字符串\(R,C\),构造满足以下条件的\(N\timesN\)矩阵:1.每一行和每一列中\(A,B,C\)各有且仅有一个。2.第\(i\)行的第一个字母等于字符串\(R\)的第\(i\)个字符。3.第\(i\)列的第一个字母等于字符串\(C\)的第\(i\)个字符。看数据范围考虑应该......
  • P4067 [SDOI2016] 储能表 题解
    [SDOI2016]储能表-洛谷题目详情-[SDOI2016]储能表-BZOJbyHydroOJ一道很好的数位dp题不过这题有一个比较有意思的性质:当\(n,m\)为\(2^k\)的形式时,最终得到的数组对每一行排序后为\(0\simm-1\)的排列,如果有的话说不定可以作为一个部分分?遇到二进制运......
  • 11月3号晚上测试题解
    3954ProblemA变量交换输出#include<stdio.h>intmain(){inta,b,c,x;scanf("%d%d%d",&a,&b,&c);//假设a,b,c分别为1,2,3;选择一个中间值进行数值替换x=a;//把a赋值给x,此时x就等于a的值为1a=c;//把c赋值给a,此时a就等于c的值为3c=b;//把b赋......
  • CF1874F Jellyfish and OEIS 题解
    题目链接不明白出题人的脑回路是不是被宇宙射线改变过/jy。题目给出了若干个区间,要我们计算满足每个区间都不是对应下标的排列的数量,正着计算不满足要求的数量是困难的,我们将其容斥,转化为钦定一些区间要求其必须满足它是对应下标的排列,在下文中,我们称这样的区间为一个约束。我......
  • 题解 P6560 [SBCOI2020] 时光的流逝
    题解P6560[SBCOI2020]时光的流逝首先考虑图上的点为\(y\)终点时,或者这个点无法继续向下走,即\(du_i=0\)时,从这个点为起点先手必败,而对于每一个有一条指向先手必败的点的边的点,显然从这个点出发都是先手必胜的,以此类推。可以考虑建反图,进行拓扑排序,转移状态。#include<q......
  • 「Log」做题记录 2023.10.30-
    \(2023.10.30-2023.11.1\)\(\color{blueviolet}{AT\_abc285\_g}\)神秘题。网络流是显著的,建边方式如下:所有边容量都为\(1\)。每个点拆为入点和出点,\(S\)向入点连边,出点向\(T\)连边。1的入点向出点连边。2的出点向四联通的2或?的入点连边?当做上两个处理。考......