算法
文章平均质量分 88
ACM算法
ღCauchyོꦿ࿐
二十楼望去,目光所及皆是美景。探出二楼,所见之处满地狼藉。
展开
-
C++实现定积分运算
C++实现定积分运算原创 2023-12-31 20:45:00 · 561 阅读 · 0 评论 -
【DP 动态规划 | 精选推荐】持续更新
本文(DP 动态规划)章节,主要记录一些比较经典,或者说是容易理解的动态规划习题,难度一般都不会很大(≤Medium≤Medium)。原创 2022-10-11 08:00:00 · 813 阅读 · 7 评论 -
【动态规划 & 树形DP】树的换根DP(换根DP模板)
树形 DP 中的换根 DP 问题又被称为二次扫描,通常不会指定根结点,并且根结点的变化会对一些值,例如子结点深度和、点权和等产生影响。所谓换根DP,就是基于原有的状态,通过相邻节点进行转换后,现有的状态仅仅只需要进行微小的变动即可达到完美相邻状态间的切换。通常需要两次 DFS,第一次 DFS 预处理诸如深度,点权和之类的信息,在第二次 DFS 开始运行换根动态规划。那么考虑完了两个根节点之间状态的转变,根相邻节点的状态应该如何变化?的相邻节点,这些点的树高状态并不会改变,读者可以自己思考。原创 2023-01-15 14:46:16 · 828 阅读 · 2 评论 -
Splay
SplaySplaySplay 是一种二叉查找树,中文名为伸展树,它通过不断将某个节点旋转到根节点,使得整棵树仍然满足二叉查找树的性质,并且保持平衡而不至于退化为链。它由 DanielSleatorDaniel SleatorDanielSleator 和 RobertTarjanRobert TarjanRobertTarjan 发明。主要思想:对于查找频率较高的节点,使其处于离根节点相对较近的位置上。 保证了查询效率。实现起来就是,对于每次操作后的节点,执行一次操作:将该节点旋转到根节点。写些什么?首先原创 2022-07-06 07:00:00 · 362 阅读 · 9 评论 -
【模拟退火】CF2C Commentator problem
模拟退火原创 2022-06-04 17:49:04 · 340 阅读 · 32 评论 -
单调队列【模板】
文章目录单调队列题目输入格式输出格式实现代码单调队列传送门模板题,背过即可题目输入格式输入包含两行。第一行包含两个整数 n 和 k,分别代表数组长度和滑动窗口的长度。第二行有 n 个整数,代表数组的具体数值。同行数据之间用空格隔开。输出格式输出包含两个。第一行输出,从左至右,每个位置滑动窗口中的最小值。第二行输出,从左至右,每个位置滑动窗口中的最大值。样例输入#18 31 3 -1 -3 5 3 6 7输出#1-1 -3 -3 -3 3 33 3 5 5 6原创 2022-05-24 22:54:22 · 655 阅读 · 2 评论 -
单调栈【模板】
文章目录单调栈题目输入格式输出格式实现代码单调栈传送门模板题,背过即可题目给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。输入格式第一行包含整数 N,表示数列长度。第二行包含 N 个整数,表示整数数列。输出格式共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比它小的数,如果不存在则输出 −1。数据范围1≤N≤105{1≤N≤105 }1≤N≤1051≤a[i]≤109{1≤ a[i] ≤109}1≤a[i]≤109原创 2022-05-24 22:31:28 · 308 阅读 · 0 评论 -
【模板】带权并查集
读者可能会思考:上述判断不成立只有在同属于一个集合的情况下才会去判断,那么不属于一个集合然后合并的时候会不会存在矛盾呢?那么在一个集合中,得到了每个节点和根节点的奇偶性关系,通过传递性,就可以知道该集合中的任意两个节点之间的关系了。这题还有扩展域做法,集合内属性维护的是条件,放在以后的并查集扩展域模板在做记录。以第一种举例,读者可带入【a,b】为奇,【b,c】为奇,那么【a,c】为偶。所以给定一个区间【a,b】的奇偶性,实际上可以。的个数的奇偶性,找出第一个不符合的答案的回答。区间的奇偶性也已知了。原创 2023-03-31 20:27:04 · 560 阅读 · 1 评论 -
Splay解决区间问题
P3391 【模板】文艺平衡树上节已经讲解了 的具体操作,这里只做大概思路的讲解。由于每一次需要反转区间 [l,r][l,r][l,r],那么首先把 lll 的前驱旋转到根节点,再把 rrr 的后继旋转到根节点的右儿子。如此之后,会发现 [l,r][l,r][l,r] 这段区间所包含的节点,全部都处于 rrr 的左子树。即旋转完后,根节点的右儿子的左儿子所表示的就是区间 [l,r][l,r][l,r]。那么考虑,不可能每给定一个反转操作就完全执行一次。在这里我们需要给区间 [l,r][l,r][l,r] 打原创 2022-07-09 07:30:00 · 297 阅读 · 12 评论 -
01背包变种(7的倍数)
文章目录题目描述题目描述这是一道和兔子有关的签到题:かふうちの是一个可爱的初中生,虽然性格有些冷淡,但是不讨厌ココア…!?精通咖啡,并且能干可靠。今天ちの在梦境中看见了一群野兔子,棉花糖般的兔子们每一只都有一个甜度a_iai 。ちの想从中挑选出一些兔子,使得它们的甜度和是7的倍数。请问能获得的最大甜度和是多少。当然,这个问题可能太简单了,所以ココア降临了:ココア亲吻过的兔子会获得”祝福”,当ちの选择这只兔子之后,她将会减少bi{b_i}bi 点精神力。ちの最初有HH点精神力,当精原创 2022-05-03 19:01:23 · 348 阅读 · 2 评论 -
Gem 气垫车(树形dp)
P4395 [BOI2003]Gem 气垫车int h[N], e[M], ne[M], idx;int dp[N][5];int ans = 2e17;void add(int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx++;}void dfs(int u, int f) { for (int i = 1; i <= 4; i++) dp[u][i] = i; for (int i = h[u]; ~i; i = ne[原创 2022-05-08 20:38:08 · 208 阅读 · 0 评论 -
L2-3 龙龙送外卖
2022年天梯赛-全国总决赛文章目录题目题解题目龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……看着一大堆订单,龙龙想知道,从外卖站出发,访问所有点了外卖的地方至少一次(这样才能把外卖送到)所需的最原创 2022-04-28 20:46:50 · 746 阅读 · 0 评论 -
L2-4 大众情人
文章目录题目题解题目人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里,她和小蓝之间的距离为 108000,差了十万八千里…… 另外,我们进一步假定,距离感在认识的人之间是可传递的。例如小绿觉得自己跟小蓝之间的距离为 2,则即使小绿并不直接认识小红,我们也默认小绿早晚会认识小红,并且因为跟小蓝很亲近的关系,小绿会觉得自己跟小红之间的距离为 1+2=3。当然原创 2022-04-29 00:24:47 · 235 阅读 · 0 评论 -
【经典线性 DP】数组最小间隔为k的和值最大 | 河北省赛 7-8 H-信号传输
二分答案 + 线性dp原创 2022-10-08 16:45:10 · 305 阅读 · 0 评论 -
这是一道大水题
所以思路转为,包含该点的区间,该点对应的做出了多少贡献(即这个点对应的这些区间的和)。那么很容易知道,我们需要。这题主要要解决的问题就在,对于每一点,需要知道多少个区间包含了该点,并求出这些区间的和。但显然这不是很好求。对于每一个询问操作,输出不包含xx号电影的评分时的总评分。也就是这个单点加区间段的大小。...原创 2022-07-21 20:59:20 · 212 阅读 · 1 评论 -
【KD-Tree】基于k-d树的KNN算法实现
KD-Tree,又称(k-dimensional tree),是一种基于二叉树的数据结构。它可以用来高效地处理多维空间搜索问题,例如最近邻搜索(nearest neighbor search)和范围搜索(range search)等。原创 2023-05-18 08:00:00 · 707 阅读 · 2 评论 -
【华中农业大学2023年十二届程序设计竞赛(同步赛)】B. 写信
递推式:f[n]=(n−1)∗(f[n−1]+f[n−2])f[n]=(n-1)*(f[n-1]+f[n-2])f[n]=(n−1)∗(f[n−1]+f[n−2])原创 2023-04-28 22:50:24 · 1012 阅读 · 0 评论 -
【矩阵快速幂 | 斐波那契数列 | 矩阵加速】
【代码】【矩阵快速幂 | 斐波那契数列 | 矩阵加速】原创 2023-04-28 22:31:45 · 876 阅读 · 0 评论 -
【动态规划】整数划分及其变种
每个数任意选无限次,问恰好装满背包的。与上题不同的是,分的每份都不能为空,即。实际上,和第二题一致。份的方案数,换句话说就是用。,且有n个物品体积分别是。题意转为完全背包求解。原创 2023-03-28 20:00:00 · 700 阅读 · 1 评论 -
有向图、无向图找环
无向图:并查集、DFS有向图:拓扑排序、DFS。原创 2023-02-06 00:40:27 · 741 阅读 · 0 评论