自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Acwing.基础课.食物链(c++题解)

动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N 个动物,以 1∼N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示 X 和 Y 是同类。第二种说法是2 X Y,表示 X 吃 Y。此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。

2025-02-23 13:23:01 257

原创 Acwing.基础课.Prim算法求最小生成树(c++题解)

给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=|V|,m=|E|。由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。

2025-02-10 18:15:00 323

原创 Acwing.基础课.高精度乘法(c++题解)

给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。

2025-02-10 18:13:25 179

原创 Acwing.基础课.Dijkstra求最短路 II(c++题解)

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。请你求出 1 号点到 n 号点的最短距离,如果无法从 11 号点走到 n 号点,则输出 −1。

2025-02-07 15:56:31 413

原创 Acwing.基础课.Dijkstra求最短路 I(c++题解)

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。

2025-02-07 15:14:55 289

原创 Acwing.基础课.走迷宫(c++题解)

给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m)( 处,至少需要移动多少次。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。

2025-02-06 16:17:37 265

原创 Acwing.基础课.n-皇后问题(c++题解)

n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。

2025-02-04 15:11:21 279

原创 Acwing.基础课.排列数字(c++题解)

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。

2025-02-04 14:44:07 195

原创 Acwing.基础课.字符串哈希(c++题解)

给定一个长度为 n的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1] 和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。

2025-02-02 14:12:29 304

原创 Acwing.基础课.模拟散列表(c++题解)

I xQ x现在要进行 N 次操作,对于每个询问操作输出对应的结果。

2025-02-02 14:09:40 259

原创 Acwing.提高课.股票买卖 V(c++题解)

给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法计算出最大利润。

2025-01-21 16:34:53 167

原创 Acwing.提高课.股票买卖 IV(c++题解)

给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润,你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。一次买入卖出合为一笔交易。

2025-01-21 15:49:14 245

原创 Acwing.提高课.大盗阿福(c++题解)

阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?

2025-01-21 15:12:10 212

原创 Acwing.提高课.炮兵阵地(c++题解)

司令部的将军们打算在 N×M 的网格地图上部署他们的炮兵部队。一个 N×M 的地图由 N 行 M 列组成,地图的每一格可能是山地(用H表示),也可能是平原(用P表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响。

2025-01-20 16:35:36 416

原创 Acwing.提高课.搭配购买(c++题解)

Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有 n 朵云,云朵被编号为 1,2,…,n并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。

2025-01-11 16:59:12 262

原创 Acwing.基础课.高精度除法(c++题解)

给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。

2025-01-11 15:52:41 279

原创 Acwing.基础课.判断子序列(c++题解)

给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…,bm。请你判断 a 序列是否为 b 序列的子序列。子序列指序列的一部分项按而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5} 的一个子序列。

2025-01-11 15:24:01 167

原创 连通块中点的数量(c++题解)

给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。

2024-11-17 14:44:56 215

原创 小木棍(c++题解)

为了方便你的输入,我们使用字符 D 代表方片,字符 C 代表草花,字符 H 代表红桃,字符 SS 代表黑桃,这样每张牌可以通过一个长度为 2 的字符串表示,其中第一个字符表示这张牌的花色,第二个字符表示这张牌的点数,例如 CA 表示草花 A,ST 表示黑桃 T(黑桃 10)。对于所有测试数据,保证:1≤n≤52,输入的 nn 个字符串每个都代表一张合法的扑克牌,即字符串长度为 2,且第一个字符为 DCHS 中的某个字符,第二个字符为 A23456789TJQK 中的某个字符。

2024-10-29 16:57:56 766 1

原创 Acwing.提高课.任务安排2(c++题解)

有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。也就是说,同一批任务将在同一时刻完成。每个任务的费用是它的完成时刻乘以一个费用系数 Ci。

2024-10-07 15:33:12 536

原创 Acwing.提高课.任务安排1(c++题解)

有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。也就是说,同一批任务将在同一时刻完成。每个任务的费用是它的完成时刻乘以一个费用系数 Ci。

2024-10-07 15:30:44 381

原创 Acwing.提高课.新的开始(c++题解)

发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n� 口矿井,但他似乎忘记了考虑矿井供电问题。小 FF 希望你帮他想出一个保证所有矿井电力供应的最小花费方案。

2024-10-04 22:30:48 632

原创 Acwing.提高课.最短路计数(c++题解)

给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1 到 N。问从顶点 1 开始,到其他每个点的最短路有几条。

2024-10-04 22:28:37 387

原创 Acwing.提高课.通信线路(c++题解)

在郊区有 N座通信基站,P 条电缆,第 i 条电缆连接基站 Ai 和 Bi。特别地,1 号基站是通信公司的总站,N 号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费 Li。电话公司正在举行优惠活动。农产主可以指定一条从 1 号基站到 N 号基站的路径,并指定路径上不超过 K 条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。求至少用多少钱可以完成升级。

2024-10-04 22:23:26 342

原创 Acwing.提高课.信使(c++题解)

战争时期,前线有 n 个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位)。指挥部设在第一个哨所。当指挥部下达一个命令后,指挥部就派出若干个信使向与指挥部相连的哨所送信。当一个哨所接到信后,这个哨所内的信使们也以同样的方式向其他哨所送信。。直至所有 n 个哨所全部接到命令后,送信才算成功。因为准备充足,每个哨所内都安排了足够的信使(如果一个哨所与其他 k 个哨所有通信联系的话,这个哨所内至少会配备 k 个信使)。

