当前位置: 首页 > article >正文

2025第四届大学生算法挑战赛(进阶训练1) A-E 题解报告

前言

这是第四届大学生算法挑战赛的练习赛系列,这个比赛是国家一级协会的。

这章是进阶训练1的A-E题,感觉还是蛮基础的。

在这里插入图片描述


题解

第四届大学生算法挑战赛 进阶训练1

A. 小理养鱼

思路: 博弈 + 斐波那契数组

省流描述: 经典的羊狼博弈,即1只羊,N只狼,狼吃羊会变羊,求狼是否能吃羊。

可以发现当

  1. n为奇数时,可以吃
  2. n为偶数时,不可以吃

而繁衍相关,打表可以发现呈现经典的排列

1, 1,  2, 3,  5, 8, 13, 21, 34, 55, 89, ...

这不就是斐波那契数列吗?

其分布,呈现 2奇数+1偶数周期出现

这题需要注意有多行输入,遇到EOF为止

# coding=utf-8
import mathdef solve():n = int(input())r = n // 3 * 2 +  (n % 3)print (r)try:while True:solve()
except Exception:pass

不过赛氪OJ卡python,所以这题得用c++才行

#include <iostream>
using namespace std;void solve(int64_t n) {int64_t r = (n / 3) * 2 + (n % 3);cout << r << endl;
}int main() {int64_t v;while (cin >> v) {solve(v);}return 0;
}

B. 约瑟夫环

思路: 暴力

数据规模较小,直接模拟即可

n, k, m = list(map(int, input().split()))arr = list(range(n))while len(arr) > 1:k = (k + m - 1) % len(arr)del arr[k]print (arr[0])

C. 行列互换

技巧: python的zip操作

题意: 把3x3的矩阵置换

g = []
for _ in range(3):g.append(list(map(int, input().split())))
for r in zip(*g):print(*r, sep=' ')

D. 字符金字塔

思路: 构造+模拟
题意:构造指定大小的金字塔

c = input()h = ord(c[0]) - ord('A') + 1for i in range(h):s = [' '] * (i + h)for j in range(i+1):s[h - 1 - j] = s[h - 1 + j] = chr(ord('A') + i - j) print (''.join(s))

代码的思路是确立中轴线,然后中心扩展


E. 小理的数列

在这里插入图片描述

思路: 打表找规律

打印 0~10

# 三列分别为n, n的二进制表达式, f(n)
0 0 0
1 1 1
2 10 1
3 11 2
4 100 1
5 101 2
6 110 2
7 111 3
8 1000 1
9 1001 2
10 1010 2

可以发现 f ( n ) = b i t _ c o u n t ( n ) f(n) = bit\_count(n) f(n)=bit_count(n), 也就是值n的二进制表达式中1的个数

f ( n ) = f ( m ) = x f(n)=f(m)=x f(n)=f(m)=x,

m 最小为 ( 1 < < m ) − 1 m最小为(1 << m) - 1 m最小为(1<<m)1

t = int(input())
for _ in range(t):v = int(input())n1 = bin(v)[2:].count('1')print (n1, (1 << n1) - 1)

写在最后

A-E题感觉非常的基础,顺带考察思维
在这里插入图片描述

相关文章:

2025第四届大学生算法挑战赛(进阶训练1) A-E 题解报告

前言 这是第四届大学生算法挑战赛的练习赛系列&#xff0c;这个比赛是国家一级协会的。 这章是进阶训练1的A-E题&#xff0c;感觉还是蛮基础的。 题解 第四届大学生算法挑战赛 进阶训练1 A. 小理养鱼 思路: 博弈 斐波那契数组 省流描述: 经典的羊狼博弈&#xff0c;即1只…...

P8668 [蓝桥杯 2018 省 B] 螺旋折线

