自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-12-23 19:36:01 654

原创 动态规划--区间DP

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

2024-12-15 23:23:35 739

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

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

2024-12-08 22:24:46 364

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

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

2024-12-02 00:47:45 1004

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

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

2024-11-24 23:31:29 492

原创 Huffman Tree

哈夫曼树

2024-11-16 15:03:12 691

原创 Trie树

Trie树讲解

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

原创 贪心算法简介

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

2024-11-02 22:34:05 638

原创 知识点汇总

前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)-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 298

原创 C语言知识导航

C语言知识大全

2024-06-07 21:27:43 763

原创 一个容易忽视的算法

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

2024-04-28 11:07:38 806

原创 BFS详解

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

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

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

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

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

原创 五子棋AI

五子棋ai的项目

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

原创 双指针应用

双指针法的介绍

2024-03-13 22:48:50 912

原创 一道题目的另解

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

2024-03-05 22:00:30 1633

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

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

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

原创 二分查找新的方法

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

2024-03-01 21:01:54 1903

原创 DFS实现迷宫和数独

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

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

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

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

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

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

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

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

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

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

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

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

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

2024-07-29

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

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

2024-03-24

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

TA关注的人

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