- 博客(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)∑2nF(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
原创 双指针c++
双指针(Two Pointers)是一种常用的算法技巧,通常用于解决数组或链表中的问题,如滑动窗口、区间合并、有序数组的两数之和等。双指针的核心思想是通过两个指针的移动来优化时间复杂度,通常可以将 (O(n^2)) 的暴力解法优化到 (O(n))。
2025-01-31 14:37:16
689
原创 一维二维前缀和、差分,c++
前缀和(Prefix Sum)是一种常用的预处理技术,用于快速计算数组中任意区间的和。前缀和的核心思想是通过预处理,将区间和的查询时间复杂度从 (O(n)) 降低到 (O(1))。
2025-01-31 14:14:42
188
空空如也
找完数为什么范围不一样同一个数的因子结果不一样
2023-10-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人