自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 问答 (1)
  • 收藏
  • 关注

原创 小蓝的括号串1(栈)

若 s,ts,t 都是合法括号序列,则 stst 也是合法括号序列。构成,请你帮他判断一下该括号串是否合法,合法请输出。小蓝有一个长度为 nn 的括号串,括号串仅由字符。第一行包含一个正整数 nn ,表示括号串的长度。第二行包含一个长度为 nn 的括号串。输出共 11 行,若括号串合法请输出。若 ss 是合法括号序列,则。空串是合法括号序列。

2025-04-05 15:26:17 44

原创 蓝桥勇士(LIS最长上升子序列 贪心二分)

这天蓝桥首席骑士长给他安排了 NN 个对手,他们的战力值分别为 a1,a2,...,ana1​,a2​,...,an​,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战,也可以选择避战。第二行包含 NN 个整数 a1,a2,...,ana1​,a2​,...,an​,分别表示对手的战力值。作为热血豪放的勇士,小明从不走回头路,且只愿意挑战战力值越来越高的对手。小明是蓝桥王国的勇士,他晋升为蓝桥骑士,于是他决定不断突破自我。输入第一行包含一个整数 NN,表示对手的个数。输出一行整数表示答案。

2025-04-05 15:25:24 42

原创 快速幂倍增分治

输入 b,p,kb,p,k 的值,求 bpmodkbpmodk 的值。其中 2≤b,p,k≤1092≤b,p,k≤109。输出 bpmodk=sbpmodk=s,ss 为运算结果。三个整数 b,p,kb,p,k。

2025-04-05 15:23:41 83

原创 我的创作纪念日

机缘就是想在网上找一个地方保留自己的代码吧,同时也想让更多的人看到自己的学习,从0开始的计算机大学生,没有想那么多。收获可能比较少,主要还是用来给自己看。现在写完题想写博客来记录。以后能继续喜欢计算机吧。

2025-04-05 11:25:05 50

原创 美丽的区间,锻造兵器(双指针)

给定一个长度为 nn 的序列 a1,a2,⋯,ana1​,a2​,⋯,an​ 和一个常数 SS。接下来一行包含 nn 个整数,分别表示 a1,a2,⋯,ana1​,a2​,⋯,an​。对于一个连续区间如果它的区间和大于或等于 SS,则称它为美丽的区间。对于一个美丽的区间,如果其区间长度越短,它就越美丽。第一行包含两个整数 n,Sn,S,其含义如题所述。输出共一行,包含一个整数,表示最美丽的区间的长度。若不存在任何美丽的区间,则输出 00。请你从序列中找出最美丽的区间​。

2025-04-04 19:43:09 212

原创 走多远(拓扑排序)

给定一个 nn 个点,mm​ 条边的有向无环图,小明从入度为 00 点出发,顺着边最远能走多远,若不存在这样的点,输出 00。接下来 mm 行,每行输入俩个整数 u,vu,v 代表有一条有向边从 uu 到 vv​.第一行输入一个 n,mn,m​​。输出一个整数表示最长距离。

2025-04-04 19:40:24 81

原创 A+B plus(高精度)

给定两个非负整数 a,b,请你输出 a+b 的值。输出共一行,包含一个整数,表示答案。输入共一行,包含两个整数 a,b。

2025-04-04 19:39:20 66

原创 最小正整数解(裴蜀定理)

给定两个整数 a,ba,b​,你请求出最小的 ax+byax+by​ 使得 ax+by>0ax+by>0​。接下来的 TT​​ 行每行包含两个正整数,表示 a,ba,b​​。输出共 TT 行,每行包含一个整数,表示每组数据答案。第 11 行为一个整数 TT,表示测试数据数量。保证 a,ba,b 不全为 00。x,yx,y 的取值随意。

2025-04-04 19:37:45 87

原创 小明的彩灯(差分)