2024-10-04 22:19:19 275

原创 Acwing.提高课.最优乘车(c++题解)

H 城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。一名旅客最近到 H 城旅游,他很想去 S 公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达 S 公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士,这样换乘几次后到达 S 公园。

2024-09-05 15:35:54 418

原创 Acwing.提高课.友好城市(c++题解)

Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。

2024-09-04 17:06:37 447

原创 Acwing.提高课.数字组合(c++题解)

给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。

2024-09-04 15:39:26 402

原创 Acwing.提高课.宠物小精灵之收服(c++题解)

宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小智就必须结束狩猎(因为他需要给皮卡丘疗伤),而使得皮卡丘体力小于等于0的野生小精灵也不会被小智收服。

2024-09-03 16:36:27 745

原创 Acwing.提高课.导弹防御系统(c++题解)

为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直上升要么一直下降。例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。

2024-09-02 11:52:49 377

原创 Acwing.提高课.拦截导弹(c++题解)

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。

2024-09-02 10:59:03 325

原创 Acwing.提高课.合唱队形(c++题解)

N 位同学站成一排,音乐老师要请其中的 (N−K)位同学出列,使得剩下的 K 位同学排成合唱队形。合唱队形是指这样的一种队形:设 K 位同学从左到右依次编号为 1,2…,K,他们的身高分别为 T1,T2,…,TK  则他们的身高满足 T1<…<Ti>Ti+1>…>TK(1≤i≤K)。你的任务是,已知所有 N 位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

2024-09-01 16:22:52 541

原创 Acwing.提高课.登山(c++题解)

五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?

2024-09-01 13:00:30 400

原创 Acwing.提高课.怪盗基德的滑翔翼(c++题解)

怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。

2024-09-01 12:47:18 387

原创 Acwing.提高课.营业额统计(c++题解)

Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger 拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值来衡量这种情况。

2024-08-30 13:53:40 492

原创 Acwing.提高课.一个简单的整数问题2(c++题解)

C l r dQ l r对于每个询问,输出一个整数表示答案。

2024-08-30 13:50:18 539

原创 Acwing.提高课.一个简单的整数问题(c++题解)

给定长度为 N 的数列 A,然后输入 M 行操作指令。第一类指令形如C l r d,表示把数列中第 l∼r 个数都加 d。第二类指令形如Q x,表示询问数列中第 x 个数的值。对于每个询问,输出一个整数表示答案。

2024-08-30 13:44:55 347

原创 Acwing.提高课.方格取数(c++题解)

设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。

2024-08-30 13:42:39 289

原创 一元二次方程(c++题解)

由有理数的定义,存在唯一的两个整数 p 和 q,满足 q>0,gcd(p,q)=1 且 v=q/p​。如果方程有实数解,则按要求的格式输出两个实数解中的较大者。对于所有数据有:1≤T≤5000,1≤M≤10^3,∣a∣,∣b∣,∣c∣≤M,a≠0。你需要判断一元二次方程 ax^2+bx+c=0 是否有实数解,并按要求的格式输出。输出 T 行,每行包含一个字符串,表示对应询问的答案,格式如题面所述。现在给定一个一元二次方程的系数 a,b,c,其中 a,b,c。代表整数 n 的值;

2024-08-21 12:06:34 1148

原创 Acwing.提高课.普通平衡树(c++题解)

数据保证查询的结果一定存在。

2024-08-20 11:16:20 175

hb-zhyu的模拟队列

实现一个队列,队列初始为空,支持四种操作: push x – 向队尾插入一个数 xx; pop – 从队头弹出一个数; empty – 判断队列是否为空; query – 查询队头元素。 现在要对队列进行 MM 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。 输入格式 第一行包含整数 M,表示操作次数。 接下来 M 行,每行包含一个操作命令,操作命令为 push x,pop,empty,query 中的一种。 输出格式 对于每个 empty 和 query 操作都要输出一个查询结果,每个结果占一行。 其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示队头元素的值。 数据范围 1≤M≤100000, 1≤x≤109, 所有操作保证合法。

2024-01-23

hb-zhyu的模拟栈

实现一个栈,栈初始为空,支持四种操作: push x – 向栈顶插入一个数 xx; pop – 从栈顶弹出一个数; empty – 判断栈是否为空; query – 查询栈顶元素。 现在要对栈进行 M 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。 输入格式 第一行包含整数 M,表示操作次数。 接下来 M 行,每行包含一个操作命令,操作命令为 push x,pop,empty,query 中的一种。 输出格式 对于每个 empty 和 query 操作都要输出一个查询结果,每个结果占一行。 其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示栈顶元素的值。 数据范围 1≤M≤100000, 1≤x≤109 所有操作保证合法。 输入样例: 10 push 5 query push 6 pop query pop empty push 4 query empty 输出样例: 5 5 YES 4 NO

2024-01-23

数据结构(栈)(队列)(深搜)(宽搜)(链表)

写作不易以后再更,主要表述了数据结构中的(栈)(队列)(深搜)(宽搜)(链表)的使用方法,及例题的详细解说。 和用处,特点内容简略,语言精炼,表达方式直接,清晰易懂。 点赞—————————————————————————————————————!

2023-07-16

空空如也

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

TA关注的人

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