自定义博客皮肤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 65

原创 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 152

原创 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 68

原创 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 81

原创 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 99

原创 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 118

原创 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 101

原创 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 175

空空如也

空空如也

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

TA关注的人

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