牛客周赛 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)
相关推荐
MATLAB代码顾问14 分钟前
Python实现蜂群算法优化TSP问题
开发语言·python·算法
代码飞天18 分钟前
机器学习算法和函数整理——助力快速查阅
人工智能·算法·机器学习
yaodong51826 分钟前
不会Python也能数据分析:Gemini 3.1 Pro解决办公问题的SQL自动生成
python·sql·数据分析
jiushiapwojdap27 分钟前
LU分解法求解线性方程组Matlab实现
数据结构·其他·算法·matlab
BU摆烂会噶39 分钟前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
笨笨饿41 分钟前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
纽扣6671 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
消失的旧时光-19432 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
智者知已应修善业2 小时前
【51单片机不用数组动态数码管显示字符和LED流水灯】2023-10-3
c++·经验分享·笔记·算法·51单片机
AI进化营-智能译站3 小时前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai