第十四届蓝桥杯模拟赛(第二期)

news2025/1/26 15:53:58

写在前面 

  1. 包含本次模拟赛的10道题题解
  2. 能过样例,应该可以AC
  3. 若有错误,欢迎评论区指出
  4. 有疑问可私信我哈🫰🏻

 


从2023开始暴力枚举每一个数,直到找到正确答案 

start = 2022

def check(num) :
    t = str(bin(num))
    if t[-6:] == '000000' : return True
    return False

while 1 :
    
    start += 1
    if check(start) : print(start) ; break
    
    

使用Python自带的datetime库统计一共多少天 

import datetime

start = datetime.date(1949,10,1) 
end = datetime.date(2022,1,1) 
diff = datetime.timedelta(1)

ans = 0

while start < end :
    ans += 1
    start += diff 
    
print(ans)

 

从10开始枚举直到找到正确答案


start = 10 

def check(num) :
    t = int(str(num),16)
    
    if t % num == 0 : print(num,t) ; return True
    return False

while 1 :
    if check(start) : print(start) ; break
    start += 1

 

动态规划,dp[i][j]代表走到第i行,第j列的最大值是多少,它是由左边的前一个元素dp[i][j-1]和上边的dp[i-1][j] 两者之间的最大值+原数组第i行,第j列的值相加 更新而来的。


s = "174094882455171152761423221685761892795431233411387427793198\
650286024865090061389344606618496378829135984076361542097372\
601657541200146071777733599818266038012509478351201640618984\
143988087783837107349651099683484992553337438088068198972282\
890781586124258626539246182119762952003918195325258677229419\
698255491250839396799769357665825441616335532825361862146291\
503649293440596342887581257444442930778730382520372975343211\
325351222640703400531067500454956482168314849207060705673849\
265774579830223671554026061117300483012903885770893074783710\
083450145620356667677191627276513995926532444279237315785832\
411595106453089134746365281031552217482363035280722591085079\
053410485925413958279617719034175332412908745680774313630190\
429314820559328748143552689295945058801322270313370955837837\
939182801848609300876356583948397645861551964542532682663945\
625356614462682551015176002433628234343684739800880514363921\
982340231989891351425389287014819359798014755509282450440511\
590838726938103384801541373585690893606978941566666714061214\
952341523168827712604946036245881214982452998386986623826275\
782780208928205527678781609589000725521486468983551558405472\
149903035076783644195574734088152324666290493119955560594634\
905391288186024902215444250421277955403412298227858394469856\
607272647132163832860126054679347881638761723785858733108109\
249157334220127702410373959720286708183036202841837581704881\
367895556630088230650972282944827258473951902831431040790814\
079538232104075905120989173307660289899942087873076421916033\
622143260549608274076012938515668898707915863945382394851328\
164677964192631597026176253407553188801750590935427267220117\
591817866992665840378311257621611574856498432538327068011953\
631534031790352912617015229051836886166704989498756486878095\
690013558017746707412183571476823027885971347137127534455141"

Map = [[0] * 60 for i in range(30)]

for i in range(30) : 
    for j in range(60) :
        Map[i][j] = int(s[i*60+j])

dp = [[0] * 60 for i in range(30)]

for i in range(30) :
    for j in range(60) : 
        if i == 0 and j == 0 : dp[i][j] = Map[0][0]
        elif j == 0 : dp[i][j] = dp[i-1][j] + Map[i][j]
        else : dp[i][j] = max(dp[i-1][j],dp[i][j-1]) + Map[i][j]
        
print(dp[29][59])

 

 

将小于2022的质数都找出来(质数筛),之后枚举质数列表的每一项prime,看2022-prime是否在列表中


def find(num) :
    
    prime = []
    flag = [True] * (num+1)
    
    for i in range(2,num+1) :
        if flag[i] : prime.append(i)
        j = 0 
        while prime[j] <= num // i : 
            flag[prime[j] * i] = False
            if i % prime[j] == 0 : break
            j += 1
            
    return prime 

prime = find(2022)
ans = 0 

for i in prime :
    if 2022 - i in prime : ans += 1
    
print(ans >> 1)

 

签到题 略


