1 ACkingdom

学生身份

我要认证

西科刘德华丶

等级
TA的排名 5w+

快读模板

#define gc() (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<20,stdin),fs==ft))?0:*fs++;inline int read(){ int x=0,f=1; char ch=gc(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=gc(); } while(

2020-10-06 23:17:50

Codeforces Round #673 (Div. 2) D. Make Them Equal

题目链接题意:给你一个长度为n的数组和3n次的操作数,每次操作可以选择任意两个不同的i,j,将ai=ai−x·i,aj=aj+x·i.思路:我们不难想到,如果一个数想加上某个数,那么他可以加上不超过第一个数大小的任意数,但如果想减,就只能减去下标的倍数,所以我们只需要从第二位开始将每一个数先加到下标的倍数再减为0,这样就能将所有数全部转移到第一位上,最后将每一个数全都变成相同数即可(记得判断能否整除)。代码:#include<bits/stdc++.h>#define int lo

2020-10-02 13:33:54

Grakn Forces 2020 B. Arrays Sum

题目链接题意:给你一个长度为n的a数组,问你这个数组最少能由几个只含k个不同数的b数组对应位置相加的得到。思路:第一个b数组可以得到a中前k个不同的数,但是从第一个b数组之后的数组必须有一个数为0来让前面已经变过的数保持不变,所以后面的每个b数组只能变出k-1个不同的数,所以我们算出a中不同的数的个数之后再用刚刚的方法算出结果即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_s

2020-10-02 13:02:19

Codeforces Round #673 (Div. 2) B. Two Arrays

题目链接题意:给你n个数,你可以将他们分到任意的两个数组中,求怎样可以使得分别两个数组中的两两和为T的对数的数量最小。思路:遍历数组,如果该数没有被标记,那么标记该数并标记T-该数,flag数组中标记的数不同,表示这两个数不在同一个数组中,最后直接输出所有数的标记即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(

2020-09-28 14:06:00

Codeforces Round #673 (Div. 2) C. k-Amazing Numbers

题目链接题意:给你两个数n,k,求从1~n之间的每一个i在长度为n的数组中的,所有连续的长度为i的数组的公共最小值,如果没有重复值则输出-1.思路:遍历求每个相同的数之间的距离,即求出i到达几时这些数成为公共值,然后遍历所有求得的公共值,输出最小值即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#def

2020-09-28 13:58:16

Codeforces Round #667 (Div. 3) D. Decrease the Sum of Digits

题目链接思路:预处理每一位的10次方,从最末尾开始逐位上升,累计操作数,每次上升之前都计算所有位之和,如果满足条件直接break,否则继续进一升位(防止999999情况出现),输出操作数即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#define pb push_back#define ll long

2020-09-08 01:30:37

Codeforces Round #667 (Div. 3) B. Minimum Product

题目链接思路:要确保两个数之间的差值最大,那么我们可以从一个一直减小然后再从另一个开始,讨论两种情况谁的收益最大即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#define pb push_back#define ll long longconst int N=2e5+5;const int M=2

2020-09-08 01:19:37

Codeforces Round #666 (Div. 2) D. Stoned Game(博弈论)

题目链接思路:如果最大值超过其他所有值则先手赢,当石子总数为偶数时后手赢否则先手赢,因为相当于每一轮都要拿走两个。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1e5+9;const int M=1e4+5;const double eps=1e-8;const int mod=1

2020-08-31 23:10:58

Codeforces Round #666 (Div. 2) C. Multiples of Length

题目链接思路:如果n为1直接输出两个不改变和一个变为0即可,如果n大于1那么第一次操作就将1到n-1同时加上a[i]*(n-1)将他变成n的倍数最后再用第三次操作将所有的n个数组变成0即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1e5+9;const int M=1e4+5;

2020-08-31 22:50:30

Codeforces Round #666 (Div. 2) B. Power Sequence(暴力枚举)

题目链接思路:从1开始枚举c的大小再用一个循环从1跑到n枚举c的每一个次方,再求出需要操作的最小值即可,如果c的某个次方和a[i]的差超出1e15(数据范围内能够操作的最大值)那么这个c之后的c就不可能了,直接break然后输出之前求得的最小值即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const in

2020-08-31 22:34:11

Educational Codeforces Round 94 (Rated for Div. 2) D. Zigzags

题目链接思路:遍历找相等,然后找相等的数之间的数和之后的相等数累加起来即可。代码:#include<bits/stdc++.h>#pragma GCC optimize("Ofast")#define endl '\n'#define null NULL#define ls p<<1#define rs p<<1|1#define fi first#define se second#define mp make_pair#define pb pu

2020-08-29 23:55:18

Educational Codeforces Round 94 (Rated for Div. 2) B. RPG Protagonist(贪心)

题目链接思路:枚举每一种情况找出剩余质量最少的情况即放入的最多的情况即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1e5+7;const int M=1e4+5;const double eps=1e-8;const int mod=1e9+7;const int inf=

2020-08-29 21:37:41

Educational Codeforces Round 94 (Rated for Div. 2) C. Binary String Reconstruction

题目链接思路:字符串s[i]如果为0,那么w[i]两端也一定为0,标记完这些位置之后特判两端长度为x的位置是否有冲突即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1e5+7;const int M=1e4+5;const double eps=1e-8;const int m

2020-08-29 20:28:57

Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree(dfs)

题目链接思路:dfs讨论m和n−1之间的大小关系,再计算每条边的贡献次数排序。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=2e5+7;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;const in

2020-08-23 00:39:58

Codeforces Round #665 (Div. 2) C. Mere Array(思维,gcd)

题目链接思路:所有是最小值的倍数的数都可以进行交换,其他数的位置不会发生改变,所以我们只需要看这些数排序之后与排序之前的位置是否一样即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=2e6+7;const int M=2e4+5;const double eps=1e-8;con

2020-08-23 00:34:06

Educational Codeforces Round 93 (Rated for Div. 2) C. Good Subarrays

题目链接思路:将每一位上的数组-1,将问题转化为求区间和为0的问题,再维护一个前缀和即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=210;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;cons

2020-08-21 01:52:36

Educational Codeforces Round 93 (Rated for Div. 2) B - Substring Removal Game

题目链接思路:分析可知双方每次操作一定是取连续1最多的区间消掉,贪心即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=210;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;const int in

2020-08-21 01:47:25

Educational Codeforces Round 93 (Rated for Div. 2) A. Bad Triangle

题目链接思路:判断两个最小值是否大于最大值即可代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=210;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;const int inf=0x7fffffff;

2020-08-21 01:41:34

Codeforces Round #664 (Div. 2) C. Boboniu and Bit Operations

题目链接思路:暴力从0开始枚举答案,如果有一个答案满足对任意一个ai均能找到一个bj,使得(a[i] & b[j]) | x) == x,输出即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=210;const int M=2e4+5;const double eps=1e

2020-08-20 01:19:53

Codeforces Round #664 (Div. 2) B. Boboniu Plays Chess

题目链接思路:走过的方格是不能再走的,每个方格都要走一遍,输出路径。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=355;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;const int inf=0

2020-08-20 01:12:28

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。