自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 题解:P14635 [NOIP2025] 糖果店 / candy(民间数据)

本文提出了一种贪心算法解决糖果店问题。通过分析糖果的两种购买组合(单颗和两颗组合),确定最优购买策略。算法首先筛选出性价比最高的两颗组合和单颗糖果,然后优先购买两颗组合,剩余钱购买单颗,并与仅购买单颗的方案比较取最大值。时间复杂度为O(n),空间复杂度O(1),适用于大规模数据。该方法通过数学计算避免了动态规划的高复杂度,确保在m极大时仍能高效求解。

2025-11-29 14:45:30 1439 1

原创 论生死的辩证关系与生命价值的永恒性

生死问题是哲学研究的核心命题,也是人类文明发展中永恒的思考对象。本文从生命科学、哲学思想、文化传统、文学艺术等多维度出发,探讨生的偶然性与死的必然性之间的辩证关系,分析不同文明对生死的认知差异,最终提出 "向死而生" 的生命态度 —— 即在承认死亡必然性的前提下,通过创造价值、传承记忆实现生命意义的超越。研究认为,生死并非对立的两极,而是自然法则支配下生命循环的有机组成部分,对生死的深刻认知能够引导个体更自觉地把握生命价值。

2025-07-24 22:28:38 1212

原创 动态规划DP(下)

本文系统介绍了动态规划算法在多重背包、博弈论、双序列和区间问题中的应用。针对多重背包问题,重点讲解了二进制优化方法将问题转化为01背包;博弈类问题通过状态转移分析必胜策略;双序列问题采用二维DP求解最长公共子序列;区间DP则用于计算最长回文子序列。各类问题均给出状态定义、转移方程和参考代码,并强调存储子问题解、避免重复计算的核心思想。文章涵盖了动态规划的多种典型应用场景,展示了该算法通过分解子问题、建立状态转移方程来高效解决复杂问题的通用框架。

2025-07-22 15:17:25 1154

原创 动态规划DP(上)

本文介绍了动态规划(DP)的基本概念及典型应用。核心思想是通过分解问题为相互重叠的子问题,利用记忆化存储避免重复计算。文章通过多个例题详细讲解: 一维DP:硬币找零问题,用最少硬币凑金额; 二维DP:网格路径计数问题,计算机器人从左上到右下的路径数; 线性DP:最长递增子序列问题,分别给出O(n²)和O(nlogn)解法; 划分型DP:字符串回文划分问题,求最少回文划分数; 背包问题:包括01背包和完全背包,说明状态定义和转移方程差异。 每种问题都提供代码实现,并强调状态定义、转移方程和边界处理等关键步骤,

2025-07-22 14:06:43 878

原创 详解十大排序(超万字,超详细)

本文详细的讲述了最常见的十种排序,包含原理、时空复杂度分析,动图演示,C++实例,非常适合新手小白进行学习,是一篇非常优秀的博客。

2025-07-21 11:51:49 1364

原创 C++二分详解

二分查找是一种高效的搜索算法,适用于有序数组。其核心思想是通过每次将搜索范围缩小一半来快速定位目标元素,时间复杂度为O(logn)。文章详细介绍了二分查找的基本原理、C++实现(包括迭代和递归版本)、标准库函数(binary_search、lower_bound等)以及常见变体应用(如查找边界值)。同时通过多个编程例题(搜索插入位置、寻找峰值等)展示了二分查找的实际应用场景和解题思路。文章还探讨了二分查找的局限性、浮点数二分和二分答案等进阶用法,帮助读者全面掌握这一重要算法。

2025-07-21 09:11:48 978

原创 C++位运算

C++位运算总结:本文全面介绍了C++中的位运算操作,包括基础运算符(与、或、异或、取反、移位)及其应用场景。重点讲解了位操作技巧,如位访问与修改、掩码操作、变量交换、高效计算等,并提供了判断奇偶性、计算绝对值、汉明权重等实用算法。文章还指出了使用注意事项,如优先级、有符号数处理和可移植性问题,并通过示例代码演示了常见用法。位运算作为底层编程的重要工具,在性能优化和特定场景中具有显著优势。

2025-07-21 08:00:10 569

原创 STL小结

本文介绍了 STL(标准模板库)的基本概念、各类容器及相关算法。主要内容包括:1) 说明 STL 是存放数据的容器集合,比静态数组更灵活;2) 详细介绍 vector、stack、queue、string、pair、set、map 等容器的定义、特性、常用函数及注意事项;3) 列举排序、查找等常用算法及使用示例,提及 sort 函数可自定义排序规则;4) 总结 STL 遵循泛型编程思想,是 C++ 标准库核心组件,也是解题利器。文章通过具体定义和函数说明,帮助理解 STL 的实际应用,适合初学者学习。

2025-07-20 23:14:04 748

原创 树与二叉树+堆(免费详细)