题目 思路 一眼找规律题&#xff0c;都 1 0 9 10^9 109说明枚举必然超时&#xff0c;找规律&#xff0c;每个点找好像没有什么规律&#xff0c;尝试找一下特殊点&#xff0c;比如&#xff1a;对角线上的点 4 16 36(右上角&#xff09; 4k^2&#xff0c;看在第几层&#xff08;…...

Matlab 三容水箱系统故障诊断算法研究

1、内容简介 Matlab 190-三容水箱系统故障诊断算法研究 可以交流、咨询、答疑 2、内容说明 略 其次&#xff0c;对 DTS200 三容水箱系统进行机理建模&#xff0c;可分为对象建模和故障 建模&#xff0c;搭建了水箱系统的 SIMULINK 模型并建立了基于 Taylor 展开及 T-…...

查看容器内的eth0网卡对应宿主机上的哪块网卡

查看容器内的eth0网卡对应宿主机上的哪块网卡 问题描述解决办法1. 进入容器,查看网卡的iflink(接口链路索引)值方法1:方法2: 2. 从宿主机过滤查询到的iflink(接口链路索引)值3. 确定veth接口连接的网桥方法2: brctl查看连接到网桥的接口--推荐 4. 查看网桥连接的物理网卡 问题描…...

【 Beautiful Soup (bs4) 详解】

引言 Beautiful Soup 是 Python 最流行的 HTML/XML 解析库&#xff0c;能够从复杂的网页文档中高效提取数据。以下是其核心知识点及示例代码。 一、库简介 1. 核心模块 BeautifulSoup&#xff1a;主类&#xff0c;用于构建文档树结构Tag&#xff1a;表示 HTML/XML 标签的对象…...

RT-DETR-R18版本的ultralytics的yaml更改分享!!

0.前言 起因&#xff1a; 本人深度学习&#xff0c;无奈组内没有好的显卡&#xff0c;只有我自己拥有的一张4060卡跑CV&#xff0c;稍微大一点的模型跑不了&#xff0c;我的模型主打一个轻量化... 在找模型与我的模型进行比较的时候&#xff0c;看的RT-DETR-R18版本(GFLPOS也…...

网工基础 | 常见英文术语注解

原创&#xff1a;厦门微思网络 以下是一些网工专业常见的英文术语注解&#xff1a; IP Address&#xff08;Internet Protocol Address&#xff09; 互联网协议地址&#xff0c;是分配给连接到互联网的设备的唯一标识符&#xff0c;用于在网络中定位和通信。例如&#xff0c;“…...

[特殊字符] 各领域 Dummy 开关实现方式大集合

涵盖硬件、软件、工业控制、游戏开发及网络虚拟化场景&#xff1a; &#x1f50c; 1. 电子 / 硬件工程 &#x1f6e0;️ (1) 物理替代方案 &#x1f9f2; 跳线帽&#xff08;Jumper&#xff09;或短路块 &#x1f449; 模拟开关“开/关”状态 ✅ 示例&#xff1a;开发板上的 B…...

AI低代码平台:开启高效智能开发新时代

科技飞速发展的当下&#xff0c;全球正加速迈向 AI 化。DeepSeek 等主流 AI 厂商的发展极大地改变了技术格局。众多企业为紧跟时代步伐&#xff0c;对高效开发工具的需求愈发迫切。百特搭AI低代码开发平台与 AI 技术的融合&#xff0c;为企业带来了开发高效化与智能化的全新解决…...

苍穹外卖2

根据id查询员工 调用顺序&#xff1a;Controller—>Service—>ServiceImpl—>Mapper—>xml 1.controller层一个tab秒了&#xff08;ai生成&#xff09; 由于result泛型中希望返回一个employee对象&#xff0c;所以定义一个employee来接受Service的getbyid方法,在…...

Redis 键(Key)详解

1. 键的基本概念 Redis 的键&#xff08;key&#xff09;是每条数据的唯一标识符。Redis 使用键来存取各种类型的数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。每个键都是唯一的&#xff0c;它决定了你访问哪条数据。 Redis 中所有读写操作都以键为基础&a…...

