自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Peter算法小课堂—树链剖分(1)

重儿子:子树节点最多的儿子称之为“重儿子”。若有两个儿子子树大小相同,约定选取编号较小的儿子。如图,请你写出1、3、4的重儿子由上面的定义,我们知道1、3、4的重儿子分别为3、2、5我们用一个数组son[]存u的重儿子编号,按照上图,我们可以列出这张表重边:每个节点与他的重儿子之间的连边为重边。那么,我们就把这棵树划为了这样子重链:将相邻的重边连接起来,就成了一条重链。就变成了这样子那么,我们用一个数组top[]来存u所在重链的链头(最高点)。由上图,可以写出top[]

2024-05-17 21:08:40 456 6

原创 Peter算法小课堂—序列切割

讲序列切割之前,先来个铺垫。

2024-05-13 15:14:31 323 5

原创 Peter算法小课堂—动态规划斜率优化

大家来到这一堂课,就说明大家已经学过函数了直线方程:y=kx+b大家可以算一算。其实,在数学上,这玩意要分类讨论那么,这唯一的交点就是我们要背出来的。

2024-04-12 18:59:43 1001 9

原创 Peter算法小课堂—线性dp

f[i][j]表示x[1]、x[2]……x[i]和y[1]、y[2]……y[j]的LCS。

2024-04-07 16:54:30 1046 7

原创 Peter算法小课堂—树状数组

大家好,我是的讲正文前,先来一个很重要的知识点:L SB(SB?

2024-04-06 07:56:35 442 7

原创 Peter算法小课堂—动态规划

今天讲一讲各类动态规划的杂题先来看看《高中生物学》样例1,GTAT;样例2,CC;样例3,ATGCT净整那没用的,(抽象化)思考状态转移方程,好的,第一题讲完了,才发现标题没写。

2024-03-26 09:50:57 857 3

原创 Peter算法小课堂—最大边最短路

这一片文章把整个图论的知识都用上了,基础芝士如下二话不说,题呢?

2024-03-17 18:33:01 551 10

原创 CSP初赛备考—汉字与运算

英文字符的编码有两种:①ASCII标准码,7位(128个字符)②ASCII扩展吗,8位(256个字符)

2024-03-10 19:38:49 246 2

原创 Peter算法小课堂—动态规划

Peter来啦,好久没有更新了呢今天,我们来讨论讨论提高组的动态规划。

2024-02-25 15:51:24 1036 8

原创 Peter算法小课堂—哈希与哈希表

额……字符串我们是第一次学,给大家铺一些基础的不能再基础的基础,

2024-02-16 11:43:59 702 11

原创 Peter算法小课堂—区间模型(2)

上次咋们讲了前两个区间模型:1.最大不重叠区间数 2.不重叠区间最少分组数。今天我们就学习:最小区间覆盖问题、区间重叠最厚层数!

2024-02-13 16:40:15 417 4

原创 Peter算法小课堂—区间模型

Peter Pan来啦……

2024-02-13 12:53:06 349

原创 Peter算法小课堂—背包问题

f[i][j]:用前i个物品,每个物品只能选或不选,满足重量和小于等于j的所有选法中,价值最高的那个方案。最终答案:f[n][c]

2024-02-11 14:40:07 2513 7

原创 Peter算法小课堂—单调队列

祝大家新年快乐!今天这一次有点简单。单调队列有两个要点,一个是单调,另一个就是我们的队列。听到队列,我相信大家一定会想到它的好朋友BFS吧。但是……今天……可……没……那么……简单哦。

2024-02-11 11:26:16 573 2

原创 Peter算法小课堂—枚举优化

哈哈哈,新年快乐!这一次Peter将要给大家讲一讲轻松、摆烂的算法—枚举!咋就是说呀,枚举这个玩意我语法就会了。但大家想想,咱们CSP考试时(除了没过初赛的)只给1秒,大家想想,这出题老师得有多抠啊。大伙们信不信,就这种easy的题,都配出进普及组,不管大家信不信,例题给我搬上来。

2024-02-09 14:15:09 864 6

原创 Peter算法小课堂—Dijkstra最短路算法

大家好,我们人见人爱、花见花开、车见车爆胎的Peter Pan来啦,hia~hia~hia。今天,我们今天来学习的最短路算法啦。啊这……什么是Dijkstra算法?长文警告⚠正经点啊。

2024-02-03 22:20:14 783 13

原创 Peter算法小课堂—二叉堆(优先队列)

/用数组模拟堆。

2024-01-28 19:47:49 511 11

原创 备考CSP-J—贪心

额……既然是备考,那么一定要动脑筋,一共5题,大家好好思考一下。五:某天 KID 利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID 虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为 w 的物品。岛上金属有 s 个种类, 每种金属重量不同,分别为 n1,n2,...,ns,同时每个种类的金属总的价值也不同,分别为 v1,v2,...,vs。KID 想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。

2024-01-25 16:03:33 411 2

原创 Peter算法小课堂—拓扑排序与最小生成树

讲拓扑排序前,我们要先了解什么是DAG树。所谓DAG树,就是指“有向无环图”。请判断下列图是否是DAG图第一幅图,它不是DAG图,因为它形成了一个环。第二幅图,它也不是DAG图,因为它没有方向。第三幅图才叫真正的DAG图(DAG图不一定联通)。那什么叫DAG图的拓扑排序呢?排序大家都知道。拓扑排序指,按照一定次序(箭头方向)来遍历这幅图。我们看道题吧。

2024-01-20 14:12:32 550 10

原创 Peter算法小课堂—贪心算法

思维框架:“每次找最……的物品……”

2024-01-18 18:35:58 1658 2

原创 Peter算法小课堂—并查集

最近你发现自己和古代一个皇帝长得很像:都有两个鼻子一个眼睛,你想知道这皇帝是不是你的远方亲戚,你是不是皇亲国戚。目前你能掌握的信息有m条,关于n个人:第i条信息包含两个人的编号ai,bi,表示ai和bi是亲戚。你的编号是0,皇帝的编号是1,最大编号为n-1,请问能否通过信息推理出你和皇帝是不是亲戚?可以是可以,但是……其实,我们用root()函数表示一个节点的祖宗,判断root(7)==root(8)就行了。哈哈,我们将无向边化作有向边即可,什么意思呢,就是呢,这个,啊这,嗯,差不多。回到题目,我们发现,

2024-01-17 20:19:36 561 7

原创 Peter算法小课堂—树上建模

题目描述:传说有一个大家族里共n名男性成员,编号1到n。其中共有n-1条父子关系。现在他们要挑选若干人组成家族护卫队抵抗外族入侵。i号成员的战斗力为z[i], 大家当然希望挑选最强护卫队。但是为了防止“父子矛盾”的魔咒应验,大家决定不会让父子两人同时入选。请问护卫队选出的队员总战斗力最大是多少?这题简称“树上最优独立集”。我们知道把一个树拉直后就会成为一条树链。那么思考一下如何DP,如何定义状态。那状态转移方程呢?具体的话还是dfs啊。

2024-01-12 17:57:44 535

原创 树上基本统计(模板题)

输入一棵树,1是根节点。求每个节点的父节点、深度、子树大小、子树高度。

2024-01-12 15:55:59 361

原创 Peter算法小课堂—树的应用

开篇先给大家讲个东西,叫vector,有老师称之为“向量”,当然与数学中的向量不一样啊,所以我要称之为“长度可变的数组”

2024-01-06 21:05:30 579 9

原创 Peter算法小课堂—动态规划

Peter推荐算法书:《算法导论》

2024-01-02 20:14:59 2093 9

原创 Peter算法小课堂—浮点数危机

最终发现,???但凡一个学过数学的人都知道4.1+1.1=5.2,难道……计算机CPU爆掉了?其实,计算机在用二进制储存浮点数时会有误差,比如我们要凑0.2,计算机会先凑0.125,再凑0.0625,再再……,最终还是有那么一丢丢的误差。那么,我们就不能比较大小了吗?结果……不出所料,这一次竟然答对了!Emm……怎么理解呢相信前3个大家一定理解,前面讲过是精度捣的乱。那最后一个呢?我们用数轴来解释,数轴: y-ERR y y+ERR。

2023-12-30 22:35:30 473

原创 Peter算法小课堂—贪心与二分

题目描述:有n辆车大甩卖,第i辆车售价a[i]元。有m个人带着现金来申请购买,第i个到现场的人带的现金为b[i]元,只能买价格不超过其现金额的车子。你是大卖场总经理,希望将车和买家尽量多地进行一对一配对,请问最多卖出多少辆车?

2023-12-22 17:26:59 516 14

原创 Peter算法小课堂—简单建模(4)

一条直线上,你安排了n个哨兵站岗放哨,编号从1到n。其中i号哨兵的坐标位置是x[i]。不会有哨兵站在相同的位置。作为指挥官,你需要知道3个信息:1.从左到右,每个哨兵的坐标依次是几?2.从左到右,每个哨兵依次是几号哨兵?3.哨兵编号从1到n,每个哨兵依次站在从左到右的第几个?

2023-12-18 20:22:12 188 1

原创 Peter算法小课堂—简单建模(3)

国王的奖赏系列。

2023-12-15 20:57:24 217 5

原创 Peter算法小课堂—简单建模(2)

题目描述:你是一只汪星人,地球毁灭后你回到了汪星,这里每天有n个小时,你需要为自己选择正好连续的m小时作为每天睡眠的时间。从凌晨开始,第i小时内的睡眠质量为xi,请问经过选择后,你的睡眠质量总和最大是多少?

2023-12-14 22:03:28 365 10

原创 Peter算法小课堂—简单建模(1)

简单建模是什么?建模=模拟+数据结构。

2023-12-12 20:07:37 209 8

原创 关于洛谷P1007最快的方法

你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。突然,你收到从指挥部发来的信息,敌军的轰炸机正朝着你所在的独木桥飞来!我们想想,a与b相遇,a和b分别向各自相反方向行驶,则a的反方向就是b的原方向。a和b撞在一起后,我们把a看成b,b看成a,这样就相当于相遇后不回头,继续走了。那么,时间最小就代表每个人朝离ta最近的出口走,这个时候不管L有多长,也不会出现相遇,为什么呢?假设有一个人往L+1方向走,那么ta右边的所有人都是往L+1方向走的,速度又相同,不会撞在一起。

2023-12-10 15:37:59 125 11

原创 Peter算法小课堂—贪心算法

上代码八。

2023-12-07 19:36:24 871 19

原创 Peter算法小课堂—差分与前缀和

若用暴力,枚举[l,r]中每一个元素,加j,时间复杂度为O(n),显然有更快的算法。若用差分,假设S的差分数组为A,则在A中标记第l个加j,第r+1个减j,这时再把差分数组化成前缀和数组,即可得到目标数组,时间复杂度O(n)你是一只汪星人,地球毁灭后你回到了汪星,这里每天有n个小时,你需要为自己选择正好连续的m小时作为每天睡眠的时间。接下来输入m个操作,每个操作包含三个整数 l,r,c,表示将序列中 [ l, r ] 之间的每个数加上c。给定数组A,S为A的前缀和数组,则A为S的差分数组。

2023-12-01 18:34:14 302 3

原创 Peter算法小课堂—高精度乘法

给大家看个小视频。

2023-11-30 18:34:25 180 4

原创 Peter算法小课堂—高精度减法

给大家看个小视频。

2023-11-28 18:33:10 116 5

原创 Peter算法小课堂—高精度加法

看看以下代码,请预测答案解答:1.x为x[]数组第一个元素的地址2.x+3为x[]数组第四个元素的地址3.*x为数组第一个元素4.*(x+7)为数组第8个元素5.(x+4)[1]为第5个元素后面一个元素。

2023-11-24 19:44:31 199 1

原创 Peter算法小课堂—前缀和数组的应用

相当于计数排序,看一个视频桶排序。

2023-11-23 19:09:06 202 6

原创 Peter算法小课堂—自定义容器

但是,这样写有个很危险的错误,如下int year;set<dog> s;dog a,b;return 0;运行出来是这样的,原因很简单,因为set的功能是排序、去重,然而结构体排序要加上“.",所以会报错改后代码,int year;return 0;set<dog> s;dog a,b;return 0;那么,回到原题,代码该怎么写呢?int year;return 0;set<dog> s;dog d;int n,m;

2023-11-13 18:26:19 326 19

原创 Peter算法小课堂—八皇后问题

独立集问题:安排互不冲突的个体。

2023-11-11 09:43:44 334 18

空空如也

空空如也

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

TA关注的人

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