自定义博客皮肤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)
  • 收藏
  • 关注

原创 【考研408】计算机网络第一章

关于计算机网络知识整理

2023-08-11 00:04:43 131 1

原创 【动态规划百题强化计划】11~20(持续更新中)

暑期cf动态规划刷题计划,题目都是cf里面的带有dp标签的,也有部分是贪心等简单题。

2022-07-26 17:16:10 205 1

原创 史上最好用教程——Vs Code 配置c++环境【带有环境安装包】

在Vscode 中搭建C++程序环境

2022-07-26 16:27:34 746 2

原创 算法笔记(十一)动态规划初步&线性dp

动态规划初步和线性dp

2022-07-22 21:58:28 352

原创 ACM算法笔记(十)深度优先搜索与宽度优先搜索

深度优先搜索属于图算法的一种,英文缩写为DFS即DepthFirstSearch.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次宽搜相比较于深搜,更倾向于“多面地毯式搜索”。...

2022-07-14 21:52:24 588

原创 【动态规划百题强化计划】1~10

DP百题强化计划,刷题codeforces,从低档题目开始,希望能有所突破

2022-07-13 22:49:08 300

原创 算法笔记(九)前缀和与差分

前缀和:前缀和可以理解为某个序列前n项的和,不限于一维还是二维。对于一个数列an,前i项的前缀和Si = a1 + a2 + a3 + ... + ai差分:差分可以理解为前缀和的逆运算,对于一个序列an,对于任意相邻的两项ai和a(i+1),二者之差即|ai-a(i+1)|即为此数列在i处的差分。......

2022-07-11 23:08:14 233 2

原创 ACM算法笔记(七)二分查找与二分答案

二分查找和二分答案

2022-07-09 18:05:13 477

原创 ACM算法笔记(六)递归和深度优先搜索

程序调用自身的编程技巧称为递归( recursion)。递归作为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。简单来说,递归就是自己.

2022-02-06 17:38:43 1054

原创 ACM算法笔记(五)贪心算法

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。贪心算法的局部最优解:在当前子结构中,方案1是最优的解,通过方案1可以得到此子结构的最优化的解,此结构称为最优子结构。由部分最优推到全体最优。ps:贪心算法得到的解不一定是最优的解(这里就体现了贪心算法和动态规划的区别咯,以后会说)。通俗地讲,贪心算法,就是在小部分小结构中构造一个最优化.

2022-01-07 16:09:55 1199

原创 ACM算法笔记(三)【位运算详细解析】位运算实现快速幂和64位整数乘法

导语:大家都知道计算机的所有的运行操作和程序最终都是根据二进制来实现的,在我们写算法程序的时候,在编译器内部,也是将我们的程序转化为二进制序列,进行程序操作的。而位运算就是基于二进制的程序运算操作,相比于正常的运算操作,位运算不仅速度快、效率高,而且在算法设计中,还可以简化时间复杂度和空间复杂度,本篇给出位运算的两个常见的应用,通过位运算来大幅度简化时间复杂度和空间复杂度。一、位运算基本操作与运算 &或运算 |异或运算 ^非运算(求补) ~右.

2021-05-23 11:15:46 578

原创 ACM算法笔记(四)并查集

并查集一个很友好 的数据结构(bushi)并查集:(union-find sets)是一种简单的用途广泛的集合.并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数、最小公共祖先、带限制的作业排序,还有最完美的应用:实现Kruskar算法求最小生成树(以后会学到)。并查集的两种基本操作:(1)合并;(2)查询;解释:对并查集概念的理解说白了就是一种合并集合的一个“算法思想”和结构方法,这是说并查集是一种方法,一个思路,也是一种数

2021-05-16 23:05:25 321

原创 ACM算法笔记(八)背包问题_多重背包

问题描述:现在给你一个容量为V的背包,有N个物品,其中第i件物品的重量为wi,价值为vi,第i件物品一共有si件,问在有限的容量内,最多可以拿到多少价值的物品。题目分析:仔细一看,多重背包问题和完全背包问题的差距就在物品的个数上,完全背包问题是同一类物品有无数件,但多重背包不让着你,多重背包给你规定了最多件数。仔细看看还挺有意思,01背包是要么0件要么1件,多重背包是要么可以选0~si件,而完全背包则是可以选0~∞件。那我们拓展一下思维,这是规定了同类物品最多能拿的个数,要是规定了第i.

2021-04-02 17:36:59 539

原创 ACM算法笔记(八)背包问题_完全背包

问题描述:现在给你一个容量为V的背包,有N个物品,其中第i件物品的重量为wi,价值为vi,每件物品可以拿无数次,问在有限的容量内,最多可以拿到多少价值的物品。题目分析:完全背包问题和01背包好相似诶,不过貌似又不是那么一样,对于完全背包问题的每一个物品不是两种状态了,而是k+1种状态:不拿或者拿1件或者拿2件或者....刚开始看到完全背包的问题描述的时候,笔者脑海中还是蛮开心的,这不就是贪心吗?那我直接求性价比,用现在的包裹全部装性价比最高的,然后用剩下的装性价比第二高的...以此类推不就行

2021-04-02 17:32:37 190

原创 ACM算法笔记(八)背包问题_01背包

问题描述:现在给你一个容量为V的背包,有N个物品,其中第i件物品的重量为wi,价值为vi,每件物品只可以拿一次,问在有限的容量内,最多可以拿到多少价值的物品。问题分析:对于每一个物品,都有两种策略:拿或不拿。读到这里,是不是脑海中有一个清晰的想法?DFS!确实,这不就是我们常见的dfs问题吗,分别枚举拿和不拿两个状态即可。于是写下了如此代码...#include<iostream>#include<cstdio>#include<cstring&gt.

2021-04-02 17:20:56 343

原创 ACM算法笔记(二)【史上最全】快速排序(STL库函数)

######快速排序对于c++党来说是极大的福利,因为是C++(c with stl)呀!######快速排序的时间复杂度O(nlogn),在排序算法中还算是比较快的一种。对于一些题目中,需要用到排序的,基本上直接STL大法就OK咯~先上一段代码:#include<iostream>#include<algorithm>using namespace std;const int MAXN=1e+3;bool cmp(int c,int b){ return c

2021-04-02 17:08:34 1473 1

原创 ACM算法笔记(一)模拟算法【详细解析】

Tips:什么是模拟算法?模拟算法有没有什么严格的定义呢?模拟算法到底用来做什么呢?笔者:无论是noip还是icpc又或是各个网站的训练赛、模拟赛,总是脱离不了“模拟题”,所谓的模拟题,运用的“模拟算法”,其实并没有什么完全准确的定义。模拟算法,用一句老话说,就是“照着葫芦画瓢”;官方化的诠释则是:根据题目表述进行筛选提取关键要素,按需求书写代码解决实际问题。(还是老话好理解吧哈哈哈哈)模拟算法一般都是一些很基础的题目,一些神犇眼中,模拟题就是所谓的“水题”,不太需要动脑子,只要按照题目要求来就好。

2021-03-11 21:42:56 10347

空空如也

空空如也

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

TA关注的人

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