自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最短路-弗洛伊德-灾后重建

B 地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。

2025-03-07 21:51:45 504

原创 树-消防局的设立

2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。这些基地通过n−1条道路连接,形成了一个树状结构。基地间的距离定义为从一个基地到另一个基地至少需要经过的道路数量。由于火星环境干燥,容易引发火灾,因此需要在某些基地设立消防局。每个消防局可以扑灭与其距离不超过2的基地的火灾。你的任务是计算最少需要设立多少个消防局,才能确保所有基地在发生火灾时都能得到及时救援。

2025-03-02 22:55:56 667

原创 字符串-斤斤计较的小z

小 Z 同学每天都喜欢斤斤计较,今天他又跟字符串杠起来了。他看到了两个字符串S1和S2,他想知道S1在S2中出现了多少次。现在给出两个串S1S2(只有大写字母或小写字母),求S1在S2中出现了多少次。

2025-02-28 16:45:23 184

原创 最小生成树-困难图

给定一个包含n个节点和m条边的无向连通图,每条边有一个难度系数w_i。对于图上的某一条路径,这条路径的难度系数定义为所有包含的边中的最大难度系数。在图上,任意两点i, j之间的难度系数D(i,j)定义为连接i, j的所有路径中难度系数最小的一条路径的难度系数。要求计算图上所有点对(i, j)的路径难度系数之和:\sum_{i=1}{n}D(i,j)

2025-02-27 12:01:49 158

原创 最小生成树-克鲁斯卡尔模板-旅行销售员

这可以通过构建图的所有边的一个最小生成树(MST)来实现,然后找到MST中的最大边权重作为答案。蓝桥公司招聘了一个推销员,他大部分时间都在不同的城市之间旅行,并决定买一辆新车来帮助他的工作。每个城市至少有一个加油站,但城市之间的道路上没有加油站。给出城市及其之间道路的描述,找出所需油箱的最小容量,以便推销员能够至少以一种方式在任何一对城市之间旅行。函数实现了Kruskal算法的核心逻辑:对所有边按权重排序后,利用并查集(Union-Find)尝试将边添加到最小生成树中,同时更新最大边权重作为最终答案。

2025-02-27 11:58:16 138

原创 最短路-慈善晚会

热心公益的G哥哥又来举办慈善晚会了,这次他邀请到了巴菲特、马云等巨富,还邀请到了大V、小C等算法界泰斗。晚会一共邀请了n位尊贵的客人,每位客人都位于不同的城市,也就是说每座城市都有且仅有一位客人。这些城市的编号为12...n,G哥哥决定将晚会放在p城市举办。城市之间有m条单向的交通路径(两座城市间可能同时存在多条直接相连的路径),通过每一条路的花费的金币为ti​。G哥哥十分慷慨大方,决定为他的客人们报销了旅途中的花费。这些客人也都比较节俭,因此他们会选择花费最少的路径往返p城市。

2025-02-26 16:48:03 895

原创 最短路-混境之地3

小蓝有一天误入了一个混境之地。n×mx1​y1​x2​y2​ABZABZE小蓝想知道他能否逃离这个混境之地,如果可以逃离这里,则输入Yes,反之输出No。

2025-02-26 15:09:56 808

原创 最短路-混境之地1

小蓝有一天误入了一个混境之地。n×mABCDkpi​x1i​y1i​x2i​y2i​坏消息是:小蓝仅剩下E点能量。小蓝可以往上下左右四个方向行走,每行走一步,消耗一点能量。小蓝想知道他能否逃离这个混境之地,如果可以逃离这里,请你帮他计算一下,他最多可以剩下多少能量;如果无法逃离则输出-1。

2025-02-26 15:08:49 845

原创 最短路-Dijkstra模板

