2021夏期
文章平均质量分 51
。。。
Froshine
加油!
展开
-
AcWing 每日一题 3732. 矩阵复原(CF1435B)
原题链接数据范围1≤T≤105,1≤n,m≤500,一个测试点的所有测试数据的 n×m 之和不超过 250000。矩阵中包含 1∼n×m 中的每个数恰好一次。矩阵的每一行和每一列的信息都保证恰好给出一次。输入样例:22 36 5 41 2 31 62 53 43 12313 1 2输出样例:1 2 36 5 4312虽然行和列的顺序乱了,但是在输入每行的信息时,是从左往右的,列的顺序没乱,输入列时同理所以每次输入行时,我们记录列输入列时记录行就原创 2021-07-23 20:23:23 · 104 阅读 · 0 评论 -
AcWing 每日一题 3730. 寻找序列(CF1435A)
原题链接数据范围1≤T≤1000,2≤n≤100,|ai|≤100,ai≠0,|bi|≤100,bi≠0输入样例:221 10041 2 3 6输出样例:加粗样式-100 11 1 1 -1由于n是偶数,将数组倒序,一半正,一半负即可原创 2021-07-23 20:07:34 · 84 阅读 · 0 评论 -
AcWing 每日一题 3730. 寻找序列(CF1408A)
原题链接数据范围1≤T≤100,3≤n≤100,1≤ai,bi,ci≤100,保证对于任意 i,满足 ai≠bi,ai≠ci,bi≠ci。输入样例:531 1 12 2 23 3 341 2 1 22 1 2 13 4 3 471 3 3 1 1 1 12 4 4 3 2 2 44 2 2 2 4 4 231 2 12 3 33 1 2101 1 1 2 2 2 3 3 3 12 2 2 3 3 3 1 1 1 23 3 3 1 1 1 2 2 2 3原创 2021-07-23 19:50:43 · 86 阅读 · 0 评论 -
AcWing 每日一题 3729. 改变数组元素(CF1501B)
原题链接别装了,我知道你是蛋糕,哈哈哈这题题解之前已经写过了,题面改了,但是题意并没有改这里看Codeforces Round #707 (Div. 2) B. Napoleon Cake原创 2021-07-23 10:31:17 · 252 阅读 · 0 评论 -
AcWing 每日一题 3725. 卖罐头(CF1437A)
原题链接数据范围1≤T≤1000,1≤l≤r≤109输入样例:33 41 2120 150输出样例:YESNOYES为使[l,r]内所有元素模a都大于等于a/2那么 [l,r]区间长度小于a/2即r−l<a/2r-l<a/2r−l<a/2进行放缩,因为l一定大于等于k*a+a/2所以r−l<a/2<k∗a+a/2<lr-l<a/2<k*a+a/2<lr−l<a/2<k∗a+a/2<l所以r<原创 2021-07-23 10:24:32 · 78 阅读 · 0 评论 -
AcWing 每日一题 3720. 数组重排(CF1445A)
原题链接数据范围1≤T≤100,1≤n≤50,1≤x≤1000,1≤a1≤a2≤…≤an≤x,1≤b1≤b2≤…≤bn≤x输入样例:43 41 2 31 1 22 61 42 54 41 2 3 41 2 3 41 555输出样例:YesYesNoNo感觉难度应该标错了,要使ai+bi<=xa_i+b_i<=xai+bi<=x两个数组中的数最优组合(使和最小)就是一个从小到大,一个从大到小,题目中都声明了a和b数组非降序。只原创 2021-07-23 10:07:04 · 88 阅读 · 0 评论 -
AcWing 每日一题 3711. 方格涂色(CF1494B)
原题链接输出格式每组数据输出一行结果,如果存在合理方案,则输出 YES,否则输出 NO。数据范围1≤t≤1000,2≤n≤100,0≤U,R,D,L≤n输入样例:45 2 5 3 13 0 0 0 04 4 1 4 02 1 1 1 1输出样例:YESYESNOYES样例解释下面是样例 1,2,4 的可行方案:对于每个方向的涂色的数量可以分成两部分,一个是可以影响其他方向的角,还有不会影响其他方向的边。只有角是会影响到其他方向的,最难处理的也是角所以我们可以原创 2021-07-23 09:48:46 · 145 阅读 · 0 评论 -
AcWing 每日一题 3705. 子集mex值
原题链接数据范围1≤T≤100,1≤n≤100,0≤ai≤100输入样例:460 2 1 5 0 130 1 240 2 0 161 2 3 4 5 6输出样例:5340样例解释在第一个测试用例中,A={0,1,2},B={0,1,5} 是一个可能的选择。在第二个测试用例中,A={0,1,2},B=∅ 是一个可能的选择。在第三个测试用例中,A={0,1,2},B={0} 是一个可能的选择。在第四个测试用例中,A={1,3,5},B={2,4,6} 是一个可能原创 2021-07-22 12:04:36 · 203 阅读 · 0 评论 -
AcWing 每日一题 3697. 回文子序列
原题链接数据范围1≤T≤100,3≤n≤5000,1≤ai≤n,一个测试点内所有 n 的和不超过 5000。输入样例:531 2 151 2 2 3 231 1 241 2 2 1101 1 2 2 3 3 4 4 5 5输出样例:YESYESNOYESNO注意,这里是回文子序列,只需要有两个相等的数不相邻即可,然后中间随便选一个数,就能构成回文子序列AC代码:#include<bits/stdc++.h>#define ll long原创 2021-07-22 11:43:02 · 86 阅读 · 0 评论 -
AcWing 每日一题 3686. 移动序列
原题链接数据范围1≤T≤200,1≤n≤50,0≤ai≤1,给定序列中至少存在一个 1。输入样例:570 0 1 0 1 0 131 0 051 1 0 0 161 0 0 0 0 151 1 0 1 1输出样例:20241对于每次操作,相当于将一个全是1的区间整体向左或者向右移动一格,所以我们只需要算出每两个相邻的全是1的区间需要多少部操作可以合并即可AC代码:#include<bits/stdc++.h>#define ll long原创 2021-07-22 11:07:15 · 71 阅读 · 0 评论 -
AcWing 每日一题 3679. 素数矩阵
原题链接数据范围1≤T≤10,2≤n≤100输入样例:242输出样例:4 6 8 14 9 9 94 10 10 651 4 4 41 11 1要求每行每列和都是素数,每个数都是合数,让我们构造一个矩阵,往简单方面想,我们尽量让每行每列都只有2个合数相加,其余都是0那么只要这两个合数相加等于质数就行,至于矩阵大概是什么样的就得自己想了下面给出一种可行方案4 1 0 0 0 0 0 0 0 00 4 1 0 0 0 0 0 0 00 0 4 1 0 0 0 0 0原创 2021-07-22 10:36:02 · 168 阅读 · 0 评论 -
AcWing 每日一题 3672. 数组重排
原题链接数据范围1≤T≤100,1≤n≤100,1≤ai≤100,保证数据一定有解。输入样例:31741 1 3 563 2 1 5 6 4输出样例:71 5 1 32 4 6 1 3 5i<ji<ji<j需要满足的是j−a[j]!=i−a[i]j-a[j]!=i-a[i]j−a[j]!=i−a[i]我们移下项j−i!=a[j]−a[i]j-i!=a[j]-a[i]j−i!=a[j]−a[i]因为i是小于j的所以左边一定是个正值,原创 2021-07-21 18:19:13 · 71 阅读 · 0 评论 -
AcWing 每日一题 3664. 数组补全(思维)
原题链接数据范围1≤n≤999,n 是奇数。0≤k<n,1≤p≤1000,n≤x≤np,1≤y≤p输入样例1:5 3 5 18 43 5 4输出样例1:4 1输入样例2:5 3 5 16 45 5 5输出样例2:-1在一个数组中,大于等与中位数的数的个数一定大于等于这个数组大小的一半我们在输入是计算一下有多少个数大于等于y(即为cnt)对于不够一半的,我们用y来补够了之后只要在前面补上若干个1就行AC代码:#include<bits/stdc++.原创 2021-07-21 16:52:04 · 75 阅读 · 0 评论 -
AcWing 每日一题 3663. 打印数字菱形
原题链接数据范围2≤n≤9输入样例1:2输出样例1:00 1 00 1 2 1 00 1 00输入样例2:3输出样例2:00 1 00 1 2 1 00 1 2 3 2 1 00 1 2 1 00 1 00模拟,水题,被迫水博客可还行QWQAC代码:#include<bits/stdc++.h>using namespace std;int n;int main(){ cin>>n; for(int i=0;i原创 2021-07-21 11:42:20 · 68 阅读 · 0 评论 -
AcWing 每日一题 3655. 楼层
原题链接数据范围1≤t≤1000,1≤n,x≤1000输入样例:47 31 522 5987 13输出样例:31577直接模拟就好,水题AC代码:#include<bits/stdc++.h>#define ll long long using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ int n,x; scanf("%d %d",&n,&am原创 2021-07-21 11:33:47 · 92 阅读 · 0 评论 -
AcWing 每日一题 3646. 分水果
原题链接数据范围1≤t≤500,0≤a,b,c≤10输入样例:71 2 10 0 09 1 72 2 32 3 23 2 24 4 4输出样例:3045557注意:每种水果最多一个!不要想复杂了QWQ(不要像我一样,早点看样例不好吗 )这样最多只能有7种情况,也就是最多只能有7个小朋友分到水果(水果管够的情况下)1 0 00 1 00 0 11 1 01 0 10 1 11 1 1都判断一下就好了AC代码:#include<bits/原创 2021-07-21 11:23:40 · 106 阅读 · 0 评论 -
AcWing每日一题 3636. 数组延伸
原题链接给定一个初始长度为 n 的数组 a 以及一个整数 x。我们现在要对数组 a 进行延伸,具体方法如下:我们从数组中的第一个元素开始,逐个遍历数组中的每个元素。当遍历到数组中的元素 q 时,如果 q 能够被 x 整除,则在数组的末尾添加 x 个整数 qx,并开始遍历下一个元素。否则,停止遍历,数组延伸结束。注意,后面新增的元素也要被考虑在内,加以处理和判断。请计算,在数组延伸结束后,数组中所有元素的和。数据范围 1≤T≤100, 1≤n≤105, 2≤x≤109, 1≤ai≤109原创 2021-07-03 09:50:03 · 99 阅读 · 0 评论 -
AcWing每日一题 3629. 同心圆涂色
原题链接在一个平面上给定 n 个同心圆。如下图所示:这些同心圆构成的图形是蓝黄相间的,其中最外面的圆是蓝色。请问,这 n 个同心圆构成的图形中,蓝色部分的总面积是多少?输入格式第一行包含整数 n。第二行包含 n 个整数,r1,r2,…,rn,表示各个圆的半径。输出格式输出蓝色部分的总面积。结果保留六位小数。数据范围1≤n≤100,1≤ri≤1000,所有圆的半径两两不同。输入样例1:11输出样例1:3.141593输入样例2:31 4 2输出样例2:40.8原创 2021-07-01 16:52:24 · 118 阅读 · 0 评论 -
AcWing每日一题 3624. 三值字符串(双指针)
原题链接给定一个字符串 s,其中的每个字符都是 1,2 或 3。请你求出同时包含字符 1,2,3 的 s 的最短子串的长度。注意,子串必须是连续的。数据范围 1≤T≤20000, 1≤|s|≤2×105, 所有 T 个输入字符串的长度之和保证不超过 2×105。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含一个字符串 s,保证 s 中可能包含字符 1,2 或 3。输出格式每组数据输出一行,一个整数,表示符合条件的最短子串的长度。如果不存在符合条件的子串,则原创 2021-07-01 16:29:29 · 141 阅读 · 0 评论 -
AcWing每日一题 3617. 子矩形计数(后缀和)
原题链接给定一个长度为 n 的数组 a 和一个长度为 m 的数组 b。两个数组均只包含 0 和 1。利用两个给定数组生成一个 n×m 的矩阵 c,其中 cij=ai×bj。显然,矩阵 c 中也只包含 0 和 1。请问,矩阵 c 中有多少个大小(面积)恰好为 k 且只包含 1 的子矩形?子矩形是指矩阵中连续若干行和连续若干列的交集。例如,考虑四个整数 x1,x2,y1,y2(1≤x1≤x2≤n,1≤y1≤y2≤m),子矩形 c[x1…x2][y1…y2] 即为行x1,x1+1,…,x2 和列原创 2021-07-01 15:43:56 · 255 阅读 · 0 评论 -
AcWing每日一题 3583. 整数分组
原题链接给定 n 个整数 a1,a2,…,an。现在,请你从中挑选一些数,并将选出的数进行分组。要求:选出的数最多划分为 k 组(至少 1 组)。 同一组内,任意两数之差的绝对值不超过 5。 所选出的数尽可能多。请问,最多可以选出多少个数进行分组?数据范围 1≤k≤n≤5000, 1≤ai≤109输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数 a1,a2,…,an。输出格式输出一个整数,表示可以选出的最大整数数量。输入样例1:5 21 2 15 15 15输原创 2021-07-01 11:27:28 · 173 阅读 · 0 评论 -
AcWing每日一题 3580.整数配对
原题链接给定 n 个整数 a1,a2,…,an,n 为偶数。现在要将它们两两配对,组成 n2 个数对。ai 和 aj 能够配对,当且仅当 ai=aj。每次增加操作可以使其中的任意一个数 ai 加一。请问,要使得 n 个整数能够成功组成 n2 个数对,至少要进行多少次增加操作。数据范围1≤n≤105,1≤ai≤104输入格式第一行包含整数 n。第二行包含 n 个整数 a1,a2,…,an。输出格式一个整数,表示所需最少操作次数。输入样例1:65 10 2 3 14 5输出原创 2021-07-01 09:43:05 · 320 阅读 · 0 评论 -
AcWing每日一题 3574.乘积数量(递推,前缀和组合数学)
乘积数量题目链接给定一个长度为 n 且不包含 0 的整数序列 a1,a2,…,an。请你计算以下两值:使得 al×al+1×…×ar 为负的索引对 (l,r)(l≤r) 的数量。 使得 al×al+1×…×ar 为正的索引对(l,r)(l≤r) 的数量。数据范围 1≤n≤2×105, −109≤ai≤109,ai≠0。输入格式第一行一个整数 n。第二行包含 n 个整数 a1,…,an。输出格式共一行,输出单个空格隔开的两个整数,分别表示负的索引对数和正的索引对数。输入样例1:5原创 2021-05-27 18:47:50 · 225 阅读 · 0 评论 -
AcWing每日一题 3565.完美矩阵(绝对值不等式)
完美矩阵原题链接CSDN居然把标题字数限制改到了30.。。。完全不够呀。。可恶QWQ如果一个矩阵能够满足所有的行和列都是回文序列,则称这个矩阵为一个完美矩阵。 一个整数序列 a1,a2,…,ak,如果满足对于任何整数i(1≤i≤k),等式 ai=ak−i+1 均成立,则这个序列是一个回文序列。 给定一个 n×m 的矩阵a,每次操作可以将矩阵中的某个元素加一或减一,请问最少经过多少次操作后,可以将矩阵 a 变为一个完美矩阵? 数据范围 1≤T≤10,1≤n,m≤100, 0≤aij≤109原创 2021-05-25 21:26:37 · 484 阅读 · 0 评论 -
AcWing每日一题 3554.二进制(水题)
二进制原题链接给定一个长度为 32 位的二进制数 n,请你计算并输出 n+1 和 n+3 的二进制表示结果。注意,结果不能忽略前导 0(不够 32 位的用前导 0 补足 32 位,超过 32 位的不用补前导 0)。数据范围 1≤T≤100输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含一个长度为 32 的 01 字符串。输出格式每组数据输出两行,第一行为 n+1 的二进制表示结果,第二行为 n+3 的二进制表示结果。输入样例:20000000000000原创 2021-05-24 19:53:40 · 206 阅读 · 1 评论 -
AcWing每日一题 3333.K-优字符串(水题)
K-优字符串原题链接Charles 将一个字符串的优良分数定义为,在 1≤i≤N/2 的范围内,满足 Si≠SN−i+1 的 i 的数量(索引从 1 开始)。例如,字符串 CABABC 的优良分数为 2,因为 S2≠S5 并且 S3≠S4。Charles 给了 Ada 一个长度为 N 的由大写字母构成的字符串 S,并让她将其转换为一个优良分数为 K 的字符串。每次操作,Ada 都可以将字符串中的任意一个字符转换为任意一个大写字母。请你帮助 Ada 确定,将给定字符串 S 转换为优良分数为 K原创 2021-05-23 10:01:21 · 240 阅读 · 2 评论 -
AcWing每日一题 3483.2的幂次方(递归)
2的幂次方原题链接每个正数都可以用指数形式表示。例如,137=27+23+20。让我们用 a(b) 来表示 ab。那么 137 可以表示为 2(7)+2(3)+2(0)。因为 7=22+2+20,3=2+20,所以 137 最终可以表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)。给定一个正数 n,请你将 n 表示为只包含 0 和 2 的指数形式。数据范围1≤n≤20000,每个输入最多包含 100 组数据。输入格式输入包含多组数据。每组数据占一行,一个正数原创 2021-05-19 20:25:58 · 193 阅读 · 1 评论 -
AcWing每日一题 3404.谁是你的潜在朋友(水题)
谁是你的潜在朋友原题链接题目大意:每个人喜欢看一本书,输出和自己喜欢看的书相同的人数,没有则输出“BeiJu” 数据范围:2≤N,M≤200 ,1≤P≤M输入样例:4 52321输出样例:1BeiJu1BeiJu题目很水,没什么讲的#include<bits/stdc++.h>using namespace std;int a[201],b[201],n,m;int main(){ scanf("%d %d",&n,&m); for(i原创 2021-05-19 20:16:17 · 114 阅读 · 0 评论 -
AcWing每日一题 3516.最大面积(单调栈,递推)
最大面积原题链接给定一个 N×M 的 01 矩阵,矩阵下标从 0 开始。有 Q 个询问,第 i 个询问为:将矩阵中 (xi,yi) 的元素改成 0 之后,只包含 1 的子矩阵的最大面积是多少。注意:每次询问均是独立的。 询问方格内元素可能本来就是 0。 子矩阵的面积是指矩阵的大小。数据范围1≤N,M≤2000,1≤Q≤105, 0≤xi<n,0≤yi<m输入格式第一行包含两个整数 N,M。接下来 N 行,每行包含 M 个 01 字符。再一行包含整数 Q。接下来 Q 行原创 2021-05-19 11:58:11 · 642 阅读 · 4 评论 -
AcWing每日一题 3481.阶乘的和(二进制枚举,01背包)
阶乘的和原题链接给定一个非负整数 n,请你判断是否存在一些整数 xi,能够使得 n=∑1≤i≤txi!,其中 t≥1,xi≥0,xi=xj 当且仅当 i=j。数据范围0≤n≤106,每组输入最多包含 100 组数据。输入样例:904-1输出样例:YESNOYES这道题主要有两种做法。第一种,二进制枚举。用二进制数表示是否选某个数的阶乘加到一起即 1表示1!11表示1!+2!=3然后只要枚举1e6以内可能出现的二进制数组合即可,10位10!=3628800&原创 2021-05-17 20:40:17 · 169 阅读 · 2 评论 -
AcWing每日一题 3489.星期几(简单模拟)
星期几题目链接已知 1 年 1 月 1 日是星期一。现在给定一个日期,请你判断是星期几。注意闰年的 2 月有 29 天。满足下面条件之一的是闰年:年份是 4 的整数倍,而且不是 100 的整数倍; 年份是 400 的整数倍。 数据范围 1000≤y≤3000, 给定日期保证合法。每个输入最多包含 100 组数据。输入格式输入包含多组测试数据。每组数据占一行,包含一个整数 d 表示日,一个字符串 m 表示月,一个整数 y 表示年。月份 1∼12,依次如下所示:January, F原创 2021-05-16 11:03:46 · 136 阅读 · 0 评论 -
AcWing每日一题 3510.最长公共子序列(DP,二分,nlogn,最长上升子序列)
最长公共子序列添加链接描述给出两个长度为 n 的整数序列,求它们的最长公共子序列(LCS)的长度,保证第一个序列中所有元素都不重复。注意:第一个序列中的所有元素均不重复。 第二个序列中可能有重复元素。 一个序列中的某些元素可能不在另一个序列中出现。数据范围 1≤n≤106, 序列内元素取值范围 [1,106]。输入格式第一行包含一个整数 n。接下来两行,每行包含 n 个整数,表示一个整数序列。输出格式输出一个整数,表示最长公共子序列的长度。输入样例1:51 2 3 4 51原创 2021-05-16 09:48:25 · 325 阅读 · 0 评论 -
AcWing每日一题 3502.不同路径数(搜索)
不同路径数原题链接给定一个 n×m 的二维矩阵,其中的每个元素都是一个 [1,9] 之间的正整数。从矩阵中的任意位置出发,每次可以沿上下左右四个方向前进一步,走过的位置可以重复走。走了 k 次后,经过的元素会构成一个 (k+1) 位数。请求出一共可以走出多少个不同的 (k+1) 位数。数据范围对于 30% 的数据, 1≤n,m≤2,0≤k≤2对于 100% 的数据,1≤n,m≤5,0≤k≤5,m×n>1输入格式第一行包含三个整数 n,m,k。接下来 n 行,每行包含 m 个空原创 2021-05-16 08:20:41 · 174 阅读 · 2 评论 -
AcWing每日一题 3499.序列最大收益(DP)
序列最大收益原题链接给定一个长度为 m 的整数序列 a1,a2,…,am。序列中每个元素的值 ai 均满足 1≤ai≤n。当一个值为 i 的元素和一个值为 j 的元素相邻时,可以产生的收益为 wi,j。现在,我们可以从序列中删除最多 k 个元素,删除一些元素后,原本不相邻的元素可能会变得相邻。序列的收益和为所有相邻元素对产生的收益之和,例如一个长度为 3 的整数序列 1,3,2 的收益和为 w1,3+w3,2。请问,通过利用删除操作,能够得到的序列的最大收益和是多少?数据范围对于 30%原创 2021-05-13 17:42:09 · 215 阅读 · 1 评论 -
AcWing每日一题 3493.最大的和(前缀和)
最大的和原题链接给定一个长度为 n 的正整数数列 a1,a2,…,an。初始时,数列中的每个元素要么处于可选状态,要么处于不可选状态。你可以选择一个长度恰好为 k 的区间 [i,i+k−1],使得 ai∼ai+k−1 这 k 个元素的状态全部变为可选。请问,在经过此操作后,所有处于可选状态的元素之和最大是多少。数据范围对于 30% 的数据,1≤k≤n≤1000对于 100% 的数据,1≤k≤n≤105,1≤ai≤105输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数原创 2021-05-12 22:30:08 · 448 阅读 · 0 评论 -
AcWing每日一题 3485.最大异或和(trie树加贪心)
最大异或和原题链接给定一个非负整数数列 a,初始长度为 N。请在所有长度不超过 M 的连续子数组中,找出子数组异或和的最大值。子数组的异或和即为子数组中所有元素按位异或得到的结果。注意:子数组可以为空。输入格式第一行包含两个整数 N,M。第二行包含 N 个整数,其中第 i 个为 ai。输出格式输出可以得到的子数组异或和的最大值。数据范围对于 20% 的数据,1≤M≤N≤100对于 50% 的数据,1≤M≤N≤1000对于 100% 的数据,1≤M≤N≤105,0≤ai≤231原创 2021-05-10 21:27:20 · 219 阅读 · 0 评论