自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (1)
  • 收藏
  • 关注

原创 数学--质数

1只包含1和本身两个约数。

2025-05-26 12:40:07 968

原创 Gin框架教程

Gin的参数绑定功能强大,但生产环境中常需处理复杂的输入验证逻辑,例如嵌套结构体、自定义规则或多来源参数(如JSON和查询参数混合)。我们将实现一个复杂的绑定场景,并展示如何集成自定义验证器。实现:嵌套结构体绑定与自定义验证以下示例展示如何绑定一个包含嵌套结构体的JSON请求,并实现自定义验证规则(如检查用户名是否唯一)。import ("net/http"// UserRequest 复杂请求结构体// UserPreferences 嵌套结构体// 模拟数据库// 注册自定义验证器。

2025-05-19 10:12:40 611

原创 高级数据结构:线段树

线段树是一种用于高效处理区间问题的数据结构,常用于算法竞赛中。

2025-05-11 22:01:22 1259

原创 数据结构--树状数组

树状数组是一种用于高效处理动态数组中前缀和查询的数据结构。它能够在OlognO(logn)O(logn)O(1)更新,O(n)前缀和O(n)更新,O(1)前缀和如果问题同时要大量更新和求前缀和,上述两种数据结构均会寄掉树状数组则采取折中思路,把整体O(logn)

2025-05-04 23:39:47 1237

原创 Express.js 框架教程:从入门到精通

Express.js 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供了一系列强大的特性来帮助创建各种 Web 和移动设备应用。

2025-04-28 16:25:48 471

原创 图论基础:图存+记忆化搜索

储存图有很多种方式,在此介绍两种:邻接数组,邻接表第一种虽然简单,但访问的时间和空间花销过大,因此第二种最为常见。让我们分别看看它们是什么在介绍之前,我们先解释一下此处说的“图”是什么。在算法领域,图一般指多个节点之间相互连接的关系。这就是一个简单的图:fill:#333;color:#333;color:#333;fill:none;101058ABCD从上图可以看出,节点之间的联系可以是有向的,也可以是无向的,把图分为有向图和无向图。

2025-04-20 21:25:38 881 1

原创 博弈论--NIM游戏

NIM 游戏是一种经典的组合博弈,两名玩家轮流从若干堆石子中选择一堆,并从中取走任意数量的石子。无法继续操作的玩家判负。

2025-04-14 09:28:24 1101

原创 Vue 3 生命周期钩子详解

Vue 组件的生命周期指的是一个 Vue 实例从创建到销毁的整个过程。在这个过程中,Vue 提供了一系列的"钩子"(hooks),允许开发者在特定阶段插入自己的代码,实现特定的功能。Vue 3 虽然引入了 Composition API,但依然保留了选项式 API 中的生命周期概念,只是部分钩子名称有所变化。

2025-04-05 11:28:27 1288

原创 DFS/BFS简介以及剪枝技巧

BFS指广度优先搜索。与DFS的区别在于,bfs的遍历顺序并不是优先搜索到分支的尽头,而是先遍历完当前层的全部节点,再扩散到下一层。这样的好处在于,并不需要遍历完一整个分支,而是尽可能判断多个分支,在解决最短路径问题时十分优越,因为在找到最短路径后就可以退出。让我们通过一个简单的树形结构观察一下BFS的遍历顺序A/ | \B C D/ \ |E F G/ \H I遍历顺序:A→B→C→D→E→F→G→H→I显然 BFS在遍历到CCC。

2025-03-31 01:25:05 697 2

原创 并查集概述

是一种高效的数据结构,以的形式存储,每棵树有一个被打上标记的根节点。

2025-03-23 22:36:29 362

原创 PowerInfer论文阅读

一篇CCFA论文的阅读心得

2025-03-15 11:16:17 1146

原创 动态规划——状态压缩

状态压缩指的是,通过一串0-1码保存一个集合的状态,把一个集合压缩成一个整数,所以称为状态压缩。例如,有一行棋子,它们的排列分别是:黑 白 白 黑 黑 白 黑 白这就可以用100110102_{(2)}2​来表示这个状态。一般的,我们把自然认知的第一位,如上述例子的“黑”认为是二进制里面的“1”的话,把它放在二进制权值最低的一位。第二位放在权值倒数第二低的位置,以此类推。这么转换是为了方便在调用状态,使用(>>或<<)的位操作符时更方便。

2024-12-23 19:36:01 737

原创 动态规划--区间DP

区间DP其实思路基本大体都相似,基本上推出来子状态到当前状态的状态更新就都能做了。

2024-12-15 23:23:35 769

原创 快速幂+逆元求组合数

快速幂是一种高效计算的方法。它利用指数的二进制表示,巧妙地减少了乘法次数,把原本复杂的幂运算大幅加速。通过快速幂的指数分解和模逆元的逆运算,我们轻松解决了组合数计算中的「模运算」难题。无论是科普练习还是竞赛题目,这套方法都是高效又实用的工具!快来试试,解锁你的数学超能力吧!🎉a%5Eb。

2024-12-08 22:24:46 431

原创 动态规划——子序列问题

上文提到动态规划的背包问题,本文继续介绍动态规划的另一种应用:子序列问题。子序列分为间断子序列与连续子序列,其中诸多问题例如最大递增子序列、最长回文串等等,都可以用动态规划的思路解决一、动态规划思路简介动态规划解题的关键有两步。第一步是找出题目中量的递推关系式。动态规划的代码实现是依据递推关系展开的,找出递推关系是最关键,也是最先要处理的一件事情。第二步是依据递推关系明确dp数组的下标含义,并进行正确的初始化。接下来我们从一些具体问题看一下如何使用动态规划思路解决问题。

2024-12-02 00:47:45 1095

原创 动态规划--背包问题

背包问题是动态规划最经典的问题之一,在这里,我们初步学会如何使用动态规划解决问题绝大部分情况下,动态规划步骤如下:1.状态表示:dpij→dpij→集合描述2.状态计算:划分集合,把当前状态转化为子集状态(注意不重不漏)→\to→进而写出状态转移方程接下来,让我们到题目中理解这两步的含义吧!以上便是背包问题最基础的4类模型,实际上的题目可能会结合上其他算法(状态压缩、贪心、树形DP⋯\cdots⋯又或是进行变式(求方案数,多目标⋯\cdots⋯。

2024-11-24 23:31:29 515

原创 Huffman Tree

哈夫曼树

2024-11-16 15:03:12 718

原创 Trie树

Trie树讲解

2024-11-10 16:21:05 480 1

原创 贪心算法简介

本题采用的贪心策略为尽可能地在每一步可以种花的地方种花,即追求局部最优解,如此循环过整个数组花坛之后得到整体最优解。此处使用的贪心算法是:每次装载货物的操作中,挑选当前操作下的最优解——选择重量最轻的货物装载。示例:现在一位商人需要打包货物上船,这些货物轻重各异,但价值相等,当货物重量超出船载重量就会沉船,请求出能装载的最多件数。分析问题——执行第一步的最优解——更新问题状态——执行第二步的最优解——持续迭代直到执行最后一步——得到最优解。输出格式: 输出一个整数n表示最多件数。接下来我们看一个例题。

2024-11-02 22:34:05 659

原创 知识点汇总

前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)-CSDN博客二分查找 & 二分答案 万字详解,超多例题,带你学透二分。_c++二分答案怎么确定是l<r还是l<=r-CSDN博客双指针算法-CSDN博客递归与递推_递推和递归的区别-CSDN博客并查集(disjoint sets)-CSDN博客哈希(Hash)-CSDN博客【C++】单调队列 详解-CSDN博客图解KMP算法,带你彻底吃透KMP-CSDN博客数据结构:Trie(前缀树/字典树)_字典树trie-CSDN博客第十三章 DFS与BFS(保姆级

2024-08-03 14:44:14 310

原创 C语言知识导航

C语言知识大全

2024-06-07 21:27:43 800

原创 一个容易忽视的算法

今天在做题的时候遇到一个比较有意思的题目,在这里分享给大家,同时介绍一下这个算法。如果大家是在网上买课学习算法知识的话很容易忽视掉这个点(虽然这个知识点考的也不是很频繁)。虽然CSDN上也有这个算法的讲解,但我看了一下都不是特别详细,所以还是打算详细地介绍一下这个算法。

2024-04-28 11:07:38 825

原创 BFS详解

宽度优先算法(又称广度优先搜索)讲解和例题。

2024-04-16 22:41:37 1802 1

原创 解决getpixel效率太低的问题

在很多新手学习easyx库时,都会用到getpipel来获得某个点的像素。然而,如果想要获得整个屏幕,或者图片所有点的像素,则需要很长的时间。这里给出一种比较简单的方法,能显著提升扫描整个屏幕像素的时间,亲测大概能提高100倍的时间。

2024-03-23 15:08:00 567 1

原创 五子棋AI

五子棋ai的项目

2024-03-20 23:24:47 222 1

原创 双指针应用

双指针法的介绍

2024-03-13 22:48:50 923

原创 一道题目的另解

由于对计算机科学的热爱,以及有朝一日成为 「Bessie 博士」的诱惑,奶牛 Bessie 开始攻读计算机科学博士学位。经过一段时间的学术研究,她已经发表了篇论文,并且她的第篇论文得到了来自其他研究文献的次引用。Bessie 听说学术成就可以用指数来衡量。指数等于使得研究员有至少篇引用次数不少于的论文的最大整数。为了提升她的指数,Bessie 计划写一篇综述,并引用一些她曾经写过的论文。由于页数限制,她至多可以在这篇综述中引用篇论文,并且。

2024-03-05 22:00:30 1674

原创 一道经典题目的新方法

给定三个整数数组请你统计共有多少个三元数组。

2024-03-04 19:34:55 424 1

原创 二分查找新的方法

相信大家都已经对二分查找的思路很了解。但是知道怎么做不等于能做出来,尤其是将思路转化为代码时往往会遇到各种细节上的问题。在初学二分查找时尤为明显。本章将介绍二分查找的基本思路及不容易记错记混的二分查找模板。在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval search algorithm)[1]对数搜索算法(英语:logarithmic search algorithm)[2],是一种在有序数组中查找某一特定元素的搜索。

2024-03-01 21:01:54 1925

原创 DFS实现迷宫和数独

对DFS的简要说明和题目举例

2024-02-28 18:52:46 862 1

原创 用链表实现栈的相关函数

【代码】用链表实现栈的相关函数。

2024-02-22 11:38:08 372 1

原创 分享一道有意思的题目

给你N个数的。询问:该序列中是否存在个数能构成三角形。数据范围:每个数,输入格式:第一行输入M,表示M次询问;接下来M行,每行第一个数字为N,表示数字个数,接下来输入N个数输出共M行,如果存在则输入1,否则输入0。

2024-02-21 19:03:48 445 1

原创 c语言实现飞机大战小游戏

每5ms刷新一次屏幕,用draw函数绘制英雄,英雄子弹,敌机,敌机子弹,和背景星星,同时用collide函数计算子弹和敌机之间距离,如果过近则销毁并绘制爆炸图像。注2:如果没有BeginBatchDraw和FlushBatchDraw函数,这个屏幕会一直闪烁,影响游戏体验,因此一定要加上。注1:easyx库只能用c++语言,不能用c语言,但本人感觉两者还是挺相似的,大多数基础的c语言代码c++也能跑。最近刚学了一点easyx库的知识,写了一个飞机大战的小游戏。下面是游戏代码(需提前下载easyx库)

2023-11-02 22:51:30 322 1

java语言实现的飞机大战小游戏

用java语言实现的飞机大战小游戏,教程来自b站的尚学堂。

2024-07-29

自制的飞机大战敌人小游戏

是一个cpp的文件。需要下载easyx库才能运行代码。

2024-03-24

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

TA关注的人

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