mac|使用scrcpy实现无线Android投屏

scrcpy是一个开源项目&#xff0c;从项目的releases可以得知它适用于windows、linux、mac github&#xff1a;https://github.com/Genymobile/scrcpy/releases github中提供了应用于mac系统的静态版本&#xff08;也就是上图的scrcpy-macos-aarch64-v3.1.tar.gz和scrcpy-macos…...

【智驾中的大模型 -1】自动驾驶场景中的大模型

1. 前言 我们知道&#xff0c;大模型现在很火爆&#xff0c;尤其是 deepseek 风靡全球后&#xff0c;大模型毫无疑问成为为中国新质生产力的代表。百度创始人李彦宏也说&#xff1a;“2025 年可能会成为 AI 智能体爆发的元年”。 随着科技的飞速发展&#xff0c;大模型的影响…...

Python中的eval()函数详解

文章目录 Python中的eval()函数详解基本语法基本用法安全性问题安全使用建议实际应用场景与exec()的区别性能考虑总结 Python中的eval()函数详解 eval()是Python的一个内置函数&#xff0c;用于执行字符串形式的Python表达式并返回结果。它是一个强大但需要谨慎使用的函数。 …...

网络4 OSI7层

OSI七层模型&#xff1a;数据如何传送&#xff0c;向下传送变成了什么样子 应用层 和用户打交道&#xff0c;向用户提供服务。 例如&#xff1a;web服务、http协议、FTP协议 1.用户接口 2.提供各种服务 通过浏览器&#xff08;接口&#xff09;提供Web服务 表示层 翻译 我的“…...

数字世界的免疫系统:恶意流量检测如何守护网络安全

在2023年全球网络安全威胁报告中,某跨国电商平台每秒拦截的恶意请求峰值达到217万次,这个数字背后是无数黑客精心设计的自动化攻击脚本。恶意流量如同数字世界的埃博拉病毒,正在以指数级速度进化,传统安全防线频频失守。这场没有硝烟的战争中,恶意流量检测技术已成为守护网…...

在PyCharm中出现 **全角字符与非英文符号混合输入** 的问题

在PyCharm中出现 全角字符与非英文符号混合输入 的问题&#xff08;如 &#xff11;&#xff12;&#xff14;&#xff13;&#xff14;&#xff15;&#xff44;&#xff46;&#xff53;&#xff04;&#xffe5;&#xff43;&#xff56;&#xff44;&#xff09;&#xff0…...

我的计算机网络(总览篇)

总览--网络协议的角度 在一个庞大的网络中&#xff0c;该从哪里去了解呢&#xff1f;我先细细的讲一下我们访问一个网站的全部流程&#xff0c;当我们的电脑连上网络的时候&#xff0c;就会启动DHCP协议&#xff0c;来进行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…...

文件IO6(开机动画的显示原理/触摸屏的原理与应用)

开机动画的显示原理 ⦁ 基本原理 一般电子产品在开机之后都会加深用户印象&#xff0c;一般开机之后都会播放一段开机动画&#xff08;视频、GIF…&#xff09;&#xff0c;不管哪种采用形式&#xff0c;内部原理都是相同&#xff0c;都是利用人类的眼睛的视觉暂留效应实现的…...

低代码开发能否取代后端?深度剖析与展望-优雅草卓伊凡

低代码开发能否取代后端&#xff1f;深度剖析与展望-优雅草卓伊凡 在科技迅猛发展的当下&#xff0c;软件开发领域新思潮与新技术不断涌现&#xff0c;引发行业内外热烈探讨。近日&#xff0c;笔者收到这样一个颇具争议的问题&#xff1a;“低代码开发能取代后端吗&#xff1f…...

反向代理断线重连优化

