![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing
Richard-roop
不会算法的程序员
展开
-
(AcWing)3774. 亮灯时长
3774. 亮灯时长自习室内有一个智能灯。在 0 时刻,管理员会将打开电闸,并将灯点亮。在 M 时刻,管理员会直接拉下电闸,此时,如果灯处于点亮状态,则会因为断电而熄灭。在 0∼M 之间有 n 个不同时刻,不妨用 a1,a2,…,an 表示,其中 0<a1<a2<…<an<M。在这 n 个时刻中的每个时刻,管理员都会拨动一次智能灯的开关,使灯的状态切换(亮变灭、灭变亮)。现在,你可以最多额外指定一个时刻(也可以不指定),让管理员在此时刻也拨动开关一次。注意选定的时刻原创 2021-08-02 12:43:42 · 205 阅读 · 0 评论 -
(AcWing)3769. 移动石子
3769. 移动石子一共有 n 个箱子排成一排,从左到右依次编号为 1∼n。其中,第 i 号箱子中放有 ai 个石子。现在,你可以进行最多 d 次操作。每次操作可以将一个石子从一个箱子移动至另一个与其相邻的箱子里。我们希望通过合理操作使得 1 号箱子内的石子数量尽可能大。请问,这个最大可能值是多少?输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含两个整数 n 和 d。第二行包含 n 个整数 a1,a2,…,an。输出格式每组数据输出一行结果,表示答案。数据范原创 2021-07-31 15:43:10 · 231 阅读 · 0 评论 -
(AcWing)3768. 字符串删减
3768. 字符串删减给定一个由 n 个小写字母构成的字符串。现在,需要删掉其中的一些字母,使得字符串中不存在连续三个或三个以上的 x。请问,最少需要删掉多少个字母?如果字符串本来就不存在连续的三个或三个以上 x,则无需删掉任何字母。输入格式第一行包含整数 n。第二行包含一个长度为 n 的由小写字母构成的字符串。输出格式输出最少需要删掉的字母个数。数据范围3≤n≤100输入样例1:6xxxiii输出样例1:1输入样例2:5xxoxx输出样例2:0输入样例3:10原创 2021-07-30 19:43:53 · 249 阅读 · 0 评论 -
(AcWing)3767. 最小的值
3767. 最小的值给定两个长度为 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,则输出原创 2021-07-29 18:24:01 · 68 阅读 · 0 评论 -
(AcWing)3764. 三元数异或
3764. 三元数异或如果一个整数,其各个数位不包含 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原创 2021-07-28 12:53:18 · 240 阅读 · 0 评论 -
(AcWing)3763. 数字矩阵
3763. 数字矩阵给定一个 n×m 的整数矩阵,其中第 i 行第 j 列的元素为 aij。你可以进行任意多次如下操作:选择矩阵中的两个相邻元素,将它们均乘以 −1。同一个元素可以被选中多次。你需要通过上述操作,使得矩阵中所有元素的和尽可能大。计算并输出这个和的最大可能值。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含两个整数 n,m。接下来 n 行,每行包含 m 个整数,表示整个矩阵,其中第 i 行第 j 列的数为 aij。输出格式每组数据输出一行结果,表原创 2021-07-27 12:44:00 · 127 阅读 · 0 评论 -
(AcWing)3762. 二进制矩阵
3762. 二进制矩阵给定一个 n×m 大小的二进制矩阵,矩阵中只包含 0 和 1。现在,你可以进行如下操作:选中一个 2×2 的子矩阵,改变其中 3 个元素的值(0 变为 1,1 变为 0)。你的任务是通过上述操作,将矩阵中的全部元素都变为 0。你的总操作次数不得超过 3nm 次。可以证明,答案一定存在。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含整数 n,m。接下来 n 行,每行包含一个长度为 m 的 01 字符串,表示给定的二进制矩阵。输出格式每组数据翻译 2021-07-26 17:39:06 · 297 阅读 · 0 评论 -
(AcWing)3761. 唯一最小数
3761. 唯一最小数给定一个长度为 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×原创 2021-07-25 14:22:56 · 152 阅读 · 0 评论 -
(AcWing)3672. 数组重排
给定一个数组 a1,a2,…,an。如果数组 a 满足对于任意 1≤i<j≤n,j−aj≠i−ai 均成立,则称数组 a 是一个好数组。现在,请你通过将数组 a 中的元素任意重新排序来使其变为一个好数组(当然,你也可以选择保留初始顺序)。可以通过数组重排得到的好数组可能不止一个,你只需输出任意一个满足条件的即可。例如,对于数组 [1,1,3,5],重排后的好数组有 [1,3,5,1],[3,5,1,1],[5,3,1,1] 等等,而不好的数组有 [3,1,5,1],[1,1,3,5],[1,1原创 2021-06-16 21:50:04 · 185 阅读 · 0 评论 -
(AcWing)3686. 移动序列
给定一个长度为 n 的 01 整数序列 a1,a2,…,an,保证序列中至少存在一个 1。我们希望通过一系列的移动操作,将所有的 1 聚在一起,也就是使任意两个 1 之间不存在任何 0。每次移动时,选取一个连续的由 1 构成的区间 [l,r](即对于所有 l≤i≤r,ai=1 均成立),进行下列两种操作之一:将位于位置 l 的 1 移动至位置 r+1,即令 al=0,ar+1=1(注意其他元素并无变化),可以进行该操作的前提是 r+1≤n 并且 ar+1=0。将位于位置 r 的 1 移动至位置 l−原创 2021-06-16 21:49:19 · 178 阅读 · 0 评论 -
(AcWing每日一题·夏季 )3679. 素数矩阵
给定一个整数 n,请你构造一个满足下列条件的 n×n 矩阵:矩阵中的所有数字都是不超过 105 的非负整数。矩阵中的所有数字都不是素数。每行的数字之和都是素数。每列的数字之和都是素数。如果答案不唯一,则输出任意合理结果均可。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含一个整数 n。输出格式每组数据输出占 n 行,每行包含 n 个空格隔开的整数,表示你构造的满足条件的矩阵。数据范围1≤T≤10,2≤n≤100输入样例:242输出样例:4 6原创 2021-06-16 21:47:40 · 99 阅读 · 0 评论