小明是蓝桥王国的王子,今天是他登基之日。在即将成为国王之前,老国王给他出了道题,他想要考验小明是否有能力管理国家。题目的内容如下:蓝桥王国一共有N个建筑和M条单向道路,每条道路都连接着两个建筑,每个建筑都有自己编号,分别为1∼N。(其中皇宫的编号为1国王想让小明回答从皇宫到每个建筑的最短路径是多少,但紧张的小明此时已经无法思考,请你编写程序帮助小明回答国王的考核。

2025-02-25 22:05:17 731

原创 最短路-Floyd模板

小明喜欢观景,于是今天他来到了蓝桥公园。已知公园有N个景点,景点和景点之间一共有M条道路。小明有Q个观景计划,每个计划包含一个起点st和一个终点ed,表示他想从st去到ed。但是小明的体力有限,对于每个计划他想走最少的路完成,你可以帮帮他吗?

2025-02-25 22:03:51 1015

原创 DFS-混境之地7

小蓝有一天误入了一个混境之地。n×mABCDx1​y1​x2​y2​ABBCCDDA小蓝可以往上下左右四个方向行走。小蓝想知道他能否逃离这个混境之地,如果可以逃离这里,则输出Yes,反之输出No。

2025-02-25 16:09:04 610

原创 BFS-混境之地4、6

小蓝有一天误入了一个混境之地。n×mVABCD好消息是:他可以通过圣泉恢复体力。坏消息是:小蓝仅剩下E点能量,能量值不可小于 0。每行走一次消耗一点能量,耗时一分钟,在圣泉处每一分钟可以恢复一点体力,无上限。小蓝想知道他能否逃离这个混境之地,如果可以逃离这里,则输入所需要的最少时间,反之输出No。

2025-02-25 16:05:15 1435

原创 树状数组-树状数组模板

如题,已知一个数列,你需要进行下面两种操作:- 将某一个数加上 $x$。- 求出某区间每一个数的和。

2025-02-21 16:20:19 816

原创 线段树-线段树模板

如题,已知一个数列ai​k。

2025-02-21 16:16:41 647

原创 单调队列-买蛋糕

小蓝去蛋糕店买蛋糕了,蛋糕店有n个蛋糕摆在一排,每个蛋糕都有一个高度hi。小蓝想买kkkx现在小蓝想知道,他任选k个连续摆放的蛋糕,恰好符合他要求的概率是多少。由于精度问题,你的输出需要对998244353取模。

2025-02-21 16:14:02 987

原创 单调栈-百亿富翁

这天小明买彩票中了百亿奖金,兴奋的他决定买下蓝桥公司旁的一排连续的楼房。已知这排楼房一共有N栋,编号分别为1∼N,第i栋的高度为hi​。好奇的小明想知道对于每栋楼,左边第一个比它高的楼房是哪个,右边第一个比它高的楼房是哪个(若不存在则输出-1但由于楼房数量太多,小明无法用肉眼直接得到答案,于是他花了1个亿来请你帮他解决问题。

2025-02-21 16:09:26 875

原创 DFS序-树中颜色

一天,小蓝在他的小屋外发现了一颗神奇的树,它的树叶上闪烁着各种不同的颜色。每个节点都有自己独特的颜色,这些颜色代表了树上不同生物的种类。小蓝对这棵树产生了浓厚的兴趣,并决定用算法来研究这棵树。他提出了一些问题,希望能够了解奇幻之树上不同颜色的种类数量。每次他会选择一颗树上的节点,然后探索以这个节点为根的子树中的颜色种类。具体问题如下:给定一棵有n个节点的有根树,根节点为1,每个节点有一个颜色c_i,小蓝有q组询问,每次询问给定一个节点x,问x为根的子树中,有多少种不同的颜色。

2025-02-18 16:09:30 1317

原创 DFS序-生物能量查询

在一座神秘的森林里,生活着n个生物,所有生物的关系共同构成一个树状的家族结构,每一个生物都有一个特殊的能量值。森林中的探险者想要研究这些生物的能量分布,因此他经常会询问一个生物及其它的子孙们的能量总和是多少。你的任务是帮助探险者快速回答这些查询。

2025-02-18 15:51:19 548

原创 DFS序-异或和

给一棵含有n个结点的有根树,根结点为1,编号为i的点有点权ai​i∈1n1 x yxy2 xx现有长度为m的操作序列,请对于每个第二类操作给出正确的结果。

2025-02-18 15:46:32 686

原创 树上差分-Fools and Roads

为了计算每次旅行中每条边被经过的次数,我们需要构建树结构,并通过深度优先搜索(DFS)进行预处理,计算每个节点的父亲节点和深度。然后利用最近公共祖先(LCA)算法来快速查找任意两点之间的路径。对于每一对起点和终点,我们增加其对应的计数值,并在LCA处减去相应的值以避免重复计数。最后,再次通过DFS遍历整个树,计算每条边实际被经过的次数。个整数,按输入顺序输出每一条边被走过的次数。次旅行,问每一条边被走过的次数。

2025-02-17 16:52:11 816

原创 树上差分-Putovanje

给你一棵有n个点的树,节点编号从1到n。你会按编号从小到大顺序访问每个节点。经过树上的边需要收费。第i条边有单程票(只能用一次)价格ci1​和多程票(可以使用无限次)价格ci2​。你在访问途中可能会重复走一条边,所以多程票有时更划算。请你求出从1访问到n最少需要多少费用。

2025-02-17 16:47:31 836

原创 树上差分-Max Flow P

Farmer John 在他的谷仓中安装了N−1条管道,用于在N个牛棚之间运输牛奶(2≤N≤50000),牛棚方便地编号为1N。每条管道连接一对牛棚,所有牛棚通过这些管道相互连接。FJ 正在K对牛棚之间泵送牛奶(1≤K≤100000对于第i对牛棚,你被告知两个牛棚si​和ti​,这是牛奶以单位速率泵送的路径的端点。FJ 担心某些牛棚可能会因为过多的牛奶通过它们而不堪重负,因为一个牛棚可能会作为许多泵送路径的中转站。

2025-02-17 16:31:55 707

原创 树的直径-卖树

树的价值定义为根节点到所有节点的路径长度的最大值。对于给定树的结构,如果我们可以通过移动根节点来调整这棵树的价值,则我们可以获得一个更高的盈利。树的价值随根节点位置的变化而变化,最大价值会出现在根节点位于树的两个端点(即直径的两个端点)之间。

2025-02-16 22:28:40 740

原创 分组背包-小明的背包5

小明有一个容量为 (V) 的背包。这天他去商场购物,商场一共有 (N) 组物品,第 (i) 组里有 (s_i) 件物品,每件物品都有特定的体积 (w) 和价值 (v)。对于每一组只能购买一件物品。小明想知道在购买的物品总体积不超过 (V) 的情况下所能获得的最大价值为多少,请你帮他算算。

2025-02-10 21:52:07 422

原创 二维费用背包-小蓝的神秘行囊

小蓝是一名著名的探险家,他即将踏上一场寻宝的冒险旅程。他的目标是寻找和收集各种神秘的宝物。他有一个神秘的行囊,能够装载各种物品。然而,这个行囊有一个特殊的规定:它的最大容量是 (V),并且它能承受的最大重量是 (M)。小蓝来到一个古老的城堡,里面有 (N) 件神秘的宝物,每件宝物只能被取走一次。每件宝物都有其特定的体积 (v_i),重量 (m_i),和价值 (w_i)。

2025-02-10 21:47:51 241

原创 多重背包- 新一的宝藏搜寻加强版

新一是一个勇敢的冒险家,他听闻在一个古老的洞穴中隐藏着无数的宝藏。这个洞穴由一系列的房间组成,其中每个房间都存放着不同种类和数量的宝物。然而,每个宝物的大小和价值都不尽相同。因此,新一需要做出决定,以确定他应该携带哪些宝物,以便最大化他的宝物价值。但是,新一的背包有一定的容量限制,他不能携带超过背包容量的宝物。新一找到了 (N) 种不同的宝物,他的背包容量是 (V)。第 (i) 种宝物最多有 (s_i) 件,每件体积是 (v_i),价值是 (w_i)。

2025-02-10 21:45:14 363

原创 完全背包-加训啦

有一个兵营里面有 (n) 个士兵,每个士兵都有一个力量值 (a_i)。假设你是一名士兵长,你想通过训练,使得你们兵营的力量值的下限尽可能大(兵营力量值的下限取决于兵营里面力量值最小的那个士兵)。你有 (k) 点精力,(m) 种训练计划,每种训练计划都有一个力量提升值 (b_i),即一个士兵完成训练计划之后,力量值会提高 (b_i)。以及每种训练计划还有一个消耗值 (c_i),即你每次分配训练计划你的精力都会消耗 (c_i)。

2025-02-10 21:43:25 413

原创 完全背包-小明的背包2

小明有一个容量为 (V) 的背包。这天他去商场购物,商场一共有 (N) 种物品,第 (i) 种物品的体积为 (w_i),价值为 (v_i),每种物品都有无限多个。小明想知道在购买的物品总体积不超过 (V) 的情况下所能获得的最大价值为多少,请你帮他算算。

2025-02-10 21:39:36 307

原创 DFS-Synthetic Kadomatsu

你有 (N) 根竹子,它们的长度(单位:厘米)分别为 (l_1, l_2, …, l_N)。你的目标是使用这些竹子中的一部分(可能是全部),得到三根长度分别为 (A)、(B)、(C) 的竹子。要达成目标,至少需要消耗多少魔法值?

2025-02-10 21:35:31 809

原创 01背包-小兰的神秘礼物

小兰要过生日了,好朋友妮妮想送她一个特别的礼物。妮妮找来了一个神秘的箱子,箱子的容量为V。她还收集了n个有趣的小物件,每个物件都有一个体积x。妮妮想把这些小物件中的一部分装进箱子里,当然也可以一个都不装。但是,为了增加神秘感,她希望箱子装得尽可能满,剩余的空间最小。你能帮妮妮计划一下,让她知道箱子最终的最小剩余空间吗?

2025-02-09 19:20:01 226

原创 01背包-购物策略

小兰最近发现了一个福利丰厚的小卖部,店主实行了一个特殊的 “买一赠一” 活动。小卖部的每个商品都有一个价格c_i和结账所需时间t_i(秒)。而小兰在结账的同时,如果店主正忙于处理其他商品,她就有机会在 1 秒内 “免费” 获得另一件商品。小兰可以决定商品的结账顺序,以便在店主处理某些商品的过程中,她可以 “免费” 获得尽可能多的商品。如果t_i是 0,意味着当店主处理第i件商品时,小兰无法 “免费” 获得任何商品。请问,小兰应该如何安排商品的结账顺序,以便她需要支付的最低金额是多少?

2025-02-09 19:18:35 428

原创 01背包-蓝桥课程抢购

为了能让更多的同学学习到 IT 技术,蓝桥云课又开始了课程限时打折活动!作为初学者的你,希望尽可能买到含金量总额更高的课程,当然其他同学也是这么想。由于购买课程的同学实在太多,蓝桥云课服务器带宽供不应求,导致同学购买课程需要一定的等待时间。方案一:你可以选择购买《Java 程序设计》,那么你可以抢购到含金量为 6 的课程。方案二:你可以先购买《Python 程序设计》,等待结束后再购买《C#程序设计》,这样就可以抢购到含金量为 8 的课程。

2025-02-09 19:12:15 367

原创 01背包-盗墓分赃2

在一个探险者的团队中,小明和小红是合作的盗墓贼。他们成功盗取了一座古墓中的宝藏,包括n件不同重量的珍贵文物和黄金,第i件宝藏的重量为a_i。现在,他们希望公平地分配这些宝藏,使得小明所分得的宝藏的总重量等于小红所分得的宝藏的总重量。请检查是否存在这样的分配方案,需要注意的是,宝藏不能被分割成两半来调整重量,只能整个宝藏进行分配。

2025-02-09 19:04:39 262

原创 01背包-倒水

小秋家里来了n位客人,编号为。现在小秋要给每一位客人倒水。每个客人都有一个满意度,对于第iia_ib_iic_ic_i > a_id_iia_i0e_id_i现在小秋有m毫升水,请问他要怎么样给客人倒水,才能让所有客人的满意度之和最大呢?你只需要求出所有客人满意度之和的最大值。

2025-02-09 18:59:39 379

原创 01背包-小明的背包1

小明有一个容量为 V 的背包。这天他去商场购物,商场一共有 N 件物品,第 i 件物品的体积为 wi,价值为 vi。小明想知道在购买的物品总体积不超过 V 的情况下所能获得的最大价值为多少,请你帮他算算。输入第 1 行包含两个正整数 N,V,表示商场物品的数量和小明的背包容量。第 2~N+1 行包含 2 个正整数 w,v,表示物品的体积和价值。输出一行整数表示小明所能获得的最大价值。

2025-02-09 18:43:14 151

原创 LCS-最长公共子序列

最长公共子序列。

2025-02-09 18:39:08 164

原创 二维dp-地图

这个森林的起点在(1,1) ,终点在 (n,m)。在你进入这个森岭后,每次你只可以向下或者向右走,由于森岭的神秘力量,至多只可以改变 k 次方向。小蓝现在想知道,一共有多少种方案可以从(1,1) 进入然后从 (n,m) 走出。dp[i][j][k][0]表示在位置(i, j)处,转向了k次,方向向下的方案数。dp[i][j][k][1]表示在位置(i, j)处,转向了k次,方向向右的方案数。对于所有评测数据,1≤n,m≤100,1≤k≤5。输出共 1 行,包含 1 个整数,表示方案数。

2025-02-08 21:27:51 368

原创 线性dp-安全序列

工厂是一条直线,直线上有 n 个空位,小蓝需要将若干个油桶放置在 n 个空位上,每 2 个油桶中间至少需要 k 个空位隔开,现在小蓝想知道有多少种放置油桶的方案,你可以编写一个程序帮助他吗?输出共 1 行,包含 1 个整数,表示放置的方案数对 10^9+7 取模。第一行包含两个正整数 n,k,分别表示 n 个空位与 k 个隔开的空位。由于这个结果很大,你的输出结果需要对 10^9+7 取模。小蓝是工厂里的安全工程师,他负责安放工厂里的危险品。对于所有评测数据,1≤n≤10^6,1≤k≤n。

2025-02-08 21:23:30 299

原创 线性dp-可构造的序列总数

这个代码在lq上的题目也能过,但实际上复杂度接近O(k^3),更精确的代码如下。样例中符合条件的序列有 [1,1],[1,2],[2,2] 总共三种。输出一个整数表示答案,答案需要对 10^9+7 取模。dp[i][j]表示到数字i为止,序列长度为j的方案数。由于答案可能非常大,你需要对 10^9+7 取模。在计算i的因子时只枚举到sqrt(i),复杂度为。输入一行包括两个空格分隔的整数 k 和 n。数据范围保证:1≤n,k≤2000。

2025-02-08 21:19:12 300

原创 线性dp-拍照

这本是一件简单的事,但由于啾啾是个完美主义者,他希望他拍的照片必须符合美学,即存在一个身高较大值,使得较大值无论是往左还是往右身高都是递减的(数学表示应为:a[1]≤...≤a[i]≥a[i+1]≥...≥a[n])。同学们已经站好了,但站位不符合美学,你需要找出尽可能少的同学出队进行重新排列。接下来的 n 行输入校友身高,其中第 i 行输入 a[i](1≤i≤n),表示编号为 ii 的校友的身高(单位:毫米)。对于每一个i,维护在位置i的从1到i最长非递减子序列长度和从i到n非递增子序列的长度。

2025-02-08 21:07:41 837

空空如也

空空如也

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

TA关注的人

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