- 博客(18)
- 收藏
- 关注
原创 蓝桥杯常用算法介绍:动态规划(DP)
本文以动态规划(DP)中的01背包问题为核心,结合洛谷题目P1048 采药进行解析。题目要求在限定时间内选择草药使总价值最大,转化为背包模型:时间视为容量,草药为物品。通过定义状态dp[j](j秒内可获最大价值),利用倒序遍历实现状态转移(dp[j] = max(dp[j], dp[j - t[i]] + w[i])),确保每株草药仅选一次。代码使用一维数组优化空间复杂度至O(T),并强调倒序遍历的关键作用。注意事项包括边界处理及空间优化逻辑,建议延伸练习同类问题(如P1060)以巩固背包DP思想。
2025-04-03 19:49:07
276
原创 虚拟现实--->unity学习
这学期劳动课选了虚拟现实,其中老师算挺认真的,当然对一些不感兴趣的同学来说是一种折磨,我对这个unity的学习以及后续的虚幻引擎刚开始连基础的概念都没有,后面渐渐也是滋生了一些兴趣,用这篇博客记录下。
2025-03-29 18:01:13
502
原创 算法竞赛-基础算法-位运算
每次n都会向左移位,如果这位是1的话就将这个数乘到res中,再让基数进行平方,每次运算后要进行取模,这样就是一个很完整的快速幂。位运算还有一个最重要的就是lowbit(n),lowbit(n)定义为n在二进制表示下"最低位的1以及后边所有的0。这个题目就单独考虑每一位,这样时间复杂度就是O(30*n),以下是代码和解释。lowbit(n)运算配合hash可以找到整数二进制表示下所有是1的位。快速幂的计算原理就是基于位运算,把阶乘的数当作二进制一个个拆分掉。这个代码的写法同上,都是利用的位运算来进行乘法。
2025-03-17 23:01:04
373
2
原创 统计子矩阵(前缀和+双指针)
距离蓝桥杯的时间所剩无几,因此小编在此针对往年蓝桥杯进行了几个复习:这是关于前缀和和双指针的经典题型。给定一个 N×MN×M 的矩阵 AA,请你统计有多少个子矩阵 (最小 1×11×1,最大 N×MN×M) 满足子矩阵中所有数的和不超过给定的整数 KK?
2025-03-10 13:00:54
507
原创 不再迷路:游戏寻路揭秘
A* 算法是游戏开发中最经典的寻路算法之一,它结合了最短路径搜索和启发式评估,使游戏角色能更智能地找到最优路径。相比之下,广度优先搜索(BFS)*可以保证找到最短路径,但由于它不考虑目标方向,搜索范围往往比 A更广,导致效率较低。而Dijkstra 算法**虽然也能找到最优路径,但由于它对所有节点一视同仁,计算量较大,不如 A* 高效。无论是 MOBA、RTS 还是 RPG 游戏,A* 算法都能帮助角色避免“傻撞墙”,提升游戏体验。
2025-03-03 22:03:23
640
原创 数学图形计算器:QCPlotter——C++实习项目
项目概述在本项目中,我们开发了一个数学图形计算器——QCPlotter,旨在提供一个用户友好的平台,让用户能够通过输入数学表达式,实时生成并查看相应的数学图像。项目分为前端和后端两部分,其中后端负责处理数学表达式的解析和计算,而前端则提供了直观的用户界面。后端开发总结后端的核心任务是实现数学表达式的解析和计算。为了支持复杂的数学计算,我们选择了 exprtk 库,它允许我们解析并计算用户输入的表达式。
2025-01-10 20:33:11
866
原创 即时反应:对砍系统Demo实现
这款Demo模拟了“即时对砍”的核心玩法,通过时间流逝与玩家、敌人之间的攻防互动构建战斗循环。游戏机制包括:玩家可在敌人攻击间隔内执行攻击、格挡或闪避,每个行为消耗不同时间;当敌人攻击间隔耗尽,立即触发攻击,若敌人在此之前被击杀则攻击取消。游戏以击败敌人的数量作为得分,玩家生命值降为零时结束。
2024-11-27 11:31:31
758
原创 盗黄金(排序+前缀和+二分)
这就本题的解题思路,主要运用了排序+前缀和+二分的思想,整体思路是非常简单的,如果有更多有新意的题目,欢迎与我们一起交流。
2024-11-11 22:34:31
313
原创 Mansur传奇--前缀GCD
本任务旨在寻找给定正整数数组的最小GCD表达式值。通过证明不等式x+gcd(x,y)≤y,我们得知选择最小数作为起始值是贪心策略的一部分。通过暴力枚举,我们每次选择一个数,使得当前GCD值最小化,并将该数标记为已使用。如果GCD值不再减小,则停止枚举。对于剩余未使用的数,将它们与最终GCD值相加。由于GCD的性质,此方法确保了表达式的最小值。
2024-11-02 16:55:38
355
原创 实用小工具——桌面便签
在这篇博客中,我们介绍了一款实用的小工具——桌面便签。通过简单易用的界面,用户可以轻松管理未完成的任务。便签支持自动换行、编号功能,并允许用户随时添加或删除任务。更重要的是,这个工具具有透明背景,始终显示在其他应用程序之上,方便用户随时查看和更新任务。无论是工作还是生活,这款桌面便签都能帮助你更好地组织和安排日常事务。
2024-10-23 21:20:11
370
原创 C++面向对象A思考题:解密再加密
本项目旨在实现一套文本解码和加密系统,采用多步骤处理流程,提升文本处理的灵活性与安全性。首先,通过解码函数将加密文本转换为可读格式,之后将其转换为全大写,增强文本的可视性。接着,使用字符串流技术实现每个单词的倒序,增加文本的复杂性。随后,通过字母位移方法对字母进行加密,确保信息安全。最后,结合随机字符替换功能,进一步提升文本的隐蔽性。本项目的实现不仅提高了对文本的处理能力,还为信息保护提供了有效手段,适用于多种场景的加密需求。通过此实验,掌握了字符串处理、字符转换等基本编程技巧,增强了对C++编程语言的理解
2024-10-21 21:53:30
798
原创 青蛙的约会
本问题探讨了两只青蛙在纬度线上相遇的可能性及其相遇时间。青蛙A和青蛙B在未明确对方特征和具体见面位置的情况下,分别从不同起点出发,朝同一方向跳跃。通过分析跳跃长度和纬度线总长,我们得出了判断青蛙能否相遇的数学模型,并计算出在能够相遇的情况下,它们各自跳跃的次数。该问题涉及最大公约数和最小公倍数的计算,以及环形数轴上相遇点的确定。
2024-10-13 23:03:13
1006
1
原创 如何利用简单C++语言创作出月亮 东升西落 阴晴圆缺
有没有同学经常碰到一些趣味作业?这篇文章就将对“用c或者c++语言编写出月亮的东升西落,阴晴圆缺”这个作业进行细致讲解。
2024-09-10 23:19:22
565
4
原创 全局连点器——刷挂机游戏的小工具
最近在Steam上关注到了一些特别的点击类挂机游戏:Banana、egg、cats、Burger等,因此,我打算自己开发一个连点器小程序来刷Burger的成就(doge)
2024-09-08 22:40:44
705
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人