牛客周赛 Round 136

小红的数组重排

考点:无

思路:

按题意模拟即可。

复杂度:O(1)

python 复制代码
import sys
input=sys.stdin.readline
a1,a2,a3=map(int,input().split())
b1=a2
b2=a3
b3=a1
print(b1,b2,b3)

小红的回文串构造

考点:无

思路:

因为题目说了要所有字符互不相同,所以我们可以得出结论只有n是1的时候才有输出,其他都是No。

复杂度:O(n)

python 复制代码
import sys
input=sys.stdin.readline
t=int(input())
for _ in range(t):
    n=int(input())
    if n==1:
        print(chr((ord('a')+(n-1))))
    else:
        print("No")

小红的排列

考点:逆元

思路:

我们可以先算出偶数,奇数在n中的个数,然后在算出o,j,?在字符串a中的个数。

然后可以得到结论问号个数对上还要放的奇数个数的逆元乘上奇数总数的阶乘乘上偶数总数的阶乘就行了。

复杂度:O(n)

python 复制代码
import sys
input=sys.stdin.readline
mod=998244353
n=int(input())
a=input().strip()
os=n//2
js=n-os
gso=a.count('o')
gjs=a.count('j')
qt=a.count('?')
if gso>os or gjs>js:
    print(0)
    sys.exit()
need=js-gjs
if need<0 or need>qt:
    print(0)
    sys.exit()
f=[1]*(n+1)
for i in range(1,n+1):
    f[i]=f[i-1]*i%mod
def C(n,k):
    if k<0 or k>n:
        return 0
    return f[n]*pow(f[k],mod-2,mod)%mod*pow(f[n-k],mod-2,mod)%mod
cnt=C(qt,need)*f[js]%mod*f[os]%mod
print(cnt%mod)

小红的中位数

考点:二分

思路:

找出比中位数小的和大的有多少个,然后将中位数公式变一下形,可以得出关于两边的两个式子。

复杂度:O(nlogn)

python 复制代码
import sys
input=sys.stdin.readline
from bisect import bisect_left,bisect_right
n=int(input())
a=list(map(int,input().split()))
a.sort()
x=a[(n-1)//2]
l=bisect_left(a,x)
r=bisect_right(a,x)
g=n-r
ans=10**18
if l>0:
    ans=min(ans,n-2*l)
if g>0:
    ans=min(ans,n-(2*g-1))
if ans==10**18:
    print(-1)
else:
    print(ans)
相关推荐
夜雪一千5 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
CS创新实验室5 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
能有时光5 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
_Jimmy_6 小时前
Python 协程库如何使用以及有哪些使用场景
python
aqi006 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
第一程序员6 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
skywalk81637 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程
weixin_BYSJ19877 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
海石7 小时前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
海石7 小时前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode