自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CLion中CMake编译调试单个CPP实例的方法(算法竞赛必备)

好吧其实都不用配置了,只需要每次新建一个.cpp文件的时候。

2024-10-24 10:58:05 349 1

原创 动态规划之背包才是万恶之源(CF E. K Balanced Teams)

个物品放入前面一个组里面,只有这两种情况需要考虑,满足了不漏的原则(因为如果放入的话极差可能会变化,可能需要新的一个组,导致最终的人数减少);接下来我们来看看这道题是如何转化成01背包的思考方式的;有了这个dp数组的定义之后,我们就可以考虑怎么转移了:在01背包中,我们考虑转移是从是否把第。对于01背包我们是怎么设计dp数组的呢–>dp[i, j]:表示只考虑前i个物品,物品总体积。就因为这个不超过,很容易联想到背包问题的思考方式;个物品放入背包中,那么在这道题,其实也可以用类似的方式考虑,即是否把第。

2024-10-19 11:27:01 676

原创 P4310 绝世好题(带位运算的DP)题解

这个时候,我们还要再进行一步操作,把所有位上位1的数更新成k,为什么呢?是否满足条件的所有子序列的集合,其中数组存储的值就是子序列长度的。的数字,那么dp数组可以设计成二维的。,那么就可以接上前面的同样该位为。那么我们该如何考虑转移呢?为1,那么他一定可以接上前面的第。但是我们最终不只是仅仅考虑第。个数字结尾,并且只考虑。位同样为1的数字,所以。

2024-10-19 00:48:54 362

原创 动态规划之合唱队形

其实这道题和最长上升子序列和导弹拦截这类题目都有一个共同点:就是要求一个最长的单调序列,这个序列可能是严格单调也可能不是,但最后都是单调,所以最后可以转化成一道线性dp的模版题–>最长上升子序列,就是两个循环嵌套就解决了;

2024-10-11 00:09:33 214

原创 01背包变种之完全装满问题

这里有一种很巧妙的处理方式,即把不能刚好填满背包的值赋为-INF(即标记为无效的状态),例如dp[1][0] = 0而不是-INF,因为其确实填满了背包;这样处理过后,我们只需要判断。是否大于0即可判断是否能填满背包并且得到能填满背包所有价值的最大值了;那如果把条件换成:求背包刚好装满的时候的最大值,阁下又该如何应对;是有效的,说明背包能恰好背装满且有最大值;关于01背包,其实就很简单了,可以看看我的另一篇文章。综上所述,当求出来所有的状态之后,若。

2024-10-09 11:08:41 293

原创 模运算的一些性质

今天无聊刷水题的时候发现自己对于模运算的一些性质知之甚少,故写了这篇文章来总结一下一些模运算的定理和性质;水题;这道题如果用暴力+前缀和解法是这样的(会TLE):但是其实这道题用到了一个性质:,反过来同理;那怎么用这一个性质呢? 我们可以找第一个模等于k和最后一个模等于k的数,两个数的下标相减就是最长的区间啦 ;完整代码如下(有注释):一些开箱即用的性质(减法就是加一个数的相反数,和加法基本相同,不做赘述)这些性质的证明基本上遵循以下方法:令 a = p * k1 + r1, b =

2024-10-08 11:07:21 370

原创 最长上升子序列解法及其优化

那为什么这张图是单调上升(即q[i, j] > q[i - 1, j])的呢,别急,这里给出证明:若q[i]

2024-10-07 23:18:46 360

原创 二分答案耶~

当我们不太容易找到一个答案,但是能比较容易判断一个答案是否正确的时候,我们会想到怎么去解决只一个问题呢?,因为x成立的话x+1也一定成立(类似这种的);,例如这道题的check函数–>代表了答案具有。二分查找想必大家一定都不陌生吧,二分答案的一个显著特征是比较容易。但是根据题目所给的条件,会发现。二分答案的另一个显著特征就是。

2024-10-06 15:58:49 147

原创 完全背包问题代码细节

其实完全背包问题可以看成是每个物品都有k个的01背包问题,这样就有了朴素的完全背包问题的做法;想必到这里读者应该可以明白为什么了吧:每次都把最大值赋给f[i][j],这样最后得到的结果就和表达式相同了;这里的降维优化其实和01背包的是一个东西,都是利用滚动数组的特性,但是和01背包的又有一点不太一样;的时候,及时就相当于01背包的这一行代码了,然后再不断地和。–>为什么01背包有一个。发现多重背包就可以从正面枚举到后面,比较大小,这样就实现了上述表达式;其实是这样的:当完全背包的。是从后面往前面枚举的,

2024-10-02 10:43:16 359

原创 分层图详解(不那么详细但是好理解的详解AWA)

一般我们看到在最短路中,有k条边的边权可以变化(变成0或是变成w/2基本可以大概确定是分层图的做法了),其实分层图和最短路本质上是一样的,只是在不同层之间连接了一条边,并且根据题目的条件进行转移罢了;

2024-09-28 22:31:15 213

原创 一个各种常用但是容易忘记的模版的文章(持续更新)

一个判断是否为质数的模版(老是忘记QAQ)

2024-09-27 13:02:01 102

原创 E. Rendez-vous de Marian et Robin题解

