2024暨南大学校赛热身赛解析

news2025/1/6 17:16:47

文章目录

  • A 突发恶疾
  • B Uzi 的真身
  • C 时间管理大师
  • D 基站建设
  • E 在仙境之外
  • weiwandaixu

题目地址

A 突发恶疾

在这里插入图片描述

  • 斐波那契数列
fn = [0]*1000006
 
fn[0],fn[1] = 0,1
 
for i in range(2,1000002):
    fn[i] = (fn[i-1]+fn[i-2])%998244353
     
n = int(input())
print(fn[n])

B Uzi 的真身

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 分析:本来想使用动态规划算法的,但是由于数据计算过大,导致超时
    正确的思想:直接线性遍历字符串,分别统计字符“j”的个数,后面对于统计字符“z”和字符“h” 的个数的时候就要讲究技巧了,z = z+j , h = h+z


n = int(input())

str1 = list(input())
lenstr1 = len(str1)

j = 0
z = 0
h = 0

for i in range(lenstr1):
    if str1[i] == 'j':
        j+=1
    if str1[i] == 'z':
        z = z+j
    if str1[i] == 'h':
        h = z+h
        h = h % 998244353
print(h)



C 时间管理大师

在这里插入图片描述
在这里插入图片描述

h = list()
m = list()
time = [[0]*60 for _ in range(24)]

n = int(input())

for i in range(n):
    x,y = map(int,input().split())
    h.append(x)
    m.append(y)
    
for i in range(n):
    if m[i]>=5:
        time[h[i]][m[i]-5],time[h[i]][m[i]-3],time[h[i]][m[i]-1]=1,1,1
    else:
        if m[i]>=3:
            time[h[i]][m[i]-3],time[h[i]][m[i]-1]=1,1
            temp = 60+m[i]-5
            time[h[i]-1][temp]=1
        else:
            if m[i]>=1:
                time[h[i]][m[i]-1]=1
                temp = 60+m[i]-5
                time[h[i]-1][temp]=1
                temp = 60+m[i]-3
                time[h[i]-1][temp]=1
            else:
                temp = 60+m[i]-5
                time[h[i]-1][temp]=1
                temp = 60+m[i]-3
                time[h[i]-1][temp]=1
                temp = 60+m[i]-1
                time[h[i]-1][temp]=1
a = list()
b = list()
count = 0
for i in range(2,24):
    for j in range(60):
        if time[i][j]==1:
            count+=1
            a.append(i)
            b.append(j)

print(count)
for i in range(count):
    print(a[i],b[i])
    
                
    

D 基站建设

在这里插入图片描述
在这里插入图片描述

  • 对于这道题,开始的时候,想使用前缀和与差分进行计算重叠的问题,但是会发现对于相邻的两个整数无法正确区分是否要增加基站
    正确的思路:转换成活动安排问题,采用元组存储(x-b,x+b)结果,使用lambda 表达式进行排序,通过活动安排问题进行安排



n = int(input())

store = list()
# 这就是一个活动安排问题,找出相容的活动的数目

for i in range(n):
    x,b = map(int,input().split())
    store.append((x-b,x+b))

store.sort(key = lambda x:x[1])

count = 0
end = 0
for s,e in store:
    if s>end:
        count+=1
        end = e
if count==0:
    print(1)

else:
    print(count)


E 在仙境之外