本文介绍了树与二叉树的基本概念、存储结构及遍历方法。主要内容包括:1)通过图示展示满二叉树、普通二叉树、完全二叉树等不同树形结构;2)讲解用结构体存储树和二叉树的实现方式;3)详细说明先序(根左右)、中序(左根右)、后序(左右根)三种遍历方法;4)提供二叉树遍历的例题及参考代码;5)介绍堆的概念及其在优先队列中的应用,包含STL实现方法。文章通过具体代码示例帮助理解树结构的实际应用,适合初学者学习树的基本操作。

2025-07-20 11:31:24 763

原创 题解:P12686 [KOI 2022 Round 1] 面包

题目要求找到能在面包到达前或同时到达的店铺中最小的面包到达时间。算法首先筛选出满足到达时间≤面包到达时间的店铺,收集这些店铺的面包到达时间。如果没有符合条件的店铺则输出-1,否则输出这些时间中的最小值。时间复杂度为O(N),需要遍历所有店铺;空间复杂度为O(N),最坏情况下存储所有店铺时间。该问题通过贪心算法有效解决。

2025-07-20 10:12:40 292

原创 题解:P13101 致谢 | FJCPC2025全体参赛选手&赛事

摘要:本文介绍了一个处理FJCPC历年主办院校信息的C++程序。程序使用常量字符串数组存储11届比赛的院校缩写,数组索引0对应第1届。核心逻辑是直接通过输入届数n输出schools[n-1],时间复杂度O(1)。程序采用string类型确保安全性,并假设输入范围1-11有效。实现简洁高效,若需扩展只需增加数组元素即可。这种固定数据量的实现方式是该问题的最优解。

2025-07-19 17:25:04 225

原创 题解:P13095 炒股高手

本文提出了一种基于价格对数差分的区间交易策略优化方法。通过预处理价格序列,计算相邻日期的正价格差并构建前缀和数组,实现O(1)时间复杂度的区间收益查询。算法首先将价格转换为对数形式,然后识别所有可盈利的相邻交易机会(a_j < a_{j+1}),累加这些差值得到区间总收益。最终收益为初始资金e^k乘以各次交易收益的乘积(转换为对数相加)。该方法通过差分数组和前缀和优化,预处理时间O(n),查询时间O(m),总复杂度O(n+m),适用于大规模数据处理。

2025-07-19 17:22:05 136

原创 题解:P13080 [NOISG 2017] Best Places / 最佳选址

摘要:本文分析了NOISG2017竞赛中的"最佳选址"问题,要求找到使所有给定点曼哈顿距离之和最小的位置。解题关键在于利用X、Y坐标独立性和中位数性质,通过分别排序求中位数来求解。C++实现中先读取数据,对坐标排序后取中位数位置作为结果(偶数时取前一个中位数)。算法时间复杂度为O(NlogN),空间复杂度O(N)。该解法通过降维处理简化了二维曼哈顿距离最小化问题。

2025-07-19 17:15:41 321

原创 题解:P13059 [GCJ 2020 #1C] Overexcited Fan

该题目要求判断粉丝在移动过程中是否存在某个时刻t,使得从原点(0,0)到其当前位置的曼哈顿距离不超过t。解题思路是逐时刻模拟粉丝移动,每步更新坐标后检查距离条件。若满足则立即返回当前t值,否则最终输出"IMPOSSIBLE"。算法时间复杂度为O(L)(L为移动序列长度),空间复杂度O(1)。代码实现通过实时追踪坐标变化,使用曼哈顿距离公式和边界处理完成判断。

2025-07-19 17:08:23 331

原创 题解:P13049 [GCJ 2020 Qualification] Nesting Depth

摘要:本文针对Google Code Jam 2020资格赛中的Nesting Depth问题,提出了一种基于贪心算法的高效解决方案。给定数字字符串S,需插入最少数量的括号使其满足4个条件:括号匹配、移除后还原、数字d位于d层嵌套、结果最短。算法通过比较相邻数字差值动态插入括号:差值正数插入'(',负数插入')',相同不操作。C++实现采用单次遍历处理数字并维护当前深度,时间复杂度O(n),空间复杂度O(n)。关键点包括深度初始化、差值处理和末尾未闭合括号补全。

2025-07-19 16:57:44 247

原创 题解:P12984 [GCJ 2022 #1A] Double or One Thing

本题要求我们通过选择性地重复字符串中的字符(高亮操作),生成所有可能的字符串变体,并找出其中字典序最小的一个。关键在于如何高效地确定每个字符是否需要被重复才能使最终结果字典序最小。

2025-07-19 16:39:40 263

原创 前缀和与差分(免费)(一维+二维,超详细)

本文介绍了前缀和与差分两种数据处理技术。一维前缀和通过预处理数组实现O(1)区间查询,适用于高频求和场景;一维差分通过维护差分数组实现O(1)区间修改,适合批量更新。二维前缀和扩展至矩阵,可快速计算子区域和;二维差分则支持高效子矩阵修改。文章详细阐述了各技术的核心原理、实现步骤、应用场景和注意事项,并提供了完整代码示例。前缀和与差分互为逆运算,常结合使用以优化区间查询和修改操作,是处理线性与二维数据的高效工具,特别适合需要频繁区间操作的大规模数据处理。

2025-07-19 16:19:25 1290 2

C++小游戏代码.rar

没有。。。。

2025-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除