夏驰和徐策
一个喜欢打游戏的计算机专业学生;这是我的GitHub:https://github.com/XiaChiandXuce
展开
-
第 2 场 算法季度赛 蓝桥&途游游戏 赛后题解2.忙碌的售货员
在解决类似的问题时,正确地识别和利用分界点是关键,它可以大大简化问题的解决方案,并提高解决策略的效率和准确性。使用图解和代数方法都是有效的策略,它们可以帮助更好地理解和分析问题,从而制定出合适的解决方案。在实际应用中,结合这些方法并根据问题的具体情况灵活调整,将是解决这类问题的最佳实践方式。这种方法的核心优势在于其简洁性和系统性。通过将问题分解为重复的单元和一个可能的剩余部分,我们可以更容易地计算和理解整个问题的解决方案。无论是在学术问题还是实际编程任务中,这种分解方法都是解决复杂问题的强大工具。原创 2024-04-30 01:23:21 · 433 阅读 · 0 评论 -
习题加餐 9 1.最快洗车时间
1.最快洗车时间问题描述小蓝开了洗车行,有n辆车需要清洗,第i辆车清洗需要t;分钟。小蓝购买了两台自动洗车器,可以同时清洗车辆。但是由于两台洗车器共用一个电源,所以必须所有车辆都清洗完毕后才能关闭电源。请问从第一辆车开始清洗后,忽略洗车之外的时间,至少需要多长时间才能关闭电源?输入格式第一行输入一个整数n表示需要清洗的车的数量。第二行输入n个整数ti,表示每台车的洗车时间。数据范围保证:1≤n≤100,1≤ti≤1000。输出格式输出一个答案,表示最少需要的时间。原创 2024-04-23 00:17:01 · 197 阅读 · 0 评论 -
习题加餐 9 1.可构造的序列总数
1.可构造的序列总数问题描述构造王国一年一度的构造大赛又开始了,这次构造王国的国王将只给定两个数字k和n,需要大家回答出能构造多少个符合以下条件的序列:·序列的长度为n。·Qi是aj-1的倍数(i≥2)。由于答案可能非常大,你需要对10⁹+7取模。输入格式输入一行包括两个空格分隔的整数k和n。数据范围保证:1≤n,k≤2000。输出格式输出一个整数表示答案,答案需要对10⁹+7取模。样例输入22样例输出3说明。原创 2024-04-16 22:28:04 · 374 阅读 · 0 评论 -
习题加餐8 混境之地
这个题目是一个很好的练习,它让我们学习并应用了多种不同的算法概念和编程技巧。如何使用深度优先搜索(DFS)和广度优先搜索(BFS)来遍历图。这些是基本的图算法,对于解决路径发现和连通性问题至关重要。这是一种防止递归算法中重复计算相同问题的技术。记忆化是提高递归效率的关键手段,特别是在处理大规模数据时。尽管这个问题并不是动态规划的经典应用案例,但是它展示了如何将动态规划的概念(如记忆化)用于优化图的遍历。学习如何定义状态并利用这些状态来解决问题。在这个问题中,状态由位置和是否破墙的能力使用情况定义。原创 2024-04-06 09:51:46 · 645 阅读 · 0 评论 -
习题加餐8 张三的社团小游戏
DFS是解决此类问题的一个强大工具,它可以帮助我们遍历所有可能的情况。通过这个问题,我们可以学习如何有效地使用DFS来探索所有可能的解空间,并且了解如何利用DFS来处理复杂的逻辑判断和搜索顺序。尽管DFS可以帮助我们找到问题的解,但是直接应用可能会遇到效率问题,尤其是在问题规模变大时。这个问题教会我们如何在设计算法时思考其时间复杂度,并寻找优化搜索过程的方法,以减少不必要的计算和提高算法的效率。在很多算法问题中,我们不仅要找到解,有时还需要找到特定条件下的最优解。原创 2024-04-05 09:22:54 · 854 阅读 · 0 评论 -
习题加餐 8 黄金树
二叉树的遍历:理解如何通过递归方法遍历二叉树的节点,包括前序、中序、后序遍历。递归思想:递归是一种强大的编程技巧,能够让我们以简洁的方式解决复杂问题,尤其是在数据结构如树和图的遍历中。自定义数据结构:了解如何使用数组或其他数据结构(如类或结构体)来表示树,并学习如何高效地存储和访问它们的节点和关联数据。算法的效率:认识到递归算法的时间复杂度通常取决于递归调用的次数,本题中DFS的时间复杂度为O(n),这是因为每个节点正好被访问一次。递归的边界条件处理。原创 2024-04-02 15:14:17 · 881 阅读 · 0 评论 -
习题加餐7 实现基数排序
实现基数排序题目描述实现基数排序算法。基数排序的介绍如下:1.将整数按位数切割,然后将数值统一为同样的数位长度,数位较短的数前面补零。2.从最低位开始,依次进行一次排序。3.从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。请编写代码,完成排序,对给定数据进行升序排列。输入描述第一行,数字N(2≤N≤100),表示待排序的元素个数。第二行,待排序的元素。输出描述输出一行,为升序序列。输入输出样例示例输入6714852输出。原创 2024-03-30 16:43:16 · 313 阅读 · 0 评论 -
习题加餐5 小蓝找答案
1.小蓝找答案问题描述已知有N个互不相同的字符串,按照字典序从小到大排序,现在给定每个字符串的长度ai,问这些字符串的字符集最小是多少。请帮小蓝找到正确的答案。字符集是81,82…8n中所包含的不同字母的集合。数据保证一定有合理的构造方式。输入格式第一行输入一个整数n,代表字符串的个数。第二行输入n个整数,代表每个字符串的长度a。输出格式输出一行,包含一个整数,代表字符集的个数。样例输入3321样例输出2样例说明。原创 2024-03-29 19:08:11 · 600 阅读 · 1 评论 -
习题加餐5 小新的质数序列挑战
问题描述小新是一个热爱数学的孩子,他特别喜欢研究质数。最近,他发现了一个有趣的问题,他想用两个整数A和B来构造两个质数序列。让我们设P表示一个长度为N的质数序列,使得序列中所有数的和为A。设Q表示一个长度为M的质数序列,使得序列中所有数的和为B。设X表示所有有效对(P,Qj)(满足条件1≤i≤N且1≤j≤M)的最大绝对差。现在,小新的挑战就是找出所有可能的P和Q序列中,X的最小可能值。更正式地说,对于所有可能的序列P和Q,找出max(|P₂-Qi|)的最小值,其中1≤i≤N且1≤j≤M。原创 2024-03-29 17:14:01 · 315 阅读 · 0 评论 -
习题加餐5. 小浩的ABC
从小浩的ABC问题中,我们能学习到构造法在算法设计中的应用,以及如何高效地解决看似复杂的问题。构造法是一种直接按照问题要求构建解的算法策略,常用于解决那些直接求解困难但可以通过特定方式构建答案的问题。这种方法特别适用于有明确限制条件或特定目标的数学和编程问题。原创 2024-03-27 22:34:58 · 670 阅读 · 0 评论 -
习题加餐5 树上倍增
问题描述给你一个无向树,树中共有N个结点。每个结点从1到N编号,且1号节点是根节点。你需要实现一个程序,根据给定的两个结点编号,找出它们的最近公共祖先。首先,我们来详细定义“最近公共祖先”。最近公共祖先的定义在一个树形结构中,如果我们选取两个节点p和q,那么p和q的最近公共祖先(LCA,Lowest Common Ancestor)可以被定义为这样一个节点x,它同时满足以下条件:1.x是p、q的祖先。2.x的深度尽可能大(即x距离根的距离尽可能远,距离p、q节点尽可能近)。原创 2024-03-26 16:44:52 · 691 阅读 · 0 评论 -
习题加餐5. 最近公共祖先LCA查询
树的深度优先搜索(DFS)基础DFS应用:通过DFS遍历树来计算节点深度、父节点、子树大小等基本属性,这是许多树相关算法的基础。递归思维:理解和应用递归思维来处理树结构,是解决树相关问题的关键。原创 2024-03-25 22:05:03 · 866 阅读 · 0 评论 -
习题加餐5 可凑成的最大花束数
理解二分查找算法的应用二分查找不仅可以用来在排序数组中查找元素,还可以用来解决具有单调性质的决策问题,如这题中的最大花束数。1.2.3 蓝桥杯常用库函数之二分查找算法的优化避免在迭代过程中进行可能导致溢出的乘法操作。使用除法来替代乘法,防止溢出,并保持逻辑正确。数据类型选择的重要性选择合适的数据类型来避免溢出,特别是在处理潜在的大数操作时。原创 2024-03-23 19:03:39 · 1223 阅读 · 0 评论 -
习题加餐5 1.神奇的数组
正确的解决方案是使用双指针方法,而不是前缀和或前缀异或和的统计。从左到右遍历数组,对于每个可能的子数组起点(左边界),动态调整右边界以找到最远的满足条件的子数组终点。可以通过维护一个当前的异或和(和当前和相同)来检查当前考虑的子数组是否满足条件。如果加上新的元素后条件不再满足,那么需要调整左边界。这种方法是基于问题的特性:对于任意子数组,其异或和与普通和相等的特性单独检查,而不是依赖于前缀和或异或和的相等性。这行代码定义了一个宏pb,用于简化向向量(vector)中添加元素的操作。push_back。原创 2024-03-23 13:04:57 · 1161 阅读 · 0 评论 -
习题加餐4. 明日方舟大作战
我的理解:1. 信息 干员数量 n, 敌人数量 m, 总预算 B 每个干员的攻击力 attacki 和 费用 costi 每个敌人的生命值 目标是在不超过预算的情况下选择干员,使得总攻击力最大化,从而最小化击败所有敌人所需的回合数。2. 分析费用和攻击力的限制 有预算限制,需要最大化攻击力。 可以将问题视为一个背包问题,其中干员的费用相当于物品的重量,攻击力相当于物品的价值。选择最优的干员组合 这是一个典型的01背包问题场景,目标是找到在总费用不超过 B 的原创 2024-03-23 11:15:55 · 1146 阅读 · 0 评论 -
习题加餐4. 冒险者工会
这个问题通过贪心算法解决,展示了贪心算法在解决一些优化问题中的强大能力。关键在于如何识别贪心选择的性质,并通过数学证明确保这种方法能够达到全局最优解。通过对问题的深入理解和逻辑推理,我们可以设计出有效的算法来解决问题,同时也需要注意代码实现中的细节,如排序和双指针的使用,以确保算法的效率和正确性。贪心算法的应用这个问题展示了贪心算法在实际问题中的应用。贪心算法通过在每一步选择当前最优的解决方案,期望最终达到全局最优解。该问题中,每次选择能力最接近但足以完成最难任务的冒险者,就是贪心选择的体现。原创 2024-03-20 14:16:46 · 1234 阅读 · 0 评论 -
习题加餐4. 鸡哥的购物挑战
问题描述鸡哥在“无尽的夏日”购物节上看中了一系列的商品,这些商品的价格各不相同。然而,鸡哥的购物车有一条特殊的规则:购物车中的商品数量必须是偶数个。鸡哥希望在满足购物车规则的前提下,选择总价值最高的商品。他将商品的价格列表给了你,希望你能帮他计算出他能购买到的商品的最高总价值是多少。输入格式第一行包含一个整数N(2≤N≤10⁵),表示商品的数量。第二行包含N个整数,表示每个商品的价格A₃(-10⁹≤A;≤10⁹)。输出格式输出一行,表示鸡哥能购买到的商品的最高总价值。样例输入5。原创 2024-03-19 19:43:55 · 947 阅读 · 0 评论 -
习题加餐4. 四个瓷瓶的神秘游戏
问题描述在古老的中国,有一个神秘的传说。在一座寺庙中,有四个精美的瓷瓶,每个瓷瓶中都装有神秘的珍珠。珍珠的数量可以用来衡量寺庙的强大。寺庙的主持阿坤老师有一种神秘的力量,他可以做出以下操作:·选择一个瓷瓶,将其中的珍珠增加2个,同时将其他三个瓷瓶中的珍珠各减少1个。这个操作只有在其他三个瓷瓶中的珍珠数量都大于零时才能进行。阿坤老师的目标是使得四个瓷瓶中最多珍珠的数量尽可能大。你的任务是,给定四个瓷瓶中珍珠的初始数量,计算阿坤老师通过以上操作后,四个瓷瓶中最多珍珠的数量最大可以是多少。输入格式。原创 2024-03-19 17:44:38 · 933 阅读 · 0 评论 -
习题加餐4 1.小蓝的礼物
问题分解能力分解复杂问题:这个问题要求我们在给定预算下最大化购买数量,同时考虑一个一次性优惠。通过将问题分解为多个步骤(先尝试不使用优惠购买尽可能多的物品,然后考虑使用优惠的情况),我们可以更容易地找到解决方案。原创 2024-03-17 11:38:22 · 1137 阅读 · 0 评论 -
习题加餐 4.珠宝的最大交替和
心算法的应用贪心算法通常用于求解最优化问题。这个问题展示了如何通过每一步都做出局部最优选择(即最大化偶数位置上的元素和最小化奇数位置上的元素)来获得全局最优解。问题简化这个问题可以通过简化交替和的计算来高效解决。而不是考虑所有可能的交换,只需找到关键的影响因素(即偶数位置的最小值和奇数位置的最大值)。算法效率的重要性高效的算法可以处理大量数据。这道题展示了如何将一个看似复杂的问题(需要比较所有可能的交换)转换为线性时间复杂度的问题。数组处理技巧学习如何使用C++标准库中的函数(例如)来简化数组处理。原创 2024-03-13 12:56:26 · 992 阅读 · 0 评论 -
习题加餐 4.泡澡
差分数组的应用差分数组是一种重要的数据结构,用于高效处理区间更新操作。通过这个问题,我们学到了如何使用差分数组来记录和管理区间内每个元素的变化,以及如何通过求前缀和来还原出原始数据。这种方法不仅适用于本题,也可以广泛应用于其他需要区间更新的问题。这道题目不仅是对特定数据结构(如差分数组)的学习,也是对算法设计、问题分析和解决方案验证等多方面编程技能的一次练习。通过解决这类问题,我们可以增强解决实际问题的能力,提高编程技巧和算法设计的水平。原创 2024-03-11 17:23:28 · 1008 阅读 · 0 评论 -
习题加餐 4.肖恩投球游戏加强版
问题描述小羊肖恩最近喜欢上了投球游戏,但他已经不满足只有一行球筐的玩法了。具体来说,在他面前摆放了n×m个球筐,这些球筐形成了一个n×m的矩阵,整数ai,j表示第i行第j列的球筐最开始的球的个数。接下来小羊会进行q次操作,每次操作会给出五个整数Z1,yi,Z₂,y₂,C,他会将以(x₁,y₁)为左上角,(x₂,y₂)为右下角的球筐矩阵都投入c个球。请你输出操作完成之后每个框各有多少个球?输入格式第一行输入三个整数n,m,q,表示球筐矩阵的大小和操作次数。原创 2024-03-11 16:16:25 · 1039 阅读 · 0 评论 -
习题加餐 4.肖恩的投球游戏
差分数组技巧的应用在处理这类区间操作问题时非常高效,可以将多次对区间的操作优化到O(1)时间复杂度,整个问题的解决方案时间复杂度为O(n + q),其中O(n)用于读入数据和输出结果,O(q)用于处理操作。这种方法不仅适用于本题,也是解决类似区间操作问题的一个非常有用的技巧。差分数组的概念和应用定义:差分数组是原数组的相邻两项之差组成的数组,对于数组a[1...n],其差分数组b[1...n]定义为(为方便处理,通常假设a[0] = 0应用。原创 2024-03-10 14:44:38 · 917 阅读 · 0 评论 -
习题 四元组问题
如果读者对单调栈已经有了深刻的理解,我的做法提供了一个快速直接的解决方案。正确答案通过详细的分析和讲解,提高了读者对问题的深入理解,让读者能更好地把握解题的核心思想和解决类似问题的能力。单调栈的概念与应用:单调栈是一种特殊的栈,用于解决一类特定的问题,主要是那些涉及序列中元素前后关系的问题。通过这个问题,可以学习到如何使用单调栈来维护一个序列的单调性(递增或递减),以及如何利用这个性质来解决实际问题。7.4.1 蓝桥杯基础数据结构之单调栈&单调队列。原创 2024-03-09 21:04:26 · 1110 阅读 · 0 评论 -
习题加餐 第k大的数
数据结构的选择和应用:这道题目展示了如何使用最小堆(或优先队列)来有效地解决需要快速访问和更新集合中的第k大/小元素的问题。选择合适的数据结构对于解决特定类型的问题至关重要,并可以显著影响程序的性能。算法效率和性能考虑:通过比较不同的解决方案(例如,直接排序 vs 使用最小堆),我们可以理解不同算法在时间复杂度和空间复杂度上的权衡。在面对大数据量时,高效的算法(如利用最小堆)比暴力解法(如每次操作后排序整个数组)更加高效。边界情况和错误处理:编写代码时需要注意处理各种边界情况,比如保证最小堆中始终保持恰好。原创 2024-03-09 10:49:46 · 854 阅读 · 0 评论 -
习题加餐 1.一道简单的取模问题
堆的基础:理解堆作为一种特殊的完全二叉树,具有的性质(大根堆和小根堆),以及堆在数据结构中的应用。堆的操作:学习如何手动实现堆的核心操作,包括插入(push)、删除(pop)、以及堆的调整(push_up和push_down)等,这些是理解和使用堆的基础。原创 2024-03-07 16:51:42 · 1011 阅读 · 0 评论 -
习题加餐 小明和完美序列
1.小明和完美序列问题描述小明又新学了一个概念,叫做完美序列。一个仅包含数字序列被称为完美序列,当且仅当数字序列中每个数字出现的次数等于这个数字。比如(1),空序列也算。现在小明得到了一个数字序列,他想知道最少要删除多少个数字才能使得这个数字序列成为一个完美序列。输入格式输入包括两行。第一行一个整数n,表示数字序列中数字的个数。第二行,包括n个整数,是数字序列中具体的每个数字。输出格式输出一个整数,表示最少要删除的数字个数。样例输入633311315。原创 2024-03-06 20:47:45 · 1400 阅读 · 0 评论 -
习题加餐1.带分数
1.带分数带分数题目描述100可以表示为带分数的形式:100=3+69258/714还可以表示为:100=82+3546/197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100有11种表示法。输入描述从标准输入读入一个正整数N(N原创 2024-03-03 14:46:59 · 853 阅读 · 0 评论 -
习题加餐1 求函数零点
二分查找的应用理解二分查找:通常用于在有序数组中查找元素,这个问题展示了二分查找也可以应用于连续数学函数的零点查找,扩展了二分查找的应用场景。条件逼近:通过逐步缩小搜索区间来逼近解,是解决连续空间搜索问题的一个有效策略。原创 2024-03-03 14:13:56 · 1034 阅读 · 0 评论 -
2021 C++B组 试题C:直线
试题C:直线本题总分:10分【问题描述】在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上,那么这些点中任意两点确定的直线是同一条。给定平面上2×3个整点{(x,y)|0≤x原创 2024-03-02 15:48:19 · 1098 阅读 · 0 评论 -
2021 C++B组 试题B:卡片
试题B:卡片本题总分:5分【问题描述】小蓝有很多数字卡片,每张卡片上都是数字0到9。小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从1拼到多少。例如,当小蓝有30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1已经只有一张了,不够拼出11。现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?提示:建议使用计算机编程解决问题。【答案提交】原创 2024-03-01 16:46:24 · 1111 阅读 · 0 评论 -
2021 C++B组 试题A:空间
算法设计相对简单,关键步骤如下:五、实现代码过程中可能遇到的问题 数据类型选择:考虑到计算过程中可能出现的大数值,应当使用足够大的整数类型来存储计算结果,例如。 位运算理解:在计算220220时,使用位运算()而不是直接计算,以增强代码的可读性和执行效率。 常数定义:在定义转换常数时,确保它们的类型和值正确,防止溢出或计算错误。 编译环境配置:确保编译环境正确配置,支持C++标准,以避免因环境差异导致的编译问题。六、复盘我的答案和正确答案对比:很明显正确答案用编程解决问题的话原创 2024-02-29 19:35:02 · 942 阅读 · 0 评论 -
贪心—最大的卡牌价值
最大的卡牌价值问题描述给定n副卡牌,每张卡牌具有正反面,正面朝上数字为ai,背面朝上数字为bi;。一副卡牌的价值为正面朝上数字之和。一开始所有卡牌都是正面朝上的。小蓝是蓝桥学院最优秀的魔法师,他知道所有卡牌的背面数字b;,他最多可以进行k次操作,每次可以将一副卡牌翻转,将正面朝上的数字变为背面朝上的数字,或将背面朝上的数字变为正面朝上的数字。请问,小蓝最多可以使卡牌的价值之和为多少?输入格式第一行输入两个整数n和k,表示卡牌的数量和小蓝可以操作的次数。原创 2024-02-28 15:16:24 · 997 阅读 · 0 评论 -
数位DP例题—数字迷宫
数字迷宫问题描述小薇是一位喜欢解谜题的小姑娘,一天她来到了一座神秘的数字迷宫。这座数字迷宫是由一个正整数n构成的,小薇需要将n分解为3个各不相同的正整数之和,且每一个正整数都不能包含数字2和4才能离开迷宫。小薇很兴奋,但她很快发现这个数字迷宫并不简单,因为要求的是不同的分解方法数。此外,小薇还发现,她可以任意调换三个正整数的顺序,但这并不被算作一种新的分解方法。这可就难办了,小薇很清楚以她目前的能力是无法完成解谜的离开迷宫的。但好在她是个氪金玩家,通过氪金的力量,她联系上了你。原创 2024-02-27 20:41:59 · 885 阅读 · 0 评论 -
BFS例题—添加路障
问题描述给定一个n×n的矩阵,其中A代表起点,C代表终点。起点永远在左上角,终点永远在右下角。对于矩阵中其余的点,O代表可以通过,X代表路障。我们可以向上下左右移动,但是不能斜走,不能走进为路障的点,也不能超出矩阵范围。我们可以在任意为O的点放置路障,求至少放置几个路障能使得从起点出发无法走到终点?输入格式第一行为一个正整数T,为样例组数。对于每组样例,第一行为一个正整数n,含义见问题描述。接下来是一个n×n的矩阵,仅由大写字母A,C,O,X构成。输出格式。原创 2024-02-26 19:39:15 · 969 阅读 · 0 评论 -
线性DP例题—破损的楼梯
破损的楼梯问题描述小蓝来到了一座高耸的楼梯前,楼梯共有N级台阶,从第0级台阶出发。小蓝每次可以迈上1级或2级台阶。但是,楼梯上的第a1级、第a₂级、第ag级,以此类推,共M级台阶的台阶面已经坏了,不能踩上去。现在,小蓝想要到达楼梯的顶端,也就是第N级台阶,但他不能踩到坏了的台阶上。请问他有多少种不踩坏了的台阶到达顶端的方案数?由于方案数很大,请输出其对10°+7取模的结果。输入格式第一行包含两个正整数N(1≤N≤10⁵)和M(O≤M≤N),表示楼梯的总级数和坏了的台阶数。原创 2024-02-26 18:16:25 · 1239 阅读 · 0 评论 -
2022 C++B组 试题J:砍竹子
试题砍竹子试题砍竹子时间限制: 1.0s内存限制: 256.0MB本题总分:25分【问题描述】这天,小明在砍竹子,他面前有n棵竹子排成一排,一开始第i棵竹子的高度为hi他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子。魔法可以对连续的一段相同高度的竹子使用,假设这一段竹子的高度为H,那么使用一次魔法可以把这一段竹子的高度都变为⌊√⌊H2⌋+ 1⌋,其中⌊x⌋表示对x向下取整。小明想知道他最少。原创 2024-02-26 09:29:50 · 1362 阅读 · 0 评论 -
2022 C++B组 试题I:李白打酒加强版
状态压缩:在某些情况下,即使问题初看需要多个变量来描述,通过巧妙的状态定义和状态压缩技术,可能可以减少所需的维度。例如,可以通过位运算将多个信息压缩到一个整数中,从而降低DP数组的维度。状态分解:有时,将一个复杂状态分解为多个简单状态的组合,可以简化问题的解法。这种情况下,可能需要增加DP的维度来独立处理这些分解后的状态。原创 2024-02-26 09:20:44 · 1044 阅读 · 0 评论 -
2022 C++B组 试题H:扫雷
试题扫雷试题扫雷时间限制: 1.0s内存限制: 256.0MB本题总分:20分【问题描述】小明最近迷上了一款名为《扫雷》的游戏。其中有一个关卡的任务如下,在一个二维平面上放置着n个炸雷,第i个炸雷xiyiri表示在坐标xiyi处存在一个炸雷,它的爆炸范围是以半径为ri的一个圆。为了顺利通过这片土地,需要玩家进行排雷。玩家可以发射m个排雷火箭,小明已经规划好了每个排雷火箭的发射方向,第j个排雷火箭xjyjrj表。原创 2024-02-25 15:06:31 · 994 阅读 · 0 评论 -
2022 C++B组 试题G:积木画
试题积木画试题积木画时间限制: 1.0s内存限制: 256.0MB本题总分:20分【问题描述】小明最近迷上了积木画,有这么两种类型的积木,分别为I型(大小为2个单位面积)和L型(大小为3个单位面积):同时,小明有一块面积大小为2×N的画布,画布由2×N个1×1区域构成。小明需要用以上两种积木将画布拼满,他想知道总共有多少种不同的方式?积木可以任意旋转,且画布的方向固定。【输入格式】输入一个整数N,表示画布大小。【输出格式】原创 2024-02-25 12:56:21 · 1090 阅读 · 0 评论