![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
比赛题解
文章平均质量分 60
cf,atcoder等题解
haniwn
这个作者很懒,什么都没留下…
展开
-
线段树+二分 E. Mark and Professor Koro
【代码】线段树+二分 E. Mark and Professor Koro。原创 2022-09-29 20:47:40 · 302 阅读 · 0 评论 -
Codeforces Round #790 (Div. 4)
题意:给一个字符串,看前三位之和是否和后三位相等。代码:B. Equal Candies题意:有n个糖果,每个糖果重量不同,要使大家分得糖果重量相同,每人分一个,你可以减少每个糖果任意重量,问最少减少多少。思路:直接所有糖果都减少至最小值。C. Most Similar Words题意:每组给n个字符串,任意选两个,使其中一个转化为另一个,求最小转化步数,每个字母可以转化为相邻的字母,花费1.思路:排序后选最小和次小,最大和次大,两者中取最小值。D. X-Sum题意:给一个棋盘,放置一个原创 2022-06-07 22:05:29 · 558 阅读 · 0 评论 -
AtCoder Beginner Contest 250 A~E
AtCoder Beginner Contest 250 A~EA - Adjacent Squares题意:给出一个行列为H,W的矩阵,再给一个坐标,问周围有多少个正方形。// Problem: C - Adjacent Swaps// Contest: AtCoder - AtCoder Beginner Contest 250// URL: https://atcoder.jp/contests/abc250/tasks/abc250_c// Memory Limit: 1024 MB/原创 2022-05-09 17:57:53 · 504 阅读 · 0 评论 -
Codeforces Round #768 (Div. 2) C
C. And Matching题意:给出一个n和k,要求对由0,1,2,… ,n-1组成的数组,分成n/2对,使每一对两个数的相与的和为k,n为2的次幂,要求给出一种划分方案。思路:对于a&b = 0,我们可以定义f(a) = b,至于如何构造,我们发现a=101,b=010,a^b = 111,那么可以由a^(n-1)得到b,因为n是2的次幂,所以n-1就是范围内最长的,由此我们可以构造出k=0的情况,即0&(n-1),1&(n-2),2&(n-3)…,交换其中原创 2022-09-28 21:09:15 · 59 阅读 · 0 评论 -
Codeforces Round #768 (Div. 2) C
C. And Matching题意:给出一个n和k,要求对由0,1,2,… ,n-1组成的数组,分成n/2对,使每一对两个数的相与的和为k,n为2的次幂,要求给出一种划分方案。思路:对于a&b = 0,我们可以定义f(a) = b,至于如何构造,我们发现a=101,b=010,a^b = 111,那么可以由a^(n-1)得到b,因为n是2的次幂,所以n-1就是范围内最长的,由此我们可以构造出k=0的情况,即0&(n-1),1&(n-2),2&(n-3)…,交换其中原创 2022-04-29 15:11:10 · 128 阅读 · 0 评论 -
Codeforces Round #779 (Div. 2) D1
D1. 388535 (Easy Version)题意:对一个由l,r的一个全排列数组,对于数组中的每一个数异或上x。给出异或之后的数组,要求求出x。思路:首先来看一下0~7的二进制数000 0 我们对于每一位进行查看(垂直): 对于第0位: 对于第1位 001 1 1 0010 2 0 0 011 3原创 2022-04-29 15:09:50 · 73 阅读 · 0 评论 -
Educational Codeforces Round 126 (Rated for Div. 2)
A. Array Balancing题意:给出a和b两个数组,可以对相同位置上的a和b进行交换,求a和b数组中所有相邻两个数的绝对值之和的最小值。思路:使较小的在一边,较大的在一边。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 30;int a[N],b[N];int main(){ int t; cin>>t; while(t--) { int原创 2022-04-29 15:08:26 · 125 阅读 · 0 评论 -
CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes) A~E
A. Good Pairs题意:给一个数组,要求在其中选出两个数,满足以下公式∣ai−ak∣+∣ak−aj∣=∣ai−aj∣|a_i - a_k| + |a_k - a_j| = |a_i - a_j|∣ai−ak∣+∣ak−aj∣=∣ai−aj∣i,j为选出的数的下标,对于所以的1≤k≤n1\le k\le n1≤k≤n都满足,输出两数下标。思路:刚开始猜了一下选最大和最小的,答案也确实如此,要想左边的式子等于右边的,那么就要把k消掉,很明显把绝对值符号去掉,两个aka_kak可原创 2022-03-26 19:58:01 · 418 阅读 · 0 评论 -
Educational Codeforces Round 125 (Rated for Div. 2) C题
C. Bracket Sequence Deletion题目连接题意:给一个长度为n只由 ( 和 ) 组成的字符串,每次删除一个长度最短的前缀串(从第一个开始连续串),删除需要满足以下要求1,是一个合法的括号串,即(())() , () , (()(()))2,满足回文串且长度大于等于2 , 即(( , )) , )(()直到不能删除为止,输出删除次数和剩下的字符个数思路:起初想的暴力做法,毫无疑问t掉了,那么是否有一些性质存在呢,既然要求每次删除的要求长度最短,那么最短的有四种情况() ,原创 2022-03-23 22:34:50 · 77 阅读 · 0 评论 -
Codeforces Round #775 (Div. 2)A~D
A. Game题意:由一个0和1组成的一维数组,起点1和终点n是1,表示陆地,即终点是原创 2022-03-08 17:17:03 · 783 阅读 · 5 评论 -
Educational Codeforces Round 121 (Div. 2) A~C
A - Equidistant Letters题意:给一个字符串,对于出现两次的字母,要求输出的位置间隔相等思路:对于两次以上的字母,记录,先输出一遍再输出一遍,接着输出其他的#include<bits/stdc++.h>#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);using namespace std;typedef long long ll;const int N = 1e5 + 10;int原创 2022-01-23 22:09:00 · 2563 阅读 · 0 评论 -
Codeforces Round #767 (Div. 2) A~D
A Download More RAM题意:升级内存,给定初始内存,使用给定的n个软件升级内存,第i个软件启动要求至少a内存,可以永久增加b内存,求最大内存思路:排序贪心即可#include<bits/stdc++.h>#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);using namespace std;typedef long long ll;const int N = 100 + 10;int t原创 2022-01-23 15:40:57 · 623 阅读 · 0 评论 -
AtCoder Beginner Contest 235 A~E
原创 2022-01-17 18:07:31 · 440 阅读 · 0 评论 -
Codeforces Round #765 (Div. 2) A~B
A. Ancient Civilization题意:给你n个二进制下长度小于k的数,让你在0到2k−12^k-12k−1求一个数,使它和其余数的二进制上的不同的个数最少思路:暴力做法即可,将所有数转化为二进制,统计每一位上最多的0或1,即为答案二进制的结果#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 10;ll t;ll n,k;ll P(ll x){原创 2022-01-13 12:02:09 · 251 阅读 · 0 评论 -
AtCoder Beginner Contest 234 A~D
A - Weird Function题意:给一个方程,求值#include<bits/stdc++.h>#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);typedef long long ll;typedef unsigned long long ull;using namespace std;const int mod=1000000007;const double eps=1e-8;ll f(l原创 2022-01-11 23:08:47 · 387 阅读 · 0 评论 -
Codeforces Round #764 (Div. 3) A~D
A. Plus One on the Subset题意:给一个数组,每次选任意个数,依次加一,问最少几次可以使数组大小一致思路:选最大和最小相减即可#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 10;ll t,n,m;int main(){ scanf("%lld",&t); while(t--) { int n; cin>>原创 2022-01-11 22:03:07 · 489 阅读 · 0 评论 -
codeforces 816B Karen and Coffee差分二分
题目链接题意给你n个区间,k,q次询问(1 ≤ k ≤ n ≤ 200000,1 ≤ q ≤ 200000)每次询问给定一个区间,求区间中每个数合法数量,如果每个数满足n个区间的数量>=k,则为合法数;simple input3 2 491 9492 9797 9992 9493 9795 9690 100simple output3304思路利用差分求出合法区间,利用二分找出每次询问区间中在合法区间的边界#include<bits/stdc++.h&g原创 2021-04-25 16:19:09 · 175 阅读 · 0 评论