这篇文章提供了一个比隔壁某天ye更简单的思路和更好理解的代码(bushi);

2024-09-26 10:54:01 471

原创 D. Robert Hood and Mrs Hood题解

当我满心欢喜的提交代码的时候~Time limit exceeded on test 3 ~,来分析下为什么:每次我们在找到一个新的左区间端点x的时候都需要重新遍历来计算一次一共有几个区间和[x,x+d-1]有交集;内所有可能起始日,并找出满足需求的起始日(即和brother的重合数最多,和mother重合时间最少);与几个区间有交集呢,这里提供了一个思路:==>一开始我的想法就是枚举每一个可能的左区间。根据题目的意思,我们是需要检查在范围。,并且计算以该点为左区间的整个区间。

2024-09-23 10:04:18 962

原创 关于OpenGL利用VBO绘制以及VBO和VAO的关系

VBO和VAO是OpenGL中非常重要的概念,这里先解释一下是什么意思:顶点数组对象:Vertex Array Object,VAO顶点缓冲对象:Vertex Buffer Object,VBO初学者很容易弄错两者的关系刚开始我也弄错了QAQ。

2022-08-23 21:25:56 937

原创 关于Visual Studio C++相对路径的问题

关于Visual Studio C++相对路径的问题。

2022-08-22 21:40:02 1108

原创 线段树详解(AWA)

这里我稍微的解释一下,这里每次扫描,只要扫描到左右区间能完全覆盖到的地方,就可以直接返回了,剩下了很多的不必要的计算,再在查询的时候直接更新,再加上就好。(注意:这里的每个区间都是左封闭右开放)根节点的两个子节点就是自己二分的结果,通过不断的二分,构造出这样一棵树,我们就叫他。线段树,顾名思义,就是一棵树,所以对树的操作线段树也不能少。构建树的过程也是相当简单QAQ,因为树是由递归定义的,所以我们只需要稍微搞个递归就好啦~,确实是个好用的工具,但是!有了修改,那么自然要有查询的操作,查询也很简单()。...

2022-08-20 11:11:42 541

原创 离散化思想详解

当有效数据量可控,但数值落在的数值空间非常大的时候,离散化思想就可以派上用场了。经过时间和空间的优化,这道题的时间成本就可以降到可以接受的程度,而这种优化思想,就叫做离散化思想。离散化,就是把无限空间中有限的个体映射到有限的空间中去,以提高算法的时空效率。很多算法的复杂度与数据中的最大值有关,比如用数组实现的一对一标记。数据的范围非常大或者其中含有负数,但数据本身的个数并不是很多(远小于数据范围)。在这种情况下,如果每个数据元素的具体值并不重要,重要的是他们之间的大小关系的话。.........

2022-08-17 14:54:15 408 2

原创 动态规划----背包问题(完全背包问题)

有N种物品和一个容量为V 的背包,每种物品都有无限件可用。放入第i种物品的耗费的空间是Ci,得到的价值是Wi。求解:将哪些物品装入背包,可使这些物品的耗费的空间总和不超过背包容量,且价值总和最大。...

2022-08-15 16:58:52 297

原创 动态规划----背包问题(01背包问题)

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。其实理解了以后就很简单,这里通过列表的方法来帮助理解AWA。)的整数,分别表示采摘某株草药的时间和这株草药的价值。输出在规定的时间内可以采到的草药的最大总价值。.......

2022-08-15 11:35:36 113

原创 题目:扩展二叉树(树的基本操作)

由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二叉树的先序和后序序列能唯一确定其二叉树。现给出扩展二叉树的先序序列,要求输出其中序和后序序列。这一题其实考的就是对树的相关操作,这里来简单的归纳一下。提示就是没有提示AWA。...

2022-08-12 11:03:38 308

原创 题目:医院设置(经典的树结构题目)

设有一棵二叉树(如图,其中圈中的数字表示结点中居民的人口,圈边上数字表示结点编号。现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻结点之间的距离为1。就本图而言,若医院建在1处,则距离和=4+12+2*20+2*40=136;若医院建在3处,则距离和=4*2+13+20+40=81…….........

2022-08-11 21:23:44 372

原创 学习笔记----最短路----Floyd

学习笔记:Floyd算法awa

2022-08-10 14:31:42 145

原创 题目:单词查找树(字典树AWA)

题目:单词查找树(字典树)

2022-08-08 17:18:31 195 1

原创 题目: 黑白棋游戏

题目:黑白棋游戏

2022-08-08 01:18:25 1065

原创 题目:解药毒药

题目:解药毒药 (BFS)

2022-08-06 15:31:32 622

原创 题目:【交流七】找礼物

东莞中学暑期集训----题目:【交流七】找礼物新年到了,突然间,就在那美丽的一霎那,你好友和你(K个人)的周围满是礼物,你发扬你帅气的风格,让你的好友先拿,但是每个人只能拿当前离自己最近的礼物[当然如果有并列的多个礼物离你的距离相等(精确到小数后四位,所有运算均为去尾),这些礼物就都属于这个人]。现在告诉你每个礼物的坐标,还有每个礼物是谁送的。要你找出你的礼物离你多远,你能拿到多少礼物,这些礼物是谁送的。...

2022-08-05 17:11:13 408 2

空空如也

空空如也

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

TA关注的人

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