在这里插入图片描述
在这里插入图片描述

  • 这道题目开始的时候就在想,要是四个运算都使用上的话,就十分复杂,后面一想,答案肯定是不唯一的,所以我们可以使用简单一点的运算,所以我们可以采纳二进制的算法,按照位数进行计算,开始的时候将S 进行分解为二进制,后面将要使用的x 的第一个x自己除以自己,得到一,然后一直累加自己,当S 的对应的二进制位数匹配的时候,就加到去。
    整个的一个过程,我们采用类似元组[(i,j,k,’ ')]来储存结果

n,S = map(int,input().split())

store = [0]*70
ans = 0
temp = S
while(S!=0):
    if S%2!=0:
        store[ans]=1
    ans+=1
    S=S//2
    
A = list(map(int,input().split()))
S = temp
result = list()
count = 0

A[0] = 1

result.append((1,1,1,'/'))
count = 1

if S%2==1:
    result.append((n+1,n+1,1,'+'))
    count+=1
    
for i in range(1,ans):
    result.append((1,1,1,'+'))
    count+=1
    if store[i]==1:
        result.append((n+1,n+1,1,'+'))
        count+=1
print(count)
for i,j,k,z in result:
    print(i,j,k,z)


weiwandaixu

  • 以后再写咯

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

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

相关文章

SSM【Spring SpringMVC Mybatis】——Maven

目录 1、为什么使用Maven 1️⃣获取jar包 2️⃣添加jar包 3️⃣使用Maven便于解决jar包冲突及依赖问题 2、什么是Maven 3、Maven基本使用 3.1 Maven准备 3.2 Maven基本配置 3.3 Maven之Helloworld 4、Maven及Idea的相关应用 4.1 将Maven整合到IDEA中 4.2 在IDEA中新建…

使用脚本一键部署项目的示例(脚本会创建syetemctl的系统服务)

文章目录 说明使用脚本一键部署本项目开启/停止服务开启/关闭开机自动运行更新项目 参考地址:https://github.com/Evil0ctal/Douyin_TikTok_Download_API?tabreadme-ov-file 说明 后续相关项目可以使用这种方式创建脚本,脚本均放置在项目根目录下的bas…

【C++干货基地】揭秘C++STL库的魅力:stiring的初步了解和使用

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

AI大模型探索之路-训练篇17:大语言模型预训练-微调技术之QLoRA

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

动态规划——路径问题:LCR 166.珠宝的最高价值

文章目录 题目描述算法原理1.状态表示(题目经验)2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接:LCR 166.珠宝的最高价值 算法原理 1.状态表示(题目经验) 对于这种路径类的问题&…

Linux中动态库的用法及优缺点?怎样制作动态库和静态库?

一、什么是gcc gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器。最开始gcc是作为C语言的编译器(GNU C Compiler),现在除了c语言,还支持C、java、Pascal等语言。gcc支持多种硬件平台. 在 Linux…

在做题中学习(52): 山脉数组的峰顶索引

852. 山脉数组的峰顶索引 - 力扣(LeetCode) 解法:二分查找 思路:O(logn)的时间复杂度,很可能是二分法,再看看有没有二段性: 由题目可以知道,i的左边比i小,右边比i大&am…

47.Redis学习笔记

小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表,而不用平衡…

Spring_概述

Spring 官网Spring Framework(Spring)文档位置重点内容Overview 官网 Spring官网 Spring Framework(Spring) 文档位置 重点 IoC容器AOP:面向切面编程AOT:ahead of time,提前编译Web 框架&…

面试分享——订单超30分钟未支付自动取消用什么实现?如何使用Redis实现延迟队列?

目录 1.订单超时未支付自动取消,这个你用什么方案实现? 2.如何使用Redis实现延迟队列 2.1实验步骤 2.2实现生产可用的延迟队列还需关注什么 3.总结 电商场景中的问题向来很受面试官的青睐,因为业务场景大家都相对更熟悉,相关…

金仓面对面 | 人大金仓×安硕信息共话金融信用风险管理数字化转型之道

金仓面对面 在数字化浪潮的推动下,人大金仓携手行业先锋,共同开启一场关于创新与转型的思想盛宴——金仓面对面。这不仅是一场对话,更是一次智慧的火花碰撞,一次行业数字化转型洞察的深度挖掘。 行业精英汇聚:我们荣幸…

SSH的魅力:为何它成为远程访问的首选

🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、SSH简介 2、SSH的历史与发展 3、SSH的主要用…

大学物理实验 期末复习笔记整理(个人复习笔记/侵删/有不足之处欢迎斧正)

一、误差和数据处理 1. 系统误差是指在重复性条件下,对同一被测量进行无限多次测量所得结果的平均值与被测量的真值之差。它通常是由于测量设备、测量方法或测量环境等因素引起的,具有重复性、单向性和可测性。而随机误差则是由于测量过程中一系列有关因…

CP AUTOSAR之CANXL Driver详细说明(正在更新中)

本文遵循autosar标准:R22-11 1 简介及功能概述 本规范描述了AUTOSAR 基础软件模块CAN XL 驱动程序的功能、API和配置。   本文档的基础是[1,CiA610-1]和[2,CiA611-1]。假设读者熟悉这些规范。本文档不会再次描述CAN XL 功能。   CAN XL 驱动程序是最低层的一部…

NETBIOS和DNS

Netbios NETBIOS只能工作在局域网。 NetBIOS(Network Basic Input/Output System, 网络基本输入输出系统)是一种接入服务网络的接口标准。主机系统通过WINS服务、广播及lmhosts文件多种模式,把NetBIOS名解析对应的IP地址,实现信…

MySQL中JOIN连接的实现算法

目录 嵌套循环算法(NLJ) 简单嵌套循环(SNLJ) 索引嵌套循环(INLJ) 块嵌套循环(BNLJ) 三种算法比较 哈希连接算法(Hash Join) 注意事项: 工…

Linux入门攻坚——22、通信安全基础知识及openssl、CA证书

Linux系统常用的加解密工具:OpenSSL,gpg(是pgp的实现) 加密算法和协议: 对称加密:加解密使用同一个秘钥; DES:Data Encryption Standard,数据加密标准&…

最后一块石头的重量 II ,目标和,一和0

最后一块石头的重量 II(0-1背包问题 将石头尽可能分为两堆重量一样的,进行相撞则为0 class Solution {public int lastStoneWeightII(int[] stones) {int sum0;for(int x:stones){sumx;}int targetsum/2;int[] dpnew int[target1];//dp[j]表示最大石堆的…

kubeflow简单记录

kubeflow 13.7k star 1、Training Operator 包括PytorchJob和XGboostJob,支持部署pytorch的分布式训练 2、KFServing快捷的部署推理服务 3、Jupyter Notebook 基于Web的交互式工具 4、Katib做超参数优化 5、Pipeline 基于Argo Workflow提供机器学习流程的创建、编排…

上海亚商投顾:沪指窄幅震荡 两市成交额跌破万亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡,深成指、创业板指小幅调整,黄白二线分化明显。合成生物概念反复活跃…