题组
文章平均质量分 61
明里灰
不愤不启 不悱不发.
展开
-
53.最大子数组和
这个题目一开始想到的是贪心,因为从第一个数字开始,用sum记录当前的数组和是多少,用maxt记录sum数组和是否是最大的,满足则将maxt赋值为sum。其中要注意的是sum和maxt的初始值是0,但是如果遇到数组全部为负数的情况,就会出错,此时要加上一个特判。在中心左边或右边时,可以直接采用递归,跨中心的情况,再分治成中心点左侧和右侧的最大子序和的问题,这个是用贪心解决。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。原创 2023-11-20 09:31:47 · 101 阅读 · 0 评论 -
K - Summer Vacation
有一次性的工作可用。如果您接受第 -份工作并完成它,您将从您完成工作的那天起获得几天后的奖励。Ni,Bi,Ai您一天最多可以接受并完成其中一项工作。但是,您不能重新接受已经完成的工作。找到您从今天起几天内可以获得的最高总奖励。M您今天就可以开始工作了。打印您最迟可以从今天起到第M天内获得的最高总奖励。题目大意是:每天可以选择一个工作并完成,但是工作完成了,并不会马上获得报酬,相当于工作完成后的第x天才收到报酬,所以要选择正确的工作顺序,在有限的天数内获得最大报酬。这个题目首先原创 2023-06-21 17:05:40 · 370 阅读 · 0 评论 -
G - equeue
操作C:选择手中的宝石,将其插入。当您手中没有宝石时,您无法执行此操作。操作D:选择手中的宝石,将其插入。当您手中没有宝石时,您无法执行此操作。操作B:取出里面最右边的宝石,拿在手里。当为空时,无法执行此操作。操作A:取出最左边的宝石,拿在手里。当为空时,无法执行此操作。在操作后找到您手中珠宝价值的最大可能总和。操作后打印手中珠宝价值的最大可能总和。你的朋友送了你一个排队作为生日礼物。是一个水平圆柱体,包含一排珠宝。一开始,你手中没有宝石。原创 2023-06-14 22:00:37 · 283 阅读 · 0 评论 -
B - Same Map in the RPG World
我们有网格,水平行和垂直列。网格中的每个单元格都有一个符号或上面写着一个符号。写在单元格上从顶部开始的第 -行和从左起的第 -列上的符号分别用 和 表示。高桥正在开发一款RPG。他决定编写一个代码来检查两个地图是否相等。这个题可以用暴力解,用到了string中的substr函数。是否有一对满足以下条件的非负整数?如果有,请打印,否则。这里,据说等于当且仅当对于所有整数对,使得 和。如果有符合的整数对,则打印Yes;原创 2023-06-14 22:05:09 · 647 阅读 · 0 评论 -
D - Bargaining Table
Bob 希望新桌子能容纳尽可能多的人,因此它的周长应该是最大的。其中Solve函数的思路是:从该位置向下找和向左找(两层循环),内层循环时向左找,外层循环向下找,要保证行和列尽可能大,每层循环得到一个计算出的临时周长max,将该值max与ans比较,如果sum>ans,就将ans赋值为sum,如此循环来获取最大周长。遍历行和列,如果当前的位置是空闲的‘0’,计算以该位置为左上顶点的矩形的最大周长(用Solve函数实现)。这个题目首先要注意的是:计算周长的方法,例如:一块1*1大小的谈判桌,它的周长是4.原创 2023-06-11 21:34:53 · 59 阅读 · 0 评论 -
J - 数组中两两数字交换
例如[2,3,1,5,4][2,3,1,5,4]是一种排列,但是[1,2,2]不是排列 (2在数组中出现两次)和[1,3,4]也不是排列(≥1) 并对排列进行一些操作。在一个操作中,您可以选择两个整数我。.要对排列进行排序,请选择一个常量。您可以选择对给定的排列进行排序?是一种排列,使得至少有一个位置我。≤104).测试用例的说明如下。每个测试用例的第一行包含一个整数。您可以选择对给定的排列进行排序。.保证给定的数字形成长度的排列。≤105) — 排列的长度。每个测试用例的第二行包含。原创 2023-06-11 21:29:36 · 475 阅读 · 0 评论 -
G - 1-n数组
【题目描述】给你一个数组一个a[n]组成n正整数。您可以对其执行操作。在一个操作中,您可以替换数组的任何元素一个我跟⌊/2⌋看看您是否可以多次应用该操作(可能操作为0) 来制作数组一个一个成为数字的排列1自n,也就是说,以便它包含来自1自n,每个正好一次。例如,如果a[n]=[1,8,25,2],n=4,那么答案是肯定的。您可以执行以下操作:取代8跟⌊8/2⌋=4,然后,a=[1,4,25,2].取代25跟⌊25/2⌋=12,然后,a=[1,4,12,2].取代12跟⌊1原创 2023-06-10 21:52:41 · 1119 阅读 · 0 评论 -
N - Cthulhu
从形式上讲,我们将把这样的无向图视为克苏鲁,它可以表示为一组三棵或更多根树,其根通过一个简单的循环连接起来。并查集数组f[n],要注意在使用之前初始化,将f[i]=i,作用是:未连接边时,每个顶点的首领结点是它自己,f[i]中的i是当前的结点序号,赋值的i是它的首领结点编号。2、题目中给到的点,必须全部用边连接,所以用一个计数器统计连接的边数(因为可能会出现重复连接的边,或边数不足以连接的情况)1、在连接边的时候,用并查集判读是否形成回路, 如果形成了回路,判断这个形成的回路是否是第一个形成的回路。原创 2023-06-10 11:36:25 · 644 阅读 · 0 评论 -
J - Trust Nobody
确定人们所说的是否矛盾,或者是否有可能。如果可能,输出组中的骗子数量。如果有多个可能的答案,请输出其中任何一个。.否则,输出组中的骗子数。如果有多个可能的答案,请输出其中任何一个。对于每个测试用例,输出一个整数。如果人们所说的是矛盾的,输出。他们中的一些人可能是骗子,他们。≤1000) — 测试用例的数量。每个测试用例的第一行包含一个整数。每个测试用例的第二行包含。原创 2023-06-11 09:26:51 · 629 阅读 · 0 评论 -
F - 爱丽丝、鲍勃和巧克力
个巧克力棒排成一行。爱丽丝开始从左到右一个接一个地吃巧克力棒,鲍勃——从右到左。对于每个巧克力棒,玩家食用它所需的时间是已知的(爱丽丝和鲍勃以相同的速度吃掉它们)。当玩家吃掉一块巧克力时,他会立即从另一块开始。不允许同时吃两块巧克力,不要让巧克力棒未吃完并暂停。如果两个玩家开始同时吃同一个酒吧,鲍勃把它留给爱丽丝作为一个真正的绅士。第二行包含一个序列 t 1, t 2, ...,根柱所需的时间(以秒为单位)(按从左到右的顺序)。(1 ≤ t i ≤ 1000),其中。是 Alice 消耗的柱线数量,原创 2023-06-11 09:33:59 · 759 阅读 · 0 评论 -
E - AtCoder Express 2
那么对于询问 p,q,答案就是去求从 (p,p) 这个点到(q,q) 这个点之间二维数组 cnt 的矩形和。的公司拥有火车,火车从一个城市运行到另一个城市(有可能)。在高桥王国,有一条东西向的铁路和沿途的城市,从西到东编号为、、、...。用 cntij 表示从 i 到 j 的列车数量。那么设 sum 数组是 cnt 数组的二维前缀和。很自然的想到使用二维前缀和来计算这个矩形和。于是使用这两个前缀和公式即可 AC。原创 2023-05-26 01:24:22 · 536 阅读 · 0 评论 -
J - 在赌场玩
因此,例如,如果总共有四个玩家,则进行六场比赛:第一场比赛对第二场比赛,第一场比赛对第三场比赛,第一场比赛对第四场比赛,第二场比赛对第三场比赛,第二场比赛对第四场比赛,第三场比赛对第四场比赛。所以这里用到对象数组(容器),它可以用来存放任意类型的动态数组,这里的话可以将n和m的值输入后,再定义一个规定范围的vector容器,可以解决题目中的这个问题。这个题目要求计算每个玩家之间对应的牌之间的差距(绝对值),肯定不能直接将每一行的数据进行排序,因为当打乱牌的顺序时,牌与牌之间的差可能会发生变化。原创 2023-04-28 00:25:44 · 819 阅读 · 0 评论 -
G - 李华和图案
但是还有一个坑,就是题目要求将步数 k 用完,此时还要考虑另一种情况,就是步数没有超过题目要求的大小,还要比较剩余步数是否是偶数,是偶数时,表示将任意一块颜色反转两次,且不会改变结果。这个题还是不难的,毕竟它直接遍历是不会时间超限的,可以将数组分为两半,在前面的第一个开始与后面的最后一个比较,遇到不同的情况就将计数器 sum++(代表将其中一块的颜色反转)。还有一个要考虑的是:如果这个数组的长度和宽度 n 是一个奇数,那么它最中心的那块颜色始终不影响反转的结果,这是一个要考虑的特例。原创 2023-04-27 15:33:55 · 359 阅读 · 0 评论 -
p8584 探索未知
辗转相除法原创 2023-04-07 16:46:32 · 306 阅读 · 0 评论 -
3956. 截断数组
大概是先判断前缀和到达 sum1==sum/3 的时候就判断后缀和,但是会有漏掉的情况,因为 i 层的循环是一直自增的,判断完第一段满足要求后,接着要遍历后一段满足要求的区域,此时可以用数组来存储后一段满足条件的 sum3==sum 的部分(数据过大时可能会重复计算很多遍),而且还要保证统计出来的数量没有重复的部分。他的思路是记录前缀和(sum1)中满足 sum1==sum/3 的部分(也就是第一次截断的点)以及满足 sum1==sum/3*2 的部分(第二次截断的点)。,ana1,a2,…原创 2023-04-04 20:37:22 · 396 阅读 · 0 评论 -
H - Eight八数码问题(输出操作步骤)
f(x)= g(x)+h(x),其中 g(x)是到达该点已经进行的操作数,h(x)是粗略估计到达目标状态的操作数(该数只会比实际操作数大,后面会解释),f(x)是两者之和。计算 h(x)时,是判断它直接到目标的距离(曼哈顿距离),将计算的 f(x)存入open list ,然后从 open list 中选择 f(x) 最小的节点放入closelist中,并将它视作新的父节点,按照以上步骤类推,不断的重复,一直到搜索到终点节点,完成路径搜索。对于每组输入数据,输出一行,即移动的步骤。原创 2023-03-28 17:13:51 · 898 阅读 · 0 评论 -
U - 速算24点
随机给你四张牌,包括A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13)。在此之前用两层循环遍历这四个数的运算,每两个数都可以进行四种运算,其中对于减法和除法数字的先后顺序对运算结果有影响,所以对于两数减法和除法的搜索分别都要进行两次,然后题目另外一个条件是:不能出现小数,所以每次除法运算时,要先判断除数是否为 0,而且两数取余后的结果是否为 0,(也就是 c%d==0).每一组输入数据对应一行输出。我用的是深搜,这个题的深搜次数是三次,因为四个数,进行三次加减乘除的运算。原创 2023-03-25 13:16:21 · 258 阅读 · 0 评论 -
L - DNA sequence
这个题要求最短的序列,那么我们肯定要从一个小的长度开始往大的长度遍历,而且对于 DNA 字符串有很多种情况,每个字符的位置可以放四种‘A’,'C','T','G',而对于这么多种情况,可能不能直接用 dfs 一条路走到底,再走第二条,第三条……例如,给定"ACGT", "ATGC", "CGTT", "CAGT", 你可以构造的一个最短序列为"ACAGTGCT",但是需要注意的是,这并不是此问题的唯一解。对于每一组数据,输出一行中含有一个数,代表满足条件的最短序列的长度。第一行含有一个数t,代表数据组数。原创 2023-03-25 13:14:43 · 253 阅读 · 0 评论 -
Subsequence Addition (Easy and Hard Version)
还要明确一点的是,如何判断是否能够由原始序列组成输入的数组,所以要是前缀和小于当前的这个数字,说明这个数组一定不成立,输出 “NO”,因为数列中含有数字 1,可以判断若是前缀和小于等于当前的这个数,那么这个数就可以由前面的数组成。开始时是 {1},然后 {1,1},(1+1=2)->{1,2,1},(1+2=3)->{1,3,2,1},(1+1+3=5)->{5,1,3,2,1}.题目大意是:对于一组数据,它的原始序列是 1,其余的数字是由 1 衍生的数字.原创 2023-03-25 13:18:28 · 220 阅读 · 0 评论 -
Q - 生日蛋糕
首先理解题意,题目的意思是把所有半径和高度,都用整数考虑。这就意味着:蛋糕最顶层的半径和高度就是最小为 1.将蛋糕从下往上计数,其表面积是第一层的上表面(因为从上面看,看到的图形就是第一层的大小,所以上表面就是第一层的圆柱的面积)加上每一层圆柱体的侧面。并且蛋糕的每一层的半径和高度都比它的下一层的小,就可以推出蛋糕第 i 层的半径和高度最小为 m-1.(m 是蛋糕层数)如果只用普通的 dfs 的话肯定是时间超限,过不了的,并且在这用了三个剪枝也过不了:原创 2023-03-23 19:35:11 · 133 阅读 · 0 评论 -
Pots 倒水问题
因为是用的栈,首先队头 head,队尾 tail,用数组 a 和数组 b 记录栈中水杯 A和水杯 B 的水量,数组 ans 记录其下标对应的栈元素已经进行的操作数,数组 f[i][j] 用来存放栈中以 i 为下标的元素先前的进行的具体操作。POUR(i,j) 将第i个容器里的水倒入第j个容器(这次操作结束后产生两种结果,一是第j个容器倒满并且第i个容器依旧有剩余,二是第i个容器里的水全部倒入j中,第i个容器为空)有且只有一行,包含3个数A,B,C(1原创 2023-03-21 21:40:00 · 285 阅读 · 0 评论 -
洛谷——P1049 装箱问题
这个题目是一个比较简单的 0/1 背包问题,首先审题:这个题目的要求是有 n 间物品,对于这个题目物品的体积和价值成正比,而且每件物品只有一样,只有选与不选的区别。然后要找到状态转移方程,我用的两层循环,外层循环是遍历每一件物品,然后内层循环要从 V 开始,从大到小遍历(反过来就变成完全背包问题了)。而对于完全背包,他可以选择同样的物品多次,例如采草药的时候,可以采同一种草药多次。有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积。接下来 n 行,每行有一个正整数,表示第 i 个物品的体积。原创 2023-02-15 11:34:00 · 405 阅读 · 0 评论 -
简单的单调栈
用两个for循环遍历。外层for循环从第一个数开始遍历,内层for循环从j=i-1,开始遍历直到j>=0。如果a[i]>a[j]就输出这个数,然后break,如果内层遍历完了还没有找到则输出-1。原创 2023-02-14 23:30:16 · 59 阅读 · 0 评论 -
洛谷——P1004 方格取数
这个方法应该也是可行的:除了动态 dp 数组,除了存放方格中数的 book 数组,再设置一个 flag 数组(只能向下走或者向右走),它的下标代表每一列经过的行数,每更新一次 dp 数组里面的值,就把行数的下标存入对应的 flag 数组。输入的第一行为一个整数 N(表示 N×N 的方格图),接下来的每行有三个整数,前两个表示位置,第三个数为该位置上所放的数。这样进行完第一遍查找后,找到了方格取数的最大值,并且标记了走过的路径,接下来把走过的路径上面的方格数归为 0,然后进行第二遍查找。原创 2023-02-13 22:35:37 · 826 阅读 · 0 评论 -
洛谷——P1616 疯狂的采药
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。这个题目是用的动态规划,刚开始看题的时候把它想得太简单了:我是用的按照草药的价值效率(价值 / 采摘时间)从小到大排序,然后在不超过时间 t 的限制的情况下累加,但是这个方法一写出来就明显错了,题意是每种草药可以无限制采摘,上面的做法,草药就只有采摘和不采摘的区别。输出一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。师傅等得菊花都谢了!原创 2023-02-12 22:43:32 · 454 阅读 · 0 评论 -
洛谷——P1077 摆花
用动态 f[i][j] 数组存储当前统计到的方案数(f[i][j] 代表一共有 i 种花时,摆放 j 盆的方案数),其中要初始化,也就是无论有多少种花(n),只要装盆数 m = 0 了,那么方案数就是 1,所以设置一个循环,从 i=0 到 i=n 时的 f[i][0] 赋为 1。f[i][j+k] 的含义是第 i 种花摆放 j+k 盆的方案数(第 i 种花摆放 j 盆,而前 i-1 种花摆放了 k 盆,此时一共摆放了 j+k 盆花)。试编程计算,一共有多少种不同的摆花方案。原创 2023-02-10 13:08:49 · 592 阅读 · 0 评论 -
洛谷——P1091 合唱队形
不过要注意的是:尽管数列是从第 1 个人开始数的,但是内存循环的 j=0 ,全局变量中 a[0]=0,对于第一个人来说,这个人肯定要入列,这时 a[1]>a[0],b[1]=b[0]+1。然后计算上的人数就是符合要求的,要求的是去除的人数,就用 n-max ,max是统计人数时出现的最大值。,k,他们的身高分别为。你的任务是,已知所有 n 位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。n 位同学站成一排,音乐老师要请其中的 n−k 位同学出列,使得剩下的 k 位同学排成合唱队形。原创 2023-02-09 14:08:41 · 651 阅读 · 0 评论 -
洛谷——P2758 编辑距离
先一点点拆分,如果我要找的是一个字符串 a 和一个字符串 b,他们的长度分别为 lena,lenb,首先输入两个很短的字符串,其中 lena 为1,而 lenb 为 0,此时要删除一个字母,操作数为 1;这里用的动态规划是二维 dp 数组,dp[i][j] 中的 i 和 j 分别代表,字符串 a 的第 i 个位置到字符串 b 的第 j 个位置,要转化为相同的需要进行的操作数。然后要注意的是:dp[i][j] 的值是根据:原先数组里面的值和字符串进行对应操作后的操作数比较大小,将较小值存入。原创 2023-02-08 22:30:16 · 277 阅读 · 0 评论 -
洛谷——P1802 5倍经验日
这个题可能很快就看得出来要用动态规划,但是这个题有有一些变化,一般来说,当计算一件物品时,就加上它的价值,没有算上这件物品时,就不用加,沿续先前的值就好了。但是这个题目是这样的:打赢了有胜利经验;打输了有失败经验。有充足的药——打得过:可以选择打或者不打;没有充足的药——一定打不过。原创 2023-02-07 21:18:29 · 232 阅读 · 0 评论 -
洛谷——P1359 租借游艇
游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 i 到游艇出租站 j 之间的租金为r(i,j)( 1≤i原创 2023-02-06 22:27:40 · 253 阅读 · 0 评论 -
洛谷——P3366 【模板】最小生成树
接下来 M 行每行包含三个整数 Xi,Yi,Zi,表示有一条长度为 Zi 的无向边连接结点 Xi,Yi。对于 100% 的数据: 50001≤N≤5000, 1≤M≤2×10^5, 10^41≤Zi≤。如果该图连通,则输出一个整数表示最小生成树的各边的长度之和。如果该图不连通则输出。第一行包含两个整数 N,M,表示该图共有 N 个结点和 M 条无向边。如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出。对于 70% 的数据, M≤10^4。对于 20% 的数据, M≤20。原创 2023-02-05 22:22:48 · 306 阅读 · 0 评论 -
洛谷——P1003 铺地毯
现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b) 以及地毯在 x 轴和 y 轴方向的长度。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。第 n + 2 行包含两个整数 x 和 y,表示所求的地面的点的坐标 (x,y)。输出共 1 行,一个整数,表示所求的地毯的编号;原创 2023-01-31 23:33:23 · 520 阅读 · 0 评论 -
洛谷——P8630 密文搜索
那么考虑用哈希算法,把八个字母对应的值累加,为了避免这样的情况:s1字符串是 “ aaaacccc ”,s2字符串是 “ bbbbbbbb ”,这样的之间把字母对应的值相加,会重复,那么由于八个字母是固定的,我们直接设置一个 c 数组,存放每个字母额外要乘的值,这样相加时,可以很好避免重复的情况。输入第一行:一个字符串 s,全部由小写字母组成,长度小于 1024×1024。一个整数,表示每行密码的所有排列在 s 中匹配次数的总和。紧接着是 n 行字符串,都是小写字母组成,长度都为 8。原创 2023-01-15 23:17:59 · 222 阅读 · 0 评论 -
洛谷——P1002 过河卒
仔细观察题目可以发现一个规律,毕竟这个 “ 卒 ” 只能往下走和往右走,那就说明:如果要求走到一个位置(x,y)有多少种方法,我就可以先求出这个位置(x,y)的上面那个位置(x-1,y)的方案数,再求出这个位置(x,y)的左边那个位置(x,y-1)的方案数,二者相加就表示走到(x,y)位置的方案数了。棋盘上 A 点有一个过河卒,需要走到目标 B 点。首先想到的是搜索,先用的是深度搜索,然后时间超限了,但是深搜没有什么能改的地方,所以我试了下广度搜索,也是不行的。原创 2023-01-13 17:42:12 · 1031 阅读 · 0 评论 -
洛谷——P1102 A-B数对
给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。这个题直接用暴力解不可行,因为数据太多了,而且存储的类型不能用 int,得用 long long。首先,看题目,是找 A-B=C 的数对个数,那么可以转化成 A+C=B,一行,表示该串正整数中包含的满足 A−B=C 的数对的个数。我们需要想一个可以节省时间的方法,毕竟一个一个遍历行不通。对于 75% 的数据,20001≤N≤2000。第二行,N 个正整数,作为要求处理的那串数。原创 2023-01-10 11:30:39 · 2159 阅读 · 1 评论 -
洛谷——P3375 【模板 】KMP字符串匹配
给出两个字符串 s1 和 s2,若 s1 的区间 [l,r] 子串与 s2 完全相同,则称 s2 在 s1 中出现了,其出现位置为 l。最后一行输出 ∣s2∣ 个整数,第 i 个整数表示 s2 的长度为 i 的前缀的最长 border 长度。对于 s2,你还需要求出对于其每个前缀 s′ 的最长 border t′ 的长度。的子串 t,满足 t 既是 s 的前缀,又是 s 的后缀。现在请你求出 s2 在 s1 中所有出现的位置。输出 s2 在 s1 中出现的位置。原创 2023-01-09 23:15:06 · 271 阅读 · 0 评论 -
音乐播放列表 C
这个题目最开始我是这样想的,一个循环把总时长减去每首歌曲的时长,若是总时长减完单首歌曲时长之后,接着对下一歌曲进行同样操作。所以我想到了 while 循环,输入每首歌曲时长时,就把歌曲列表的总时长求出来,然后放在将 t-sum>0 当做循环继续的条件,这样时间复杂度就低了很多。打印一个整数,表示播放列表开始播放后正好几秒钟正在播放的歌曲,以及一个整数,表示自该歌曲开始以来经过的秒数,用空格分隔。接着还是不对,时间超限了,还得找其他简单的方法,毕竟在极端条件下:五首歌曲,每首歌曲两秒钟,但是总时长为。原创 2023-01-08 22:56:54 · 243 阅读 · 0 评论 -
洛谷——P1455 搭配购买(并查集)
这个题要运用背包,并查集的知识,但是用二维dp数组过不了,会超限,得用一维滚动数组。听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有 nn 朵云,云朵已经被老板编号为 1,2,3,...,n1,2,3,...,n,并且每朵云都有一个价值,但是商店的老板是个很奇怪的人,他会告诉你一些云朵要搭配起来买才卖,也就是说买一朵云则与这朵云有搭配的云都要买,电脑组的你觉得这礼物实在是太新奇了,但是你的钱是有限的,所以你肯定是想用现有的钱买到尽量多价值的云。原创 2023-01-06 22:31:52 · 161 阅读 · 0 评论 -
洛谷——P1827 美国血统 American Heritage
你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。做这个题首先要了解:前序遍历、中序遍历和后序遍历, 前中后指的是:根结点在左子树和右子树之间的位置。树的中序遍历是按照左子树,根,右子树的顺序访问节点。树的前序遍历是按照根,左子树,右子树的顺序访问节点。树的后序遍历是按照左子树,右子树,根的顺序访问节点。原创 2023-01-05 16:48:43 · 268 阅读 · 1 评论 -
洛谷——p1825 Corn Maze
去年秋天,农夫约翰带着奶牛参观了一个玉米迷宫。但这不是普通的玉米迷宫:它有几个重力驱动的传送滑梯,可以让奶牛从迷宫中的一个点瞬间传送到另一个点。滑梯是双向工作的:一头牛可以从滑梯的起点瞬间滑到终点,或者从终点滑到起点。如果一头牛踩在滑梯两端的空间上,她必须使用滑梯。玉米迷宫的外面除了一个出口,全是玉米。迷宫可以用一个N x M表示。玉米,#表示,这些格子是不可以通过的。草地,.表示,可以简单的通过。传送装置,每一对大写字母 A到 Z表示。出口,=表示。起点,@表示原创 2023-01-01 12:00:00 · 401 阅读 · 0 评论