背景 1. 部分时候&#xff0c;反向代理因为路由重启&#xff0c;或者其他断网原因&#xff0c;等网络恢复后&#xff0c;无法对隧道重连。 2. 增加了心跳机制 在DEBUG调试过程中&#xff0c;发现禁用网卡后&#xff0c;在反向代理重连时候&#xff0c;服务器没有释放掉占用的…...

NLP中的“触发器”形式

在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;触发器的设计更加依赖于文本特征&#xff0c;而非视觉特征。以下是NLP中常见的触发器类型及其实现方式&#xff1a; 1. 特定词汇或短语 定义&#xff1a;在文本中插入特定的单词、短语或符号。示例&#xff1a; 罕见…...

OJ 基础 | 输入处理

目录 一行输入一个整数&#xff1a; 一行输入2个整数 第一行有一个整数 m。接下来 m 行&#xff0c;每行两个整数 u,v &#xff1a; 一行输入一个整数&#xff1a; Nint(input()) #int类型 numinput() #字符串&#xff0c;一般用于需要去切片/遍历或者处理输入的数据 一行…...

array和list在sql中的foreach写法

在MyBatis中&#xff0c;<foreach>标签用于处理集合或数组类型的参数&#xff0c;以便在SQL语句中动态生成IN子句或其他需要遍历集合的场景。以下是array和list在SQL中的<foreach>写法总结。 <if test"taskIds ! null and taskIds.length > 0">…...

SDP(一)

SDP(Session Description Protocol)会话描述协议相关参数 Session Description Protocol Version (v): 0 --说明&#xff1a;SDP当前版本号 Owner/Creator, Session Id (o): - 20045 20045 IN IP4 192.168.0.0 --说明&#xff1a;发起者/创建者 会话ID&#xff0c;那么该I…...

STM32 模块化开发指南 · 第 2 篇 如何编写高复用的外设驱动模块(以 UART 为例)

本文是《STM32 模块化开发实战指南》的第 2 篇,聚焦于“串口驱动模块的设计与封装”。我们将从一个最基础的裸机 UART 初始化开始,逐步实现:中断支持、环形缓冲收发、模块接口抽象与测试策略,构建一个可移植、可扩展、可复用的 UART 驱动模块。 一、模块化 UART 的设计目标…...

【基于 Vue3 的原子化时间线组件实现与应用】

基于 Vue3 的原子化时间线组件实现与应用 在前端开发中&#xff0c;我们经常需要使用时间线组件来展示一系列按时间顺序排列的事件。许多项目常常重复开发类似功能&#xff0c;导致代码冗余且维护成本高。为解决这一问题&#xff0c;我们设计了一个高度可定制的原子化时间线组…...

小推桌面tv-小推电视桌面好用吗

想知道小推电视桌面是否好用&#xff1f;来一探究竟&#xff01;小推电视桌面安全稳定&#xff0c;且支持自由定制。它有影视、壁纸、酒店等多种主题&#xff0c;适配不同场景。内置小推语音助手&#xff0c;还支持第三方语音助手&#xff0c;操作便捷。自带正版影视搜索功能&a…...

深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学

B站视频链接,请多多关注本人B站&#xff1a; &#x1f4cc; Yocto项目实战教程&#xff1a;第二章 视频讲解 目录 第2章 Linux系统架构 2.1 GNU/Linux2.2 Bootloader2.3 内核空间2.4 用户空间 总结 第2章 Linux系统架构 {#linux系统架构} 嵌入式Linux系统是Linux内核的精简版…...

Asp.NET Core WebApi 配置文件

在 ASP.NET Core Web API 中&#xff0c;配置文件&#xff08;如 appsettings.json&#xff09;是管理应用程序设置的核心部分。ASP.NET Core 提供了一套灵活的配置系统&#xff0c;允许开发者从多种来源加载配置数据&#xff0c;并根据需要使用这些配置。 以下是关于如何在 A…...