自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 2021-1-9

min_element 和 max_element 头文件:#include 作用:返回容器中最小值和最大值的指针。max_element(first,end,cmp);其中cmp为可选择参数! #include<iostream> #include<algorithm> using namespace std; bool cmp(int a,int b) { return a<b; } int main() { int num[]={2,3,1,6,4,5}; c.

2021-01-15 11:17:03 84

原创 2021-1-15

数的范围 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内),表示完整数组。 接下来q行,每行包含一个整数k,表示一个询问元素。 输出格式 共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。 如果数组中不存在该元素,则返回“-1 -1”。 数据范围 1 ≤ n ≤

2021-01-15 10:41:16 179

原创 2021-1-12

#C. Perform the Combo. 题意: 给出一个长度为n的小写字母字符串 s,给出m个正整数qi。类似于打印机,第i次打印时,打印字符串中前qi个字母,最后还要字符串整体打印一遍。最终统计26个英文字母的出现次数。 思路: 前缀和,统计字符串s前i个字符每个字母出现的次数。 #include<iostream> #include<algorithm> using namespace std; const int maxn = 200000

2021-01-13 08:35:58 84

原创 2021-1-8

C. Polycarp Restores Permutation 题意:存在一个有n个数的数组p,给出一个有n-1个数的数组q,数组q中的数都是满足qi=pi+1−pi.让你恢复数组p。 思路:一维差分. #include <iostream> #include<algorithm> using namespace std; const int N = 2e5 + 10; int n; int a[N], b[N], c[N];

2021-01-09 08:31:11 95

原创 2021-1-7

Codeforces Round #535 (Div. 3)(后四题) D. Diverse Garland. 题意:给定一个字符串,只包含RGB三个字符,你可以改变某些字符使之这个字符串相邻的字符不相等。 那么我们只需要枚举从第二个字符开始的每一个字符串,判定是否和前面的字符相等,如果相等就改成不和后面字串相等字符。 int n, cnt = 0; char str[N];//const int N=200000+10; int main() { scanf("%d%s", &n, str);

2021-01-07 20:11:52 127

原创 2021-1-6

C. Increase and Copy 给出一个初始只有一个元素且值为 1的数组a。你接下来可以进行两种操作: 选择其中某个元素对其进行 + 1操作。 选择其中某个元素对其进行复制操作,并添加到数组末尾。 问你要经过多少次操作才可以让数组总和至少为n。 #include <iostream> #include <vector> #define ll long long using namespace std; const int inf =

2021-01-07 08:11:38 133

原创 2021-1-5

Codeforces Round #535 (Div. 3)(前三题) A. Two distinct points 给出两个区间,输出两个数,满足两个数分别在两个区间内且这两个数不相等。 int main() { read(n); while(n--) { read(a);read(b);read(c);read(d);//这里用了快读 int x, y; x = (int)ceil((a+b)/2.0); //选择比较中位数,其实不用这么麻烦 y = (int)ceil((c+d)/

2021-01-07 07:58:06 114

原创 2021-1-4

B. Red and Blue 给出两个序列,在不改动两个序列本身的顺序的前提下,将两个序列合二为一。 要求新序列的最大前缀和最大,并求解该值。 分别求解两个的最大前缀和,然后相加。 #include <iostream> #include <algorithm> using namespace std; int a[101], b[101]; int n, r, l; int main() { cin >> n

2021-01-07 07:57:32 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除