- 博客(24)
- 收藏
- 关注
原创 103. 2017年蓝桥杯省赛 - 日期问题(困难)- 暴力枚举
本篇博客深入解析了 2017 年蓝桥杯省赛的一道日期格式处理题。面对文献中模糊的 AA/BB/CC 日期格式,我们通过枚举三种可能排列(年/月/日、月/日/年、日/月/年),结合年份补全与闰年判断规则,筛选出所有合法的完整日期。
2025-06-19 23:40:43
843
原创 csv(Python CSV)
本文系统介绍了 Python 内置的 csv 模块,涵盖其在读取、写入、格式控制等方面的常用方法与高级用法。通过丰富的示例演示了 csv.reader、csv.writer、DictReader、DictWriter 等操作,并详细讲解了 CSV 方言的注册与使用、字段大小限制、自定义格式类以及格式自动检测等功能,帮助用户灵活、高效地处理各种 CSV 数据文件。
2025-06-18 23:58:47
473
原创 176. 2018年蓝桥杯省赛 - 螺旋折线(中等)- 分层构造
本题来自 2018 年蓝桥杯省赛,考察对坐标系中螺旋路径的数学建模能力。题目要求计算任意整点在螺旋折线中的编号位置。通过分层构造的思想,将整点按曼哈顿螺旋轨迹划分层级,并结合点在边界的位置分类推导编号公式,实现在常数时间内高效求解。该题体现了数学归纳、公式构造和模拟建模等综合能力,是一道典型的思维型坐标算法题。
2025-06-17 00:43:02
1117
原创 171. 2018年蓝桥杯省赛 - 等腰三角形(困难)- 模拟
本文通过Python实现一个数字等腰三角形的输出问题,采用模拟与字符串构造的思路,从顶点开始逆时针填充三角形三边。通过位置索引精准控制字符排列,完成图形输出。适合作为图形模拟与格式控制的练习题。
2025-06-16 16:22:34
342
原创 206. 2013年蓝桥杯省赛 - 打印十字图(困难)- 模拟
本文解析了一道字符图案构造题“打印十字图(困难)”,要求根据输入的层数打印出具有中心对称结构的十字形字符图案。通过构建左上角象限(第二象限)的图案并利用对称性生成其余部分,有效简化了绘图逻辑。算法使用二维数组模拟字符画,按层绘制横线、竖线与对角线连接,并拼接镜像输出完整图案。整体设计体现了对称构造与模拟算法的巧妙结合,适合用于锻炼逻辑推理、坐标转换和字符处理能力。此方法具有良好的可拓展性与输出控制精度,适用于基础图形模拟类题目训练。
2025-06-10 23:31:17
1146
原创 245. 2019年蓝桥杯国赛 - 数正方形(困难)- 递推
本文通过数学推导与边长枚举的方法,高效解决了在 N×N 点阵中统计正方形数量的问题。相比暴力枚举所有四点组合的低效做法,算法利用公式 (n−i)^2×i 遍历所有可能边长,计算每种边长下正方形的个数并累加。
2025-06-09 23:17:01
1812
原创 227. 2018年蓝桥杯国赛 - 交换次数(中等)- 贪心
本文围绕一道字符串最少交换次数问题展开,要求将随机排列的 B、A、T 字符通过交换操作聚集到一起。算法采用贪心策略,枚举六种可能的字符排列方式,计算每种排列中字符错位的数量,并利用优化公式推导最少交换次数。最终返回所有排列中所需交换次数的最小值。算法核心为局部优化,通过统计各区间字符误放情况高效判断最优解。
2025-06-08 21:51:40
995
原创 100. 2017年蓝桥杯省赛 - 九宫幻方(困难)- 暴力搜索
本文围绕三阶幻方的还原问题,分析了其判断算法的实现思路。程序通过预设8种标准幻方排列,采用暴力搜索方法,逐一比对输入矩阵与标准解的匹配性,从而判断是否存在唯一解或多解。由于三阶幻方解空间有限,暴力法具有实现简单、效率高的优势,适用于本问题。
2025-06-07 16:12:32
708
原创 96. 2017年蓝桥杯省赛 - Excel地址(困难)- 进制转换
本文讨论了如何将一个整数转换为 Excel 地址表示法。Excel 列号使用字母表示,如 A 对应第 1 列,Z 对应第 26 列,AA 对应第 27 列等。题目要求将给定的整数转换为对应的 Excel 地址表示,这个过程类似于进制转换,但采用了 26 进制的变种,关键在于 Excel 的列号从 1 开始,而非传统的 0 开始。
2025-06-06 23:19:56
1380
原创 基于 sklearn 的均值偏移聚类算法的应用
均值偏移(Mean Shift)是一种基于密度峰值的无监督聚类算法,最早由 Fukunaga 和 Hostetler 于1975年提出。均值偏移聚类算法是通过计算数据点的局部均值来不断更新每个数据点的位置,直到所有的数据点都趋于聚集在密度较高的区域。其本质上是一种基于梯度上升的方式,通过对数据点的迭代移动找到最密集的区域,最后将数据点聚集成簇。与传统的基于距离的聚类方法(如K-means)不同,均值偏移聚类不需要预先指定簇的数量,它自动寻找数据分布的密度极值点进行聚类,能够处理非规则形状的数据分布。
2025-02-25 01:08:29
1200
原创 亲和传播聚类算法应用(Affinity Propagation)
亲和传播(Affinity Propagation,简称 AP)是一种基于“消息传递”的聚类算法,与 K-Means 等传统聚类方法不同,它不需要用户预先指定簇的数量,而是通过在数据点之间传递相似度信息来自动确定簇数。其核心思想是每个数据点都会向其他数据点发送关于是否可以作为簇中心的“责任”信息,同时也会接收来自其他数据点的“可用性”信息,从而在算法迭代中自我调整,最终找到簇中心。
2025-02-02 21:09:59
762
原创 K-means 算法在无监督学习中的应用
K-means算法是无监督学习中常用的一种聚类分析算法。它旨在根据数据点的特征将数据集分成K个簇,使得同一簇内的数据点相似度高,而不同簇之间的数据点相似度低。该算法通过寻找数据中的潜在结构来自动划分数据,广泛应用于聚类分析、图像分割和异常检测等领域。本文详细介绍了K-means算法的原理、数学模型、实现步骤,并通过三个应用方向的案例说明了K-means在无监督学习中的应用。
2025-01-07 23:55:18
1199
原创 使用 Scikit-learn 实现普通最小二乘法与非负最小二乘法
Scikit-learn 是一个功能强大的机器学习库,它提供了简单易用的接口来实现各种机器学习算法。本文将详细介绍如何使用 Scikit-learn 实现普通最小二乘法(Ordinary Least Squares, OLS)和非负最小二乘法(Non-Negative Least Squares, NNLS)。我们将对两种方法的公式、操作范围、优劣势以及结果进行对比分析。
2025-01-06 03:35:14
1102
原创 math(数学函数)
math 是 Python 标准库中的一个数学函数库,提供了各种数学运算相关的函数和常数,如三角函数、对数和指数函数、幂函数、绝对值函数等。此库还包含常用的数学常数,如圆周率π和自然常数e。除此之外,math 模块还提供了一些常用的计算功能,如阶乘、最大公约数、整数平方根等。这个库适用于基本数学运算和简单的数学计算需求。需要注意的是,math 模块中的函数不支持复数计算;如果需要处理复数,请使用 cmath 模块。
2025-01-02 23:34:47
1189
原创 办公自动化:生成国家奖学金申请审批表
国家奖学金申请是每个学年中学生们的重要事务之一。学生需要填写详细的申请信息,并且最终提交给各院系进行审批。然而,传统的手工填写和审批过程往往耗费大量的时间和精力,尤其是对于大量学生的申请,审批人员需要逐一处理。为了提升效率,我们可以利用办公自动化工具生成一份规范的国家奖学金申请审批表(模版)。
2024-11-23 22:45:49
849
原创 Faker(伪造者)
Faker是一个用于生成各种伪造数据的 Python 库,广泛应用于测试、数据填充和数据模拟的场景中。它可以生成包括姓名、地址、电话号码、公司、电子邮件、信用卡等各种类型的随机数据。此外,Faker支持多语言数据生成。
2024-11-14 18:37:24
1225
1
翻译 random(随机数)
Python的random库是用于生成随机数的标准库。它提供了各种功能,可以产生伪随机数、随机选择元素、打乱序列等。该模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。在实数轴上,有计算均匀、正态(高斯)、对数正态、负指数、伽马和贝塔分布的函数。为了生成角度分布,可以使用 von Mises 分布。几乎所有模块函数都依赖于基本函数random(),它在左开右闭区间内均匀生成随机浮点数。
2024-11-14 00:03:09
805
转载 Matplotlib(绘图)
Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表。Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。
2024-11-13 17:00:33
97
原创 爬虫案例:2345天气王历史天气获取
本项目通过爬虫获取历史天气数据,利用数据分析工具进行清洗和合并,为重庆气候趋势分析提供了可靠的数据支持。通过优化爬虫策略和代码结构,提高了爬取效率和稳定性。
2024-11-12 19:37:47
2568
原创 datetime(基本日期和时间类型)
datetime模块提供了用于处理日期和时间的类。虽然支持日期和时间算术运算,但实现的重点在于高效的属性提取,以便进行输出格式化和操作。
2024-11-11 14:08:39
2044
原创 QRcode(QR码生成器)
二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。qrcode 模块是 Github 上的一个开源项目,提供了生成二维码的接口。qrcode 默认使用PIL库用于生成图像。
2024-11-08 21:37:31
8260
2
原创 ER模型及构建图表
ER模型(Entity-Relationship Model)。它提供了一种直观和图形化的方式来表示实体、属性和实体之间的关系。通过使用ER模型,可以以图形化的方式表示数据库结构,包括实体、属性和实体之间的关系。ER模型提供了一种直观和易于理解的方法来描述数据库的概念和结构,为数据库设计和分析提供了基础。在ER模型的基础上,可以进一步转换为关系模型,以实际创建和管理数据库。
2024-11-04 23:27:05
2096
原创 NetworkX(网络图)
NetworkX 是 Python 中一个强大且灵活的库,专用于创建、操作和研究复杂网络(图)。它支持多种图类型,并提供丰富的算法和绘图功能,适用于社会网络分析、交通网络优化、生物网络分析等领域。
2024-08-17 21:55:43
7846
3
原创 Anaconda Distribution(版本分隔)
"Anaconda"是一个用于科学计算和数据科学的开源发行版,它包含了许多常用的 Python 库、工具和环境管理器。Anaconda 提供了一个方便的方式来安装、管理和使用 Python 软件包,以及创建和管理独立的 Python 环境。通过 Anaconda,用户可以轻松地安装和使用众多常用的 Python 库,如NumPy、Pandas、Matplotlib、SciPy 等。
2024-08-16 00:47:30
1425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人