
2021暑假
。。。
(((o(*゚▽゚*)o)))♡
加油!
展开
-
AcWing 每日一题 3800. 奇数还是偶数(CF1110A)
原题链接数据范围1≤T≤10,2≤b≤100,1≤k≤105,0≤ai<b,同一测试点内所有 k 的和不超过 105。输入样例:413 33 2 710 91 2 3 4 5 6 7 8 999 532 92 85 74 42 21 0输出样例:evenoddoddeven分类讨论就好,首先如果b(b进制)是偶数的话,我们只需要根据最后一位的奇偶性来判断就好如果b是奇数的话,奇数加奇数等于偶数我们去找那些该位不为偶数(a[i]不为偶数)的个数即可,也原创 2021-08-13 18:55:57 · 129 阅读 · 0 评论 -
AcWing 每日一题 3799. 送糖果 ( CF811A )
原题链接数据范围1≤T≤10,1≤a,b≤109输入样例:21 17 6输出样例:ValeraVladik注意,每个人都只能送给对方自己事先准备的糖果。自己收到的糖果不得再送还给对方。只能送自己的糖果,那么就是两个等差数列了一个送k次要n*n个,一个送k次要( n + 1 ) * ( n + 1 )个枚举次数下就好#include<cstdio>#include<cstring>#include<algorithm>#includ原创 2021-08-13 18:50:22 · 97 阅读 · 0 评论 -
AcWing 每日一题 3798. 幸运年份( CF808A )
原题链接数据范围1≤T≤100,1≤n≤109。输入样例1:342014000输出样例1:1991000由于不为0的数不超过1,也就是要么只有一个,要么没有,为0只有一个的话显然就是最高位了,在原来的数最高位上加一减去原来的数就好了AC代码:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<map>原创 2021-08-13 18:44:53 · 135 阅读 · 0 评论 -
AcWing 每日一题 3794. 构造字符串( CF805B )
原题链接数据范围1≤n≤2×105。输入样例1:2输出样例1:aa输入样例2:3输出样例2:bba这道题其实挺好玩的,题目中是字符串不出现长度为3的回文串,长度为1,长度为2等等等都是可以的那么我们就会发现,只要aabbaabb的循环就好了这样回文串长度不可能为3AC代码:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#incl原创 2021-08-13 18:41:30 · 129 阅读 · 0 评论 -
AcWing 每日一题 3793. 最大分数( CF34B )
原题链接数据范围1≤T≤20,1≤m≤n≤100,−1000≤ai≤1000输入样例:55 3-6 0 35 -2 44 27 0 0 -76 6756 -611 251 -66 572 -8185 5976 437 937 788 5185 3-2 -2 -2 -2 -2输出样例:87149506从小到大排个序,在前m个数中选所有负数,题目说最多选m个,可以不选满,正数就没有必要选了,扣分AC代码:#include<cstdio>#inc原创 2021-08-13 17:07:02 · 99 阅读 · 0 评论 -
AcWing 每日一题 3792. 质数问题(CF17A)
原题链接数据范围1≤T≤30,2≤n≤1000,0≤k≤1000输入样例:527 245 72 015 117 1输出样例:YESNOYESYESYES先用质数筛筛出质数,然后枚举一遍求前缀和就好#include<cstdio>#include<cstring>#include<map>#define ll long long #define ri register int using namespace std;co原创 2021-08-13 16:55:22 · 180 阅读 · 0 评论 -
AcWing 每日一题 3791. 解码(CF746B)
原题链接数据范围1≤n≤2000输入样例1:5logva输出样例1:volga输入样例2:2no输出样例2:no输入样例3:4abba输出样例3:baba首先我们可以确定整个字符串的中心位置当n是奇数时 这个位置mid = n / 2当n是偶数时 这个位置mid = ( n - 1) / 2然后剩下的数只要填在mid两边就可以了,因为每次都是取中心值多试几组数据我们能发现以下规律当n是奇数时先填左边再右边当n是偶数时先填右边再左边,因为当n是偶数时,右边明原创 2021-08-08 11:08:31 · 97 阅读 · 0 评论 -
AcWing 每日一题 3790. 录入单词( CF716A )
添加链接描述数据范围1≤n≤105,1≤c≤109,1≤t1<t2<…<tn≤109。输入样例1:6 51 3 8 14 19 20输出样例1:3输入样例2:6 11 3 5 7 9 10输出样例2:2直接模拟即可AC代码:#include<bits/stdc++.h>using namespace std;int main(){ int n, m; scanf("%d %d", &n, &m); int pre;原创 2021-08-13 16:51:33 · 115 阅读 · 0 评论 -
AcWing 每日一题 AcWing 3785. 战舰 (CF965B )
原题链接数据范围1≤k≤n≤100由于数据比较小,直接暴力算出所有位置的投放指数,再取最大值即可AC代码:#include<bits/stdc++.h>#define ll long long using namespace std;const int maxn = 107;int a[maxn][maxn];int ans[maxn][maxn];int main(){ int n, k; scanf("%d %d\n", &n, &k); fo原创 2021-08-08 10:37:48 · 115 阅读 · 0 评论 -
AcWing 每日一题 3784. 交换相邻元素( CF920C )
原题链接数据范围2≤n≤2×105,1≤ai≤n,ai 两两不同。输入样例1:61 2 5 3 4 601110输出样例1:YES输入样例2:61 2 5 3 4 601010输出样例2:NO首先我们可以知道,在连续的1的区间内,肯定是可以通过交换使其变得升序的所以我们只需要找出所有的连续的1区间,把区间内的数排序即可最后判断下整个数组是否升序AC代码:#include<bits/stdc++.h>#define ll long long usin原创 2021-08-08 10:01:26 · 150 阅读 · 0 评论 -
AcWing 每日一题 3783. 第 k 个除数( CF762A )
原题链接数据范围1≤n≤1015,1≤k≤109。输入样例1:4 2输出样例1:2输入样例2:5 3输出样例2:-1数据范围不是特别大,直接处理出所有的因子,先算出sqrt(n)内所有的因子,再用这些因子推出后面的因子,时间复杂度O(sqrt(n)),注意开long long !AC代码:#include<bits/stdc++.h>#define ll long long using namespace std;ll a[10000007];int ma原创 2021-08-07 23:11:06 · 116 阅读 · 0 评论 -
AcWing 每日一题 3782. 点( CF76E)
原题链接数据范围1≤N≤105,−10000≤X,Y≤10000。输入样例:41 1-1 -11 -1-1 1输出样例:32将式子拆开,化简可以得到答案等于∑i=1nn∗(xi∗xi+yi∗yi)−(∑xi)2−(∑yi)2\sum_{i = 1}^{n} n*(x_i*x_i+y_i*y_i) - (\sum x_i)^2-(\sum y_i)^2i=1∑nn∗(xi∗xi+yi∗yi)−(∑xi)2−(∑yi)2AC代码:#include<原创 2021-08-07 16:39:10 · 119 阅读 · 0 评论 -
AcWing 每日一题 3781. 乘车问题 ( CF435A )
原题链接数据范围1≤T≤30,1≤n,m≤100,1≤ai≤m输入样例:24 32 3 2 13 41 2 1输出样例:31注意!同一个班的小朋友必须被安排在同一辆车内。这就意味着每个班不能被拆开,而且,只能按顺序来,在安排乘车时,必须按照 1 班,2 班,…,n 班的顺序,依次安排每个班的小朋友。这样就简单很多了,每次计算每个班需要多少辆车,且最后一辆车空出多少个座位,还能再塞几个完整的班AC代码:#include<bits/stdc++.h>usin原创 2021-08-07 15:43:52 · 97 阅读 · 0 评论 -
AcWing 每日一题 3777. 砖块( CF1271B )
原题链接数据范围1≤T≤10,2≤n≤200。输入样例:48BWWWWWWB4BWBB5WWWWW3BWB输出样例:36 2 4-1022 1翻成全为黑色和翻成全为白色都计算一下,取最小值即可对于翻成某种颜色,只需要每次碰到非这种颜色都翻一下(当前和下一个)这样会一直翻到最后一个,保证前面都是目标颜色,如果最后一个与目标颜色不同,则不能翻成该颜色AC代码:#include<bits/stdc++.h>using namespace std;原创 2021-08-07 14:47:41 · 382 阅读 · 0 评论 -
AcWing 每日一题 3776. 水果拼盘(CF1271A)
原题链接数据范围1≤T≤10。1≤a,b,c,d≤105,1≤e,f≤103。输入样例:34 5 6 3 1 212 11 13 20 4 617 14 5 21 15 17输出样例:6102325判断e,f的大小,e大就优先做拼盘1,否则优先做拼盘2AC代码:#include<bits/stdc++.h>using namespace std;const int maxn = 2e5 + 3;int main(){ int T; scanf("%d原创 2021-08-07 14:23:51 · 285 阅读 · 0 评论 -
AcWing 每日一题 3775. 数组补全(CF1283C )
原题链接数据范围1≤T≤100,2≤n≤2×105,0≤fi≤n,至少两个 fi 为 0。同一测试点内所有 n 的和不超过 2×105。数据保证有解。输入样例:355 0 0 2 477 0 0 1 4 0 677 4 0 3 0 5 1输出样例:5 3 1 2 47 3 2 1 4 5 67 4 2 3 6 5 1将缺少的数倒放,这样最多会出现一个a[ i ] == i的情况,这时再去找另一个要填的数(原本为0的数)交换即可,因为a[ i ] == i,与i匹配的只原创 2021-08-07 14:15:58 · 155 阅读 · 0 评论 -
AcWing 每日一题 3774. 亮灯时长
原题链接数据范围1≤T≤30,1≤n≤105,2≤M≤109,0<a1<a2<…<an<M。同一测试点内所有 n 的和不超过 105。输入样例:33 104 6 72 121 102 73 4输出样例:896对于每一次的修改,都会使后面所有的灯的亮灭情况翻转对于每个时间段(共有n+1个),我们枚举在每一个时间段进行操作,将后面所有亮灭情况翻转,为了便于查询,我们采取前缀和来进行O(1)查询那么对于每次操作,其亮灯时间为该时间段i,后原创 2021-07-21 10:23:17 · 157 阅读 · 0 评论 -
AcWing 每日一题 3773. 兔子跳(O(n),贪心)
原题链接数据范围1≤T≤1000,1≤n≤105,1≤x≤109,1≤ai≤109,ai 各不相同。保证同一测试点内所有 n 的和不超过 105。输入样例:42 41 33 123 4 51 552 1015 4输出样例:2312首先要注意的一个点是,兔子可以跳到非整数点上,而且不是一定要在x轴上跳。所以我们可以通过两次长的跳跃来达到在x轴上的短距离跳跃效果maxx是最大的跳跃距离当maxx>=x,我们找出有没有与x相等的跳跃距离,有的话跳一下就好原创 2021-07-21 09:24:17 · 228 阅读 · 0 评论 -
AcWing 每日一题 3769. 移动石子
原题链接数据范围1≤T≤100,1≤n,d≤100,0≤ai≤100输入样例:34 51 0 3 22 2100 11 80输出样例:31010贪心,因为每次只能移动一个石子,并不是一堆,所以每次移动最近的AC代码:#include<bits/stdc++.h>#define ll long long using namespace std;int main(){ int T; scanf("%d",&T); while(T--){原创 2021-07-21 08:46:22 · 102 阅读 · 0 评论 -
AcWing 每日一题 AcWing 3768. 字符串删减
原题链接输出格式输出最少需要删掉的字母个数。数据范围3≤n≤100输入样例1:6xxxiii输出样例1:1输入样例2:5xxoxx输出样例2:0输入样例3:10xxxxxxxxxx输出样例3:8水题,没什么好说的AC代码:#include<bits/stdc++.h>#define ll long long using namespace std;int main(){ int n; scanf("%d\n",&n); int原创 2021-07-21 08:29:59 · 181 阅读 · 0 评论 -
AcWing 每日一题 3767. 最小的值
原题链接数据范围1≤n≤100,0≤ai,bi≤1输入样例1:51 1 1 0 00 1 1 1 1输出样例1:3输入样例2:30 0 00 0 0输出样例2:-1输入样例3:41 1 1 11 1 1 1输出样例3:-1输入样例4:91 0 0 0 0 0 0 0 10 1 1 0 1 1 1 1 0输出样例4:4贪心题,因为p元素是正整数,不能为0所以,对于a[i]<=b[i],p[i]=1对于a[i]==b[i]的情况,我们p[i]原创 2021-07-19 12:00:49 · 101 阅读 · 0 评论 -
AcWing 每日一题 3764. 三元数异或
原题链接数据范围1≤T≤104,1≤n≤5×104,同一测试点所有 n 的和不超过 5×104。输入样例:4522222521211129220222021输出样例:1111111111110001021111110111011110111010为使两个数a,b的最大值最小,首先考虑的当然是平均分摊。但是会出现一个问题,分不平,假如x一位上是1,那么就会出现分不平的情况,这时为保证最小,我们要将1分给a,然后后面的所有分给b(反过来当然也可以)AC代码:原创 2021-07-19 11:32:50 · 96 阅读 · 0 评论 -
AcWing 每日一题 3763. 数字矩阵
原题链接数据范围1≤T≤100,2≤n,m≤10,−100≤aij≤100输入样例:22 2-1 11 13 40 -1 -2 -3-1 -2 -3 -4-2 -3 -4 -5输出样例:230首先我们能知道,题目中虽然说的是相邻两个数同时变号,但是可以通过不断的传递,使不相邻的两个数同时变号题目中的相邻也就变成了任意所以我们只需要记录下矩阵中所有数的绝对值之和、绝对值最小值、负数个数。如果有奇数个负数,说明必须留下一个数是负数,我们留最小的那个,由于所有数绝对值之原创 2021-07-19 10:16:50 · 154 阅读 · 0 评论 -
AcWing 每日一题 3762. 二进制矩阵
原题链接数据范围1≤t≤5000,2≤n,m≤100,保证将同一测试点内的每组数据的 nm 相加一定不超过 20000。输入样例:52 210113 30111011104 411110110011011115 501011110010001011011100002 3011101输出样例:11 1 2 1 2 222 1 3 1 3 21 2 1 3 2 341 1 1 2 2 21 3 1 4 2 33 2 4 1 4 23原创 2021-07-19 10:01:43 · 129 阅读 · 0 评论 -
AcWing 每日一题 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×105,1≤ai.原创 2021-07-09 15:45:09 · 387 阅读 · 0 评论