小明将进行 QQ 次操作,每次操作可选择一段区间,并使区间内彩灯的亮度 +x+x(xx 可能为负数)。第一行包含两个正整数 N,QN,Q,分别表示彩灯的数量和操作的次数。小明拥有 NN 个彩灯,第 ii 个彩灯的初始亮度为 aiai​。求 QQ 次操作后每个彩灯的亮度(若彩灯亮度为负数则输出 00)。输出共 11 行,包含 NN 个整数,表示每个彩灯的亮度。,表示将区间 l∼rl∼r 的彩灯的亮度 +x+x。第二行包含 NN 个整数,表示彩灯的初始亮度。

2025-04-04 19:35:15 108

原创 排个序(冒泡排序)

给定一个长度为 mm 的互不相同的数组 pp , 意味着你可以交换 a[pi]a[pi​] 和 a[pi+1]a[pi+1​] 任意次。第三行输入 mm 个整数 p1,p2,p3,...,pmp1​,p2​,p3​,...,pm​。第二行输入 nn​ 个整数 a1,a2,...,ana1​,a2​,...,an​​​。请确定是否可以用仅允许的交换方式使得 aa​ 数组非严格递减。给定一个长度为 nn 的数组 aa。第一行输入一个 nn​ 和 mm。

2025-04-04 19:34:01 223

原创 逆序数(归并排序)

接下来输入 nn 个整数 a1,a2,...,ana1​,a2​,...,an​。规定从小到大为标准次序, 求长度为 nn 的排列的逆序数。第一行输入一个 nn​。输出一个整数,代表答案。

2025-04-04 19:32:40 84

原创 最大公约数(GCD)

接下来的 TT 行每行包含两个正整数 A,BA,B。给定两个正整数 A,BA,B,求它们的最大公约数。第 11 行为一个整数 TT,表示测试数据数量。输出共 TT 行,每行包含一个整数,表示答案。

2025-04-04 18:29:39 32

原创 三角形的面积

每组测试数据输入有三行,每行一个实数坐标 (x,y)(x,y) 代表三角形三个顶点。输出一个实数表示三角形面积。结果保留2位小数,误差不超过 10−210−2。平面直角坐标系中有一个三角形, 请你求出它的面积。第一行输入一个 TT ,代表测试数据量。

2025-04-04 18:28:23 92

原创 进制转换(模拟)

数据范围保证:2≤N,M≤162≤N,M≤16,若 N≥10N≥10,则用 A∼FA∼F 表示字码 10∼1510∼15。保证 SS 对应的十进制数的位数不超过 1010。第一行为一个整数 TT,表示测试数据数量。(1≤T≤1051≤T≤105)给定一个 NN 进制数 SS,请你将它转换为 MM 进制。每个测试用例包含两行,第一行包含两个整数 N,MN,M。第二行输入一个字符串 SS,表示 NN 进制数。输出共 TT,每行表示一组数据的答案。

2025-04-04 18:25:11 81

原创 小明的衣服(哈夫曼树,贪心)

衣服寄去染色厂,第 ii 件衣服的邮费为 aiai​ 元,染色厂会按照小明的要求将其中一部分衣服染成同一种任意的颜色,之后将衣服寄给小明, 请问小明要将 nn 件衣服染成不同颜色的最小代价是多少?第二行包括 nn 个整数 a1,a2...ana1​,a2​...an​ 表示第 ii 件衣服的邮费为 aiai​ 元。小明买了 nn 件白色的衣服,他觉得所有衣服都是一种颜色太单调,希望对这些衣服进行染色,每次染色时,他会将某种颜色的。输出一个整数表示小明所要花费的最小代价。

2025-04-04 18:24:11 99

原创 子集之和(折半查找)

小明拥有一个大小为 NN 集合 SS,SS 中的元素依次为 s1,s2,...,sns1​,s2​,...,sn​。接下来一行包含 NN 个整数,s1,s2,...,sns1​,s2​,...,sn​,表示集合的元素。给出一个数 XX,请你判断是否能从 SS 中挑选任意个元素使得它们的和为 XX。输出共 TT 行,每行表示一组数据的答案。第一行输入两个正整数 N,XN,X。若可以拼凑出 XX 则输出。

