Codeforces Round 1073 (Div. 2)

A. Array Coloring

考点:构造

思路:

将每一位的数字减去当前位的下标看是否同奇或者同偶,如果满足就是YES,否则就是NO。

复杂度:O(n)

python 复制代码
import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n=int(input())
    a=list(map(int,input().split()))
    b=[]
    c=[]
    for i in range(n):
        z=(a[i]-i)%2
        if z==0:
            b.append(z)
        else:
            c.append(z)
    if len(b)==n or len(c)==n:
        print("YES")
    else:
        print("NO")

B. MEX Reordering

考点:构造

思路:

我们可以先把整个进行升序排序,可以直接找有多少个0和1,如果当一个0都没有的时候,不管你怎么分割,他都会有相同的1出现。同理当如果有大于2个0的时候,没有1的话,也会有同样相同的1。其余情况则都可以。

复杂度:O(n)

python 复制代码
import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n=int(input())
    a=list(map(int,input().split()))
    zero=0
    one=0
    for v in a:
        if v==1:
            one+=1
        if v==0:
            zero+=1
    if zero==0 or (zero>=2 and one==0):
        print("NO")
    else:
        print("YES")

C. Sorting Game

考点:博弈

思路:

将数组排序,然后跟原数组比较,如果当前的两个数字不相同,就记下当前下标的位置,如果数组长度是0的时候就是Bob赢,因为Alice进行不了任何操作。

复杂度:O(n)

python 复制代码
import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n=int(input())
    s=list(input().strip())
    ar=sorted(s)
    a=[]
    for i in range(n):
        if s[i]!=ar[i]:
            a.append(i+1)
    if len(a)==0:
        print("Bob")
    else:
        print("Alice")
        print(len(a))
        print(*a)

D1. Sub-RBS (Easy Version)

考点:构造

思路:

先找出第一个)的位置,并往后数数后面还有多少个(。如果(的数量>=2则一定有解,最大长度永远是n-2,否则直接输出-1。

复杂度:O(n)

python 复制代码
import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n=int(input())
    s=input().strip()
    r_1=-1
    for i in range(n):
        if s[i]==')':
            r_1=i
            break
    left=0
    if r_1!=-1:
        for i in range(r_1+1,n):
            if s[i]=='(':
                left+=1
    if left>=2:
        print(n-2)
    else:
        print("-1")
相关推荐
凤凰院凶涛QAQ2 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛2 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
w_zero_one4 小时前
算法--模拟
java·数据结构·算法
外收内放4 小时前
面向对象高级(实战案例)
开发语言·python·学习
秋天的怀念_David4 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
专业程序开发源5 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
FPGA小迷弟5 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude
卷无止境5 小时前
面向arm64桌面客户端开发全景:语言、框架与生态
后端·python
秋天的怀念_David5 小时前
算法一千零一夜 · 第十四夜 幻方与奇妙的二进制
java·程序人生·算法
薛定e的猫咪5 小时前
(ICLR 2020)MAML 靠的不是快速学习,而是特征复用
人工智能·深度学习·学习·算法·机器学习