t,c,s = map(int,input().split())
print(s*t//c - t)

 

开一个集合s,读入每一个单词,若该单词不在集合中,则输出并加入集合中。若在集合中则跳过。 


N = int(input())
s = set()
for _ in range(N) : 
    num = input()
    if num not in s : 
        print(num) 
        s.add(num)
        
        

 

 

将原字符串颠倒,看从第一个字符开始到第几个字符,以这两个字符为边界的字符串是回文串(至少为1,找最大长度) ,则剩下的字符(不属于回文串的,颠倒后+原字符串 就是答案,有点绕,看不懂可以私信我)


s = input()
leng = len(s)

res = 0 
s = s[::-1]

def check(s) :
    return s == s[::-1]
    
if check(s) : res = leng 
else :
    for i in range(1,leng) : 
        if check(s[:i]) : res = i
        
t = leng - res 
s = s[::-1]
tmp = s[:t]
print(s + tmp[::-1])

  

 

枚举每一个不在边界上的点,看以它为中心,能贡献几个X图形,相加起来得到的和就是答案


n,m = map(int,input().split())
Map = []
for i in range(n) : Map.append(list(input()))

def bound(x,y) : 
    
    return 0 <= x < n and 0 <= y < m 

def deep_check(t,a,b,c,d) :

    return t == a and t == b and t == c and t == d

def check(x,y) : 
    
    l = 0 
    while 1 : 
        l += 1 
        ax = x + (-1) * l ; ay = y + (-1) * l
        bx = x + (-1) * l ; by = y + 1 * l
        cx = x + 1 * l ; cy = y + 1 * l 
        dx = x + 1 * l ; dy = y + (-1) * l
        if bound(ax,ay) and bound(bx,by) and bound(cx,cy) and bound(dx,dy) : pass
        else : return l - 1
        if not deep_check(Map[x][y],Map[ax][ay],Map[bx][by],Map[cx][cy],Map[dx][dy]): return l - 1    
        
ans = 0 
for i in range(1,n-1) : 
    for j in range(1,m-1) :
        ans += check(i,j) 

print(ans) 

 

归并排序求逆序对的模版题,只不过这里不是求逆序对的数量了,答案等于每一对逆序对中较大的那个数(即在左边的数)的和(仔细思考下为什么呢?🤔) 如果没有了解过归并排序,建议先学一下哈


N = int(input())
lst = list(map(int,input().split()))

if N < 2 : print(0) ; exit()
ans = 0 

def mergeSort(nums,l,r,tmp) : 
    if l >= r : return 
    mid = l + r >> 1 
    mergeSort(nums,l,mid,tmp)
    mergeSort(nums,mid+1,r,tmp)
    merge(nums,l,mid,r,tmp)
    
def merge(nums,l,mid,r,tmp) :
    global ans 
    
    i, j = l, mid + 1
    while i <= mid and j <= r : 
        if nums[i] <= nums[j] : 
            tmp.append(nums[i])
            i += 1
        else : 
            ans += nums[i] 
            tmp.append(nums[j])
            j += 1
    while i <= mid : tmp.append(nums[i]) ; i += 1 
    while j <= r : tmp.append(nums[j]) ; j += 1
    
    for k in range(len(tmp)) : nums[l+k] = tmp[k]
    tmp.clear()
    
mergeSort(lst,0,N-1,[])
print(ans)

🔚 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

核函数简介

文章目录基本概念概念1概念2:Kernel Func总结内积矩阵&#xff08;Gram/Kernel Matrix&#xff09;一些思考什么是有限正半定常用的Kernel FunctionsLinear KernelPolynomial KernelRBF(Gaussian) Kernel基本概念 概念1 高维空间存在可分的情况。 我们可以找一个映射函数送过…

【C++】vector的模拟实现

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《吃透西嘎嘎》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;前言&…

程序员5分钟,带你看完24岁60W年薪架构师的简历,上面竟然写着精通JVM

前言 近期&#xff0c;看了一份24岁60W年薪架构师简历&#xff0c;上面写着他的求职意向所掌握的技能....... 所掌握的技能大部分写的都是精通&#xff01;我不禁想问&#xff0c;大佬都这么强吗&#xff1f;你敢在简历上把所有的技能都写精通吗&#xff1f; 简历 下面来带…

matlab学习笔记(六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 matlab学习笔记&#xff08;六&#xff09;一、信号基本运算的MATLAB实现二、计算两信号的卷积积分卷积积分三、两序列的卷积和一、信号基本运算的MATLAB实现 信号基本运算是…

pdf编辑软件哪个好?编辑pdf的软件分享一款,像word一样好用!

编辑文档时&#xff0c;很多人习惯用word及pdf进行办公&#xff0c;而使用中&#xff0c;经常会发现word和pdf之间&#xff0c;总是无法满足我们的切换需要。如果掌握一款可以编辑pdf的软件&#xff0c;像word一样简单使用&#xff0c;又能满足word的各种功能所需&#xff0c;那…

代理,反射,AOP

这篇文章主要讲三个点 1.设计模式中的代理模式 2.JAVA中的反射&#xff0c;因为用到了动态代理&#xff0c;这里举一下JDK代理和GCLIB代理的例子 3.介绍一下spring的aop是怎么用到了代理 1.设计模式中的代理模式 代理模式解决的问题&#xff1a; 在直接访问对象时带来的问题&am…

2022C语言知识点大全【详细、必备】

C语言期末必背知识点汇总【全】C语言最重要的知识点&#xff08;一&#xff09;《图片彩版》《C语言程序设计》必背基本知识点&#xff08;二&#xff09;C语言程序设计复习资料&#xff08;三&#xff09;C语言最重要的知识点&#xff08;一&#xff09;《图片彩版》 建议收藏…

Linux | 进程间通信 | system V共享内存 | 介绍和使用

文章目录system V共享内存介绍共享内存的创建shmget共享内存的获取shmctl&#xff0c;可用于共享内存的删除shmat && shmdt共享内存的使用Linux对system V的设计思路system V共享内存介绍 进程间通信的前提是&#xff1a;使不同进程看到同一份资源&#xff0c;在使用匿…

循环中的闭包

目录 1. 什么是闭包&#xff1f;闭包的作用&#xff1f; 1.1 可以访问 外部作用域 中变量的内部函数 1.2 闭包可以访问外部作用域中的变量及传参 2. 异步操作中 变量 的生命周期&#xff0c;取决于 闭包 的生命周期 2.1 Timer 定时器&#xff08;保留到 定时器回调执行完…

阿里内部总结的微服务笔记,从入门到精通,初学者也能学的会

前言 随着互联网的发展&#xff0c;网站应用的规模也在不断的扩大&#xff0c;进而导致系统架构也在不断的进行变化。 一、系统架构演变 从互联网早起到现在&#xff0c;系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布式架构--->SOA 架构-…

Flutter 单元测试例子

Flutter 单元测试例子 原文 https://medium.com/app-dev-community/flutter-unit-testing-with-simple-examples-9c07499e4079 前言 执行单元测试来验证软件的每个组件。因此&#xff0c;我们需要尽可能多地测试每个单独的微 widget 。这些都是由开发人员在开发阶段完成的。单元…

回归分析(2) 一元回归模型

如上所述&#xff0c;为了易于确定回归函数μ(x)中的未知参数&#xff0c;我们来讨论变量Y与x之间存在着线性相关关系的情形 散布在某一条直线的周围&#xff0e;于是&#xff0c;我们可以用线性回归方程 来描述Y与x之间的相关关系&#xff0c;并假设相应的误差&#xff08;称为…

Go-zero框架学习+xorm+gorm配置

Go-zero框架学习xormgorm配置 文章目录Go-zero框架学习xormgorm配置一、框架介绍二、go-zero快速搭建1.下载go-zero2.安装goctl3.项目初始化4.测试5.项目结构6.快速生成rpc服务7.快速添加api接口8.快速生成model服务8.快速生成Dockerfile9.快速生成K8s部署文件三.golang的ORM框…

[go学习笔记.第十七章.redis的使用] 1.redis的使用

1.redis基本介绍 (1).Redis 是 NoSQL 数据库&#xff0c;不是传统的关系型数据库,官网: https://redis.io/ 和http://redis.cn/ (2).Redis: REmote Dlctionary Sever&#xff08;远程字典服务器&#xff09;, Redis 性能非常高&#xff0c;单机能够达到 15w qps,通常适合做缓存…

刷爆力扣之盛最多水的容器

刷爆力扣之盛最多水的容器 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff…

安卓的分区一点有用知识:super、lpunpack、lpdump

我们知道这个安卓的镜像分区有很多个。 那么这个文章要介绍什么呢&#xff1f; 三个点&#xff1a; 一是现在的android支持动态分区&#xff0c;很多的东西都被放到super分区里面了&#xff0c;这个应该是可以配置的。然后super里面有比如system、vendor这种比较大的分区。那…

教务排课系统毕业设计,大学排课系统设计与实现,排课系统论文作品参考

功能清单 【后台管理员功能】 录入分院&#xff1a;录入分院名称&#xff0c;简介&#xff0c;详情 分院管理&#xff1a;管理已经录入分院&#xff0c;支持修改和删除 老师录入&#xff1a;录入老师姓名、联系方式、头像、老师简介 老师管理&#xff1a;管理所有已经录入老师…

基于Matlab模拟用于海况海洋学研究的 X 波段雷达系统(附源码)

目录 一、定义雷达系统参数 二、对海面进行建模 三、配置雷达收发器 四、生成数据多维数据集 五、处理海面回波 六、总结 七、程序 海事雷达系统在充满挑战的动态环境中运行。为了改进对感兴趣目标的检测并评估系统性能&#xff0c;必须了解海面返回的性质。 在本例中&a…

【操作系统】2.4 死锁

这一节也非常重要 2.4.1 死锁的概念 2.4.1 死锁的概念_StudyWinter的博客-CSDN博客 在并发环境下&#xff0c;各种进程因竞争资源而造成的一种互相等待对方手里的资源&#xff0c;导致各进程都阻塞&#xff0c;都无法向前推进的现象。这就是死锁&#xff0c;死锁发生后&#…

Jest API使用方法

如上面的知识图谱所示&#xff0c;一个常见的测试框架通常需要实现这些功能: ● before/after 钩子函数: 如beforeEach&#xff0c;afterEach&#xff0c; ● Mock方法&#xff1a; 函数Mock&#xff0c;时间mock等。 ● 断言: 判断一个描述是否正确&#xff0c;在Jest中常为 e…