2025-04-04 18:22:20 114

原创 解立方根(实数二分)

输出共 TT 行,分别表示每个测试数据的答案(答案保留 33 位小数)。给定一个正整数 NN,请你求 NN 的立方根是多少。第 11 行为一个整数 TT,表示测试数据数量。接下来的 TT 行每行包含一个正整数 NN。

2025-04-04 18:21:07 108

原创 走迷宫(bfs)

已知迷宫的入口位置为 (x1,y1)(x1​,y1​),出口位置为 (x2,y2)(x2​,y2​)。GG 的每个格子要么是道路,要么是障碍物(道路用 11 表示,障碍物用 00 表示)。接下来输入一个 N×MN×M 的矩阵。若 Gi,j=1Gi,j​=1 表示其为道路,否则表示其为障碍物。最后一行输入四个整数 x1,y1,x2,y2x1​,y1​,x2​,y2​,表示入口的位置和出口的位置。输入第 11 行包含两个正整数 N,MN,M,分别表示迷宫的大小。若无法从入口到出口,则输出 −1−1。

2025-04-01 17:15:24 355

原创 MAX最值差(单调队列)

定义 F(i)F(i) 表示区间 [max(1,i−k),i][max(1,i−k),i] 的最小值,G(i)G(i) 表示区间 [max(1,i−k),i][max(1,i−k),i] 的最大值。给定一个长度为 NN 的数组 aa 和一个常数 kk,数组的值分别为 a1,a2,...,aNa1​,a2​,...,aN​。第 22 行包含 NN 个非负整数 a1,a2,...,aNa1​,a2​,...,aN​,表示数组 aa 元素的值。请你求出 G(i)−F(i)G(i)−F(i) 的最大值。

2025-04-01 17:13:51 145

原创 前缀判定(字典树)

给定 NN 个字符串 S1,S2,...,SNS1​,S2​,...,SN​ 和 MM 个询问,每个询问包含一个字符串 TiTi​,问 TiTi​ 是否在 S1S1​ 或 S2S2​ ... 或 SNSN​ 的前缀出现过。输入第一行包含两个整数 N,MN,M ,分别表示给定字符串的数量和询问的个数。第 2∼N+12∼N+1 行每行包含一个字符串 SiSi​。输出共 MM 行,每行包含一个整数,表示对应询问的回答。保证 Si,TiSi​,Ti​ 只包含小写字母。若存在则输出 YY,否则输出 NN。

2025-04-01 17:12:28 249

原创 LCIS最长公共上升子序列

第二行包含 NN 个整数 a1,a2,...,ana1​,a2​,...,an​。第三行包含 MM 个整数 b1,b2,...,bnb1​,b2​,...,bn​。输入第一行包含两个整数 N,MN,M,分别表示数组 aa 和 bb 的长度。给定一个长度为 NN 数组 aa 和一个长度为 MM 的数组 bb。请你求出它们的最长公共上升子序列长度为多少。输出一行整数表示答案。

2025-04-01 17:11:13 204

原创 最长公共子序列

第二行包含 NN 个整数 a1,a2,...,ana1​,a2​,...,an​。第三行包含 MM 个整数 b1,b2,...,bnb1​,b2​,...,bn​。输入第一行包含两个整数 N,MN,M,分别表示数组 aa 和 bb 的长度。给定一个长度为 NN 数组 aa 和一个长度为 MM 的数组 bb。请你求出它们的最长公共子序列长度为多少。输出一行整数表示答案。

2025-04-01 17:08:47 229

原创 蓝桥骑士(LIS)

