秋季每日一题
秋季每日一题
sweetheart7-7
技术源于热爱 ---------------------- 学习改变命运,知识改变未来 ---------------------- Architect-Road
展开
-
逃离大森林(秋季每日一题 39)
你是一个宝可梦饲养员,你正在进行你的冒险之旅。 当前,你的目标是逃离飞鸟森林。 飞鸟森林可以表示为一个 r×c 的方格矩阵。 每个方格,要么是树木,要么是空地。 空地中可能包含 0 个或多个宝可梦饲养员(森林中可能存在除你以外的其他饲养员)。 所有饲养员(包括你在内)都不能进入到包含树木的方格之中。 有一个方格为出口方格,到达这里就可以逃离大森林。 出口方格一定是空地。 最初始的方格矩阵将提供给你,这包含了你的初始位置,出口方格的位置、空地和树木的分布以及其他所有饲养员的位置, 下图是一个初始方格矩阵的示例原创 2022-11-02 11:47:45 · 267 阅读 · 0 评论 -
在校时间(秋季每日一题 38)
达达是一个大学生,他刚拿到本学期的课程安排。 本学期一共有 n 天,但是并不是每天都有课。 达达最喜欢做的事情就是在家里睡觉。 所以,在第一个上课日到来之前,他会一直呆在家里睡觉。 最后一个上课日结束之后,他也会回家睡觉,不再回学校。 此外,如果两个上课日之间有连续两天或以上的休息日,那么这些休息日达达也会回家睡觉。 值得注意的是,上课日达达一定会在学校听课,两个上课日之间的单个休息日,达达也会待在学校。 请问,这一学期达达一共在学校待了多少天? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每原创 2022-11-01 08:36:00 · 188 阅读 · 0 评论 -
餐厅(秋季每日一题 37)
一家餐厅收到了 n 个客人的预约订单。 每个订单都有开始时间和结束时间。 对于每个订单,餐厅有权利接单,也有权利拒单。 接受的订单,两两之间不得有任何时间交集,甚至不得有时刻交集,即如果一个订单的开始时间和另一个订单的结束时间相同,则两订单也不得同时接受。 为了赚更多钱,餐厅需要尽可能多的接单。 请问,餐厅最多可以接多少单? 输入格式 第一行包含一个整数 n。 接下来 n 行,每行包含两个整数 l,r,表示一个订单的开始时间和结束时间。 输出格式 输出可以接受的最大订单数量。 数据范围 1≤n≤5×105,原创 2022-10-31 13:38:34 · 109 阅读 · 0 评论 -
数组(秋季每日一题 36)
给定一个长度为 nA 的非降序整数数组 A 和一个长度为 nB 的非降序整数数组 B。 请问,能否从 A 中挑选 k 个数,从 B 中挑选 m 个数,使得在 A 中挑选出的任何数都严格小于在 B 中挑选出的任何数。 输入格式 第一行包含两个整数 nA,nB。 第二行包含两个整数 k,m。 第三行包含 nA 个整数 a1,a2,…,anA。 第四行包含 nB 个整数 b1,b2,…,bnB。 输出格式 共一行,能则输出 YES,否则输出 NO。 数据范围 1≤nA,nB≤105, 1≤k≤nA, 1≤m≤nB原创 2022-10-30 10:15:28 · 90 阅读 · 0 评论 -
移动元素(秋季每日一题 35)
给定一个长度为 n 的正整数数组 a1,a2,…,an。 你需要选择其中一个元素,将其移动至数组中的任意位置(也可以留在原位置)。 我们的目标是,在移动元素操作完成以后,将数组分为前后两个非空部分,并使前一部分的各元素之和等于后一部分的各元素之和。 请问,该目标能否达成? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,目标可以达成,则输出 YES,否则输出 NO。 数据范围 1≤T≤20原创 2022-10-29 18:15:27 · 292 阅读 · 0 评论 -
最大约数(秋季每日一题 34)
一个正整数 x 被称为一个可爱数当且仅当不存在任何正整数 a>1 满足 a2 是 x 的约数。 给定一个正整数 n,请计算并输出 n 的所有约数中,属于可爱数的最大约数。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据占一行,包含一个整数 n。 输出格式 每组数据输出一行结果。 数据范围 1≤T≤10, 1≤n≤1012 输入样例: 2 10 12 输出样例: 10 6原创 2022-10-28 09:13:58 · 196 阅读 · 0 评论 -
矩阵变换(秋季每日一题 33)
给定一个 n×n 的 01 矩阵。 你可以选择若干列(也可以不选),并将这些列上的所有元素进行变换(1 变 0,0 变 1)。 你的目标是使得矩阵中有尽可能多的行满足:一行中的所有元素都为 1。 输出可以得到的满足条件的行的最大数量。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个长度为 n 的 01 字符串,表示整个矩阵。 输出格式 输出可以得到的满足条件的行的最大数量。 数据范围 1≤n≤100 输入样例1: 4 0101 1000 1111 0101 输出样例1: 2 输入样例2: 3原创 2022-10-27 08:54:44 · 217 阅读 · 0 评论 -
最长连续休息时间(秋季每日一题 32)
一天可以被分为 n 个时段。 一个工人的每日工作安排可以用一个长度为 n 的 01 序列 a1,a2,…,an 来表示。 ai 为 0 表示第 i 个时间段是工作时间,ai 为 1 表示第 i 个时间段是休息时间。 工人日复一日的严格按照这个工作安排来进行工作和休息。 请问,工人的最长连续休息时间有多长(单位:时段)? 注意,连续休息时间可能跨天。 保证工人至少在一个时间段处于工作状态。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a原创 2022-10-26 09:54:42 · 108 阅读 · 0 评论 -
修改数组(秋季每日一题 31)
给定一个长度为 n 的正整数数组 a1,a2,…,an。 你可以任意改变其中任意元素的值。 但是,改变后的元素的值仍需是正整数。 将一个元素的值从 a 变为 b 所需要付出的代价为 |a−b|。 对于一个正整数 t,如果 |ai−t|≤1,则称第 i 个元素能够与 t 匹配。 现在,请你指定一个正整数 t,并且用最小的代价修改整个数组,使得数组中所有元素都能够与 t 匹配。 指定的 t 不同,所需付出的最小代价也可能不同。 请你合理选择正整数 t,目标是让所需付出的最小代价尽可能小。 输入格式 第一行包含整原创 2022-10-25 16:14:10 · 322 阅读 · 0 评论 -
画正方形(秋季每日一题 30)
现在,我们要在平面上画出 n 个边长为 1 的正方形。 注意,这 n 个正方形之间允许存在公共边。 每个正方形的所有端点坐标都必须为整数,且所有边都必须平行于坐标轴。 我们将逐边绘制整个图形。 当绘制某一条边时,如果该边的两端端点为 (x,y) 和 (x,y+1),而我们在之前已经绘制了一条端点为 (x′,y) 和 (x′,y+1) 的边,则该边可以利用之前绘制的边作为参考,迅速画出。 同样的,如果即将绘制的边的两端端点为 (x,y) 和 (x+1,y),而我们在之前已经绘制了一条端点为 (x,y′) 和原创 2022-10-24 16:34:11 · 148 阅读 · 0 评论 -
构造字符串(秋季每日一题 29)
给定两个整数 n 和 k,请你构造一个长度为 n 的字符串 s。 字符串 s 需满足: s 由前 k 个小写字母构成,且前 k 个小写字母均在 s 中出现至少一次。 前 k 个小写字母中,出现次数最少的字母的出现的次数尽可能多。 输出任意满足条件的字符串 s。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据占一行,包含两个整数 n 和 k。 输出格式 每组数据输出一个结果,表示满足条件的字符串 s。 如果答案不唯一,输出任意合理方案均可。 数据范围 1≤T≤100, 1≤n≤100, 1原创 2022-10-23 13:42:49 · 426 阅读 · 0 评论 -
最小化字符串(秋季每日一题 28)
给定一个包含 n 个小写字母的字符串 s。 现在,你可以将其中的最多一个字符移除(也可以不移除任何字符),你的目标是使这个字符串在字典序上尽可能小。 输出你可以得到的字典序上最小的字符串。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个小写字母构成的字符串 s。 输出格式 每组数据输出一行结果,表示可得到的字典序最小的字符串。 数据范围 1≤T≤10, 2≤n≤2×105, 同一测试点内,所有 n 的和不超过 2×105。 输入样例: 2 3 aa原创 2022-10-22 08:51:33 · 164 阅读 · 0 评论 -
消灭数组(秋季每日一题 27)
给定一个长度为 n 的数组,如果它不是非降序(非严格单调递增)的,那么就将它的前半部分或后半部分消灭。 不断重复这个消灭一半数组的过程,直至数组变为升序为止。 请问,得以幸存的数组的最大可能长度是多少? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an,表示给定数组。 输出格式 输出幸存数组的最大可能长度。 数据范围 1≤T≤10, 1≤n≤16,n 保证是 2 的整数次幂。 1≤ai≤100。 输入样例: 3 4 1 2原创 2022-10-21 08:12:52 · 122 阅读 · 0 评论 -
最佳连续子数组(秋季每日一题 26)
给定一个长度为 n 的数组 a1,a2,…,an。 请你找到其中的最佳连续子数组。 最佳连续子数组需满足: 子数组内各元素的算术平均数(即所有元素之和除以元素个数)尽可能大。 满足条件 1 的前提下,子数组的长度尽可能长。 输出最佳连续子数组的长度。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据,第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,表示最佳连续子数组的长度。 数据范围 1≤T≤20, 1≤n≤105, 0≤ai≤109,原创 2022-10-20 08:31:21 · 242 阅读 · 0 评论 -
奇数还是偶数(秋季每日一题 25)
给定一个整数 n,它可以被表示为一个 k 位的 b 进制数,如下所示: n=a1⋅bk−1+a2⋅bk−2+…+ak−1⋅b+ak 举例说明,如果 b=17,k=3,a=[11,15,7],那么 n=11⋅172+15⋅17+7=3179+255+7=3441。 请你判断 n 是奇数还是偶数。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含两个整数 b 和 k。 第二行包含 k 个整数 a1,a2,…,ak。 n 的 b 进制表示不含前导 0,也就是说只有 k=1 时,a1 才原创 2022-10-19 08:31:32 · 190 阅读 · 0 评论 -
送糖果(秋季每日一题 24)
Vladik 有 a 个糖果,Valera 有 b 个糖果。 两个人回合制的互送礼物给对方。 第一轮,Vladik 送给 Valera 1 个糖果。 第二轮,Valera 送给 Vladik 2 个糖果。 第三轮,Vladik 送给 Valera 3 个糖果。 以此类推,两人轮流给对方送糖果,且每轮送出的糖果数量都比上一轮多一个。 当某一轮,轮到某人送糖果时,如果糖果数量不够了,则停止互送礼物。 请问,是谁的糖果率先不够? 注意,每个人都只能送给对方自己事先准备的糖果。 自己收到的糖果不得再送还给对方。 输原创 2022-10-18 08:48:12 · 165 阅读 · 0 评论 -
幸运年份(秋季每日一题 23)
如果一个年份的各位数字中非零数字不超过 1 个,则称该年是一个幸运年。 比如,100,40000,5 都是幸运年,而 12,3001,12345 则不是幸运年。 现在,给定你一个年份,请你求出当前年份距离下一个幸运年多少年? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据包含一个整数 n,表示当前年份。 输出格式 每组数据输出一行,一个整数,表示距离下一个幸运年的年数。 数据范围 1≤T≤100, 1≤n≤109。 输入样例1: 3 4 201 4000 输出样例1: 1 99 1000原创 2022-10-17 08:28:03 · 430 阅读 · 0 评论 -
构造字符串(秋季每日一题 22)
给定一个整数 n,请你构造一个长度为 n 的字符串,要求: 字符串中不含 a,b,c 以外的字符。 字符串中不含长度为 3 的回文子串。 字符串中 c 的数量尽可能少(最好没有)。 输入格式 一个整数 n。 输出格式 一个满足条件的字符串。 如果答案不唯一,则输出任意合理方案均可。 数据范围 1≤n≤2×105。 输入样例1: 2 输出样例1: aa 输入样例2: 3 输出样例2: bba原创 2022-10-16 09:18:50 · 236 阅读 · 0 评论 -
最大分数(秋季每日一题 21)
给定 n 个整数 a1,a2,…,an。 请你从中选取最多不超过 m 个数(也可以什么都不选)。 选取正数将会扣除相应值的分数,选取负数将会得到相应值的绝对值的分数,选取 0 不得分也不扣分。 请计算可以获得的最大分数。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含两个整数 n,m。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,表示最大分数。 数据范围 1≤T≤20, 1≤m≤n≤100, −1000≤ai≤1000 输入样例: 5 5 3原创 2022-10-15 08:40:18 · 154 阅读 · 0 评论 -
质数问题(秋季每日一题 20)
给定两个整数 n 和 k,请你判断在 [2,n] 的范围内是否存在不少于 k 个质数,满足可以表示为两个相邻质数与 1 的和。 例如,19 满足条件,因为 19=7+11+1。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据占一行,包含两个整数 n 和 k。 输出格式 每组数据输出占一行,如果存在不少于 k 个质数满足条件则输出 YES,否则输出 NO。 数据范围 1≤T≤30, 2≤n≤1000, 0≤k≤1000 输入样例: 5 27 2 45 7 2 0 15 1 17 1 输出样原创 2022-10-13 09:25:33 · 177 阅读 · 0 评论 -
解码(秋季每日一题 19)
定义一个单词中位于最中间的字母为中心字母。 如果单词的长度为偶数,则中心字母定义为中间两个字母中靠左的那个。 如果单词的长度为 1,则中心字母是它本身。 一种单词加密方式为: 记录单词的中心字母,并将该字母在单词中删除。 不断重复上述操作,直至单词被完全删除。 将记录下的字母依次连接,得到加密后的单词。 例如,volga 经过加密可以得到 logva。 现在,给定一个加密后的单词,请你求出原单词。 输入格式 第一行包含整数 n,表示单词长度。 第二行包含一个长度为 n 的小写字母构成的字符串表示加密后的单词原创 2022-10-12 09:21:01 · 176 阅读 · 0 评论 -
录入单词(秋季每日一题 18)
小明在电脑上持续录入 n 个单词。 其中,第 i 个单词在第 ti 秒录入电脑。 一个单词录入完毕后,如果连续 c 秒都没有录入新的单词,则屏幕将会刷新,屏幕中所有单词都被清空。 具体来说,如果前一个单词在第 a 秒录入,后一个单词在第 b 秒录入,那么: 如果 b−a≤c,则将后一个单词附加到屏幕中其他单词的后面。 如果 b−a>c,则前面的所有单词都会消失,屏幕中只会保留最后一个单词。 请你计算,当所有单词录入完毕时,屏幕中共有多少个单词。 例如,当 n=6,c=5,每个单词的录入时间依次为 1,3,8原创 2022-10-09 09:28:08 · 175 阅读 · 0 评论 -
战舰(秋季每日一题 17)
给定一个 n×n 的字符矩阵,表示一片海域。 矩阵中 # 表示暗礁区域,. 表示安全区域。 现在要将一个 1×k 的战舰投放到海域中。 投放时,战舰不可接触到暗礁区域。 战舰可以横着投放,也可以竖着投放。 在投放完成后,每个安全区域要么包含战舰的一部分,要么不包含。 对于某个安全区域,如果所有可能的投放方式中,共有 m 种不同的投放方式,满足该区域包含战舰的一部分,那么就称该区域的投放指数为 m。 请确定投放指数最大的安全区域的位置坐标。 输入格式 第一行包含两个整数 n 和 k。 接下来 n 行,每行包含原创 2022-10-08 10:41:45 · 191 阅读 · 0 评论 -
交换相邻元素(秋季每日一题 16)
给定一个长度为 n 的数组 a1,a2,…,an。 该数组是一个 1∼n 的排列。 数组的前 n−1 个位置中,部分位置可以进行交换操作,将该位置的元素与后面相邻位置的元素进行互换。 交换操作的次序和次数均不限。 请你判断给定的数组能否通过交换操作变为一个升序数组。 输入格式 第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 第三行包含一个长度为 n−1 的 01 字符串,第 i 个字符为 1 表示第 i 个位置可以进行交换操作,第 i 个字符为 0 表示第 i 个位置无法进行交换操作。原创 2022-10-07 10:32:15 · 251 阅读 · 0 评论 -
第 k 个除数(秋季每日一题 15)
给定两个整数 n 和 k,请你找到并输出能够整除 n 的第 k 小的正整数。 输入格式 一行,两个整数 n 和 k。 输出格式 输出能够整除 n 的第 k 小的整数。 如果不存在,则输出 −1。 数据范围 1≤n≤1015, 1≤k≤109。 输入样例1: 4 2 输出样例1: 2 输入样例2: 5 3 输出样例2: -1原创 2022-10-06 09:36:42 · 162 阅读 · 0 评论 -
点(秋季每日一题 14)
给定一个平面上的 N 个点,请你计算所有点对之间距离的平方和。 输入格式 第一行包含整数 N,表示点的个数。 接下来 N 行,每行包含两个整数 X,Y,表示一个点的横纵坐标。 注意,不保证所有点的位置各不相同。 输出格式 输出所有点对之间距离的平方和。 数据范围 1≤N≤105, −10000≤X,Y≤10000。 输入样例: 4 1 1 -1 -1 1 -1 -1 1 输出样例: 32原创 2022-10-05 09:47:33 · 158 阅读 · 0 评论 -
乘车问题(秋季每日一题 13)
n 个班的小朋友乘大巴去郊游,第 i 个班有 ai 个人。 每隔一段时间就会来一辆空大巴车,每个大巴车可以容纳 m 个小朋友。 已知,在安排乘车时,必须按照 1 班,2 班,…,n 班的顺序,依次安排每个班的小朋友。 同一个班的小朋友必须被安排在同一辆车内。 也就是说,如果当前需要安排 i 班乘坐大巴,而此时大巴剩余的座位数量少于 ai,则让大巴先走,i 班以及后续班级共同等待下一辆大巴到来。 请问,将所有小朋友接走,共需多少辆大巴? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行原创 2022-10-04 09:35:20 · 213 阅读 · 0 评论 -
砖块(秋季每日一题 12)
n 个砖块排成一排,从左到右编号依次为 1∼n。 每个砖块要么是黑色的,要么是白色的。 现在你可以进行以下操作若干次(可以是 0 次): 选择两个相邻的砖块,反转它们的颜色。(黑变白,白变黑) 你的目标是通过不超过 3n 次操作,将所有砖块的颜色变得一致。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含一个整数 n。 第二行包含一个长度为 n 的字符串 s。其中的每个字符都是 W 或 B,如果第 i 个字符是 W,则表示第 i 号砖块是白色的,如果第 i 个字符是 B,则表示第原创 2022-10-03 09:07:23 · 258 阅读 · 0 评论 -
水果拼盘(秋季每日一题 11)
某水果店以出售水果拼盘盈利。 该店铺共提供两种拼盘: 拼盘 1:包含 1 个苹果,1 个香蕉。 拼盘 2:包含 1 个梨,1 个橙子,1 个香蕉。 已知该店铺共有 a 个苹果,b 个梨,c 个橙子,d 个香蕉。 拼盘 1 的利润为 e 元,拼盘 2 的利润为 f 元。 水果店的生意很好,所有拼好的拼盘都会销售一空。 请问,利用现有水果拼装水果拼盘,能够获得的最大利润是多少? 注意,也许会有一些水果用不完,但这并不重要。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据占一行,包含 6 个整原创 2022-10-02 10:53:55 · 486 阅读 · 0 评论 -
数组补全(秋季每日一题 10)
给定一个 1∼n 的排列 f1,f2,…,fn。 已知,对于 1≤i≤n,fi≠i 始终成立。 现在,因为一些原因,数组中的部分元素丢失了。 请你将数组丢失的部分补全,要求数组在补全后仍然是一个 1∼n 的排列,并且对于 1≤i≤n, fi≠i 均成立。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含一个整数 n。 第二行包含 n 个整数 f1,f2,…,fn。如果 fi=0,则表示 fi 已经丢失,需要补全。 输出格式 每组数据一行,输出补全后的 f 数组,整数之间空格隔开。原创 2022-10-01 20:18:01 · 476 阅读 · 0 评论 -
亮灯时长(秋季每日一题 9)
自习室内有一个智能灯。 在 0 时刻,管理员会将打开电闸,并将灯点亮。 在 M 时刻,管理员会直接拉下电闸,此时,如果灯处于点亮状态,则会因为断电而熄灭。 在 0∼M 之间有 n 个不同时刻,不妨用 a1,a2,…,an 表示,其中 0原创 2022-09-30 11:56:41 · 128 阅读 · 0 评论 -
兔子跳(秋季每日一题 8)
一只兔子位于二维平面的原点 (0,0) 处,它想通过一系列的跳跃,跳到点 (x,0) 处。 给定一个长度为 n 的数组 a1,a2,…,an。 兔子能从一个点跳到另一个点,当且仅当两点之间的距离等于上述数组中的某个元素的值。 请问,兔子从 (0,0) 到 (x,0) 最少需要跳几次? 注意,兔子可以跳到非整数坐标的点上。 例如,当 x=4,a={1,3} 时,(0,0)→(1,0)→(4,0) 和 (0,0)→(2,5‾√)→(4,0) 均为合理最佳方案之一。 输入格式 第一行包含整数 T,表示共有 T 组原创 2022-09-24 09:02:12 · 294 阅读 · 0 评论 -
移动石子(秋季每日一题 7)
一共有 n 个箱子排成一排,从左到右依次编号为 1∼n。 其中,第 i 号箱子中放有 ai 个石子。 现在,你可以进行最多 d 次操作。 每次操作可以将一个石子从一个箱子移动至另一个与其相邻的箱子里。 我们希望通过合理操作使得 1 号箱子内的石子数量尽可能大。 请问,这个最大可能值是多少? 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含两个整数 n 和 d。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,表示答案。 数据范围 1≤T≤100,原创 2022-09-23 09:22:37 · 106 阅读 · 0 评论 -
字符串删减(秋季每日一题 6)
给定一个由 n 个小写字母构成的字符串。 现在,需要删掉其中的一些字母,使得字符串中不存在连续三个或三个以上的 x。 请问,最少需要删掉多少个字母? 如果字符串本来就不存在连续的三个或三个以上 x,则无需删掉任何字母。 输入格式 第一行包含整数 n。 第二行包含一个长度为 n 的由小写字母构成的字符串。 输出格式 输出最少需要删掉的字母个数。 数据范围 3≤n≤100 输入样例1: 6 xxxiii 输出样例1: 1 输入样例2: 5 xxoxx 输出样例2: 0 输入样例3: 10 xxxxxxxxxx原创 2022-09-22 18:31:46 · 453 阅读 · 0 评论 -
最小的值(秋季每日一题 5)
给定两个长度为 n 的 01 数组 a1,a2,…,an 和 b1,b2,…,bn。 请你构造一个长度为 n 的正整数数组 p1,p2,…,pn。 要求 ∑i=1nai×pi>∑i=1nbi×pi 成立。 此外,maxi=1npi 需要尽可能小。 输出最小可能值。 输入格式 第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 第三行包含 n 个整数 b1,b2,…,bn。 输出格式 输出 maxi=1npi 的最小可能值。 如果不存在满足条件的数组 p,则输出 −1。 数据范围 1≤n≤1原创 2022-09-18 09:04:54 · 157 阅读 · 0 评论 -
三元数异或(秋季每日一题 4)
如果一个整数,其各个数位不包含 0,1,2 以外的数字,则称这个数为三元数。 例如,1022,11,21,2002 都是三元数。 给定一个可能很长的三元数 x,其首位数字(最左边那位)保证为 2,其他位数字为 0 或 1 或 2。 我们规定,两个长度为 n 的三元数 a 和 b 可以通过三元异或运算 ⊙ 得到另一个长度为 n 的三元数 c。 设 ai,bi,ci 分别表示 a,b,c 的第 i 位的数字,则 ci=(ai+bi)mod3。 例如,10222 ⊙ 11021=21210。 你的任务是对于每个给原创 2022-09-17 12:53:04 · 296 阅读 · 0 评论 -
数字矩阵(秋季每日一题 3)
给定一个 n×m 的整数矩阵,其中第 i 行第 j 列的元素为 aij。 你可以进行任意多次如下操作: 选择矩阵中的两个相邻元素,将它们均乘以 −1。 同一个元素可以被选中多次。 你需要通过上述操作,使得矩阵中所有元素的和尽可能大。 计算并输出这个和的最大可能值。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含两个整数 n,m。 接下来 n 行,每行包含 m 个整数,表示整个矩阵,其中第 i 行第 j 列的数为 aij。 输出格式 每组数据输出一行结果,表示矩阵的所有元素的最大原创 2022-09-16 10:17:29 · 267 阅读 · 0 评论 -
二进制矩阵(秋季每日一题 2)
给定一个 n×m 大小的二进制矩阵,矩阵中只包含 0 和 1。 现在,你可以进行如下操作:选中一个 2×2 的子矩阵,改变其中 3 个元素的值(0 变为 1,1 变为 0)。 你的任务是通过上述操作,将矩阵中的全部元素都变为 0。 你的总操作次数不得超过 3nm 次。 可以证明,答案一定存在。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n,m。 接下来 n 行,每行包含一个长度为 m 的 01 字符串,表示给定的二进制矩阵。 输出格式 每组数据第一行输出整数 k,表示原创 2022-09-15 08:48:16 · 221 阅读 · 0 评论 -
唯一最小数(秋季每日一题 1)
给定一个长度为 n 的整数数组 a1,a2,…,an。 请你找到数组中只出现过一次的数当中最小的那个数。 输出找到的数的索引编号。 a1 的索引编号为 1,a2 的索引编号为 2,…,an 的索引编号为 n。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,即满足条件的数的索引编号,如果不存在满足条件的数,则输出 −1。 数据范围 1≤T≤2×104, 1≤n≤2×105, 1≤ai≤n,原创 2022-09-14 08:17:53 · 104 阅读 · 0 评论