这天蓝桥国王给他安排了 NN 个对手,他们的战力值分别为 a1,a2,...,ana1​,a2​,...,an​,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战,也可以选择避战。第二行包含 NN 个整数 a1,a2,...,ana1​,a2​,...,an​,分别表示对手的战力值。身为高傲的骑士,小明从不走回头路,且只愿意挑战战力值越来越高的对手。输入第一行包含一个整数 NN,表示对手的个数。小明是蓝桥王国的骑士,他喜欢不断突破自我。请你算算小明最多会挑战多少名对手。输出一行整数表示答案。

2025-04-01 17:06:42 239

原创 数的幂次(快速幂)

给定三个正整数 N,M,PN,M,P,求 NMmodpNMmodp。接下来的 TT 行每行包含三个正整数 N,M,PN,M,P。第 11 行为一个整数 TT,表示测试数据数量。输出共 TT 行,每行包含一个整数,表示答案。

2025-04-01 17:05:28 221

原创 小明的背包2(完全背包)

这天他去商场购物,商场一共有 NN 种物品,第 ii 种物品的体积为 wiwi​,价值为 vivi​,每种物品都有无限多个。小明想知道在购买的物品总体积不超过 VV 的情况下所能获得的最大价值为多少,请你帮他算算。第 2∼N+12∼N+1 行包含 22 个正整数 w,vw,v,表示物品的体积和价值。输入第 11 行包含两个正整数 N,VN,V,表示商场物品的数量和小明的背包容量。输出一行整数表示小明所能获得的最大价值。小明有一个容量为 VV 的背包。

2025-04-01 17:03:49 287

原创 小明的背包1(01背包)

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

2025-04-01 17:02:44 628

原创 最小质因子之和(Easy Version)(筛素数)

定义 F(i)F(i) 表示整数 ii 的最小质因子。现给定一个正整数 NN,请你求出 ∑2nF(i)∑2n​F(i)。第 11 行为一个整数 TT,表示测试数据数量。输出共 TT 行,每行包含一个整数,表示答案。接下来的 TT 行每行包含一个正整数 NN。

2025-04-01 13:08:18 238

原创 百亿富翁(单调栈)

好奇的小明想知道对于每栋楼,左边第一个比它高的楼房是哪个,右边第一个比它高的楼房是哪个(若不存在则输出 −1−1)。第 22 行输入 NN 个整数(相邻整数用空格隔开),分别为 h1,h2,...,hNh1​,h2​,...,hN​,表示楼房的高度。已知这排楼房一共有 NN 栋,编号分别为 1∼N1∼N,第 ii 栋的高度为 hihi​。第一行输出 NN 个整数,表示每栋楼左边第一栋比自己高的楼的编号。第二行输出 NN 个整数,表示每栋楼右边第一栋比自己高的楼的编号。

2025-04-01 13:03:32 382

原创 蓝桥幼儿园(并查集)

小明想让所有学生都互相成为朋友,但是蓝桥幼儿园的学生实在太多了,他无法用肉眼判断某两个学生是否为朋友。于是他起来了作为编程大师的你,请你帮忙写程序判断某两个学生是否为朋友(默认自己和自己也是朋友)。第 11 行包含两个正整数 N,MN,M,其中 NN 表示蓝桥幼儿园的学生数量,学生的编号分别为 1∼N1∼N。蓝桥幼儿园的学生是如此的天真无邪,以至于对他们来说,朋友的朋友就是自己的朋友。对于每个 op=2op=2 的输入,如果 xx 和 yy 是朋友,则输出一行。

2025-04-01 13:01:41 336

原创 修建公路1(Prim、Kruskal)

然而小明所拿到的经费并不够支付修建 MM 条路的工钱,于是迫于无奈,他只能将计划改变为修建若干条路,使得 NN 个小区之间两两联通。小明是城市建设的规划者,他计划在城市修 MM 条路,每修建一条路都要支付工人们相应的工钱(需要支付的工钱 == 路的长度)。第 22 到 M+1M+1 行每行包含三个正整数 u,v,wu,v,w,表示 u↔vu↔v 之间存在一条距离为 ww 的路。输出占一行,包含一个整数,表示完成计划所需的最低开销。输入第一行包含三个正整数 N,MN,M。若无法完成计划,则输出 −1−1。

2025-04-01 13:00:06 419

原创 蓝桥王国(Dijkstra)

蓝桥王国一共有 NN 个建筑和 MM 条单向道路,每条道路都连接着两个建筑,每个建筑都有自己编号,分别为 1∼N1∼N。输出仅一行,共 NN 个数,分别表示从皇宫到编号为 1∼N1∼N 建筑的最短距离,两两之间用空格隔开。第 22 到 M+1M+1 行每行包含三个正整数 u,v,wu,v,w,表示 u→vu→v 之间存在一条距离为 ww 的路。国王想让小明回答从皇宫到每个建筑的最短路径是多少,但紧张的小明此时已经无法思考,请你编写程序帮助小明回答国王的考核。输入第一行包含两个正整数 N,MN,M。

2025-04-01 12:52:42 366

原创 蓝桥公园(Floyd)

小明有 QQ 个观景计划,每个计划包含一个起点 stst 和一个终点 eded,表示他想从 stst 去到 eded。但是小明的体力有限,对于每个计划他想走最少的路完成,你可以帮帮他吗?第 22 到 M+1M+1 行每行包含三个正整数 u,v,wu,v,w,表示 u↔vu↔v 之间存在一条距离为 ww 的路。第 M+2M+2 到 M+Q−1M+Q−1 行每行包含两个正整数 st,edst,ed,其含义如题所述。输入第一行包含三个正整数 N,M,QN,M,Q。输出共 QQ 行,对应输入数据中的查询。

2025-04-01 12:50:54 331

原创 “钉耙编程”2025春季联赛(2)题解(更新中)

p,q是一对数,p用过之后就不用了,否则会重复,所以记录ans之后把a[i]第一次出现的位置设成非法的。a[i]第一次出现在0之前,现在出现在0之后,就在ans上加上i位置后面不同数的个数。我的想法是,找每个数第一次出现的位置和每个位置后面不同数的个数,考虑0的位置。写的时候有点愚蠢啊,s重复26次不要在自身上加,那样是2的26次了。就是p前面有0有p,就加上q,答案记得开i64。但是k太大了,所以超过26次就覆盖所有字母了。跑一遍数组,记录 i 之前最近的0的位置。这样排26次就能a..z了。

2025-03-31 21:16:39 413

原创 2025“钉耙编程”中国大学生算法设计春季联赛(1)题解(更新中)

个数用哈希表存比较好(但是map过了)

2025-03-30 17:33:41 146

原创 堆优化邻接表dijkstra算法,c++,单源最短路

【代码】堆优化邻接表dijkstra算法,c++,单源最短路。

2025-03-11 18:11:24 78

原创 C++ istringstream的详细用法说明及示例代码

常用于从字符串中提取格式化数据(如分割字符串、类型转换等)。

2025-02-14 10:36:46 436

原创 DFS(深度优先搜索)与回溯算法详解

深度优先搜索(Depth-First Search,DFS)是一种用于遍历或搜索树或图的算法。

2025-01-31 14:50:56 1027

原创 双指针c++

双指针(Two Pointers)是一种常用的算法技巧,通常用于解决数组或链表中的问题,如滑动窗口、区间合并、有序数组的两数之和等。双指针的核心思想是通过两个指针的移动来优化时间复杂度,通常可以将 (O(n^2)) 的暴力解法优化到 (O(n))。

2025-01-31 14:37:16 689

原创 c++常见位运算

位运算在算法竞赛中非常常见,因为它们可以高效地处理二进制数据,常用于状态压缩、优化计算、快速判断等场景。

2025-01-31 14:26:31 1032

原创 一维二维前缀和、差分,c++

前缀和(Prefix Sum)是一种常用的预处理技术,用于快速计算数组中任意区间的和。前缀和的核心思想是通过预处理,将区间和的查询时间复杂度从 (O(n)) 降低到 (O(1))。

2025-01-31 14:14:42 188

空空如也

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

TA关注的人

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