Contest
·马克图布·
如果人生真的可以分为几个阶段的话,那么我现在就在感觉自己很普通,并一无是处的那个阶段。
展开
-
AIsing Programming Contest 2020
Python 比赛首秀,惨败原创 2020-07-12 17:59:36 · 335 阅读 · 0 评论 -
Codeforces Round #635 (Div. 2)
B题意:给你一个xxx,然后你有两个操作1、x−>x2+10x->\frac{x}{2}+10x−>2x+102、x−>x−10x->x-10x−>x−10你可以做nnn个1个操作,mmm个2操作。问你能否是xxx小于等于0。思路:优先进行1操作,知道不能是xxx减小是,在进行222操作。看最后xxx是否小于等于0。int main(){ ...原创 2020-04-16 22:18:55 · 156 阅读 · 0 评论 -
AtCoder Beginner Contest 162
C求范围很小,直接暴力。D给你一个字符串,这个字符串中只有R,G,BR,G,BR,G,B。让你找三元组(i,j,k)(i,j,k)(i,j,k)的数量,满足i<j<k&&j−i!=k−ji<j<k\&\&j-i!=k-ji<j<k&&j−i!=k−j并且s[i]!=s[j],s[i]!=s[k],s[j]...原创 2020-04-16 17:38:55 · 211 阅读 · 0 评论 -
Educational Codeforces Round 85
A模拟即可B给你nnn个数字,然后让你找尽可能多的数,使得这些数的平均值大于等于xxx。思路:当然尽可能的选择大的数字来平均,所以从大到小排个序,然后不断取数看是否成立。ll a[N];int main(){ int t = read(); while(t--){ int n = read(),x = read(); rep(i,1,n...原创 2020-04-16 08:03:13 · 180 阅读 · 0 评论 -
Codeforces Round #633 (Div. 2)
A从左往右选,如果选竖着的话,就是1种情况,而如果选斜着的话,就变成了n−1n-1n−1的情况,如果选竖着的话,就是1种情况,而如果选斜着的话,就变成了n−2n-2n−2的情况。最后加完发现就是nnn。B让你将一个数列重新排列,满足一下条件。思路:找到中间那个数字a1 a2 a3 a4 a5 a6这里是a3a_3a3,然后选a4a_4a4,然后选a2a_2a2,然后选a5...原创 2020-04-16 07:59:13 · 153 阅读 · 0 评论 -
Codeforces Round #634 (Div. 3)
A给你一个nnn,然后让你把nnn分为两个数a,ba,ba,b,且a>ba>ba>b,问你有多中方式。每一个aaa相应的对于一个bbb,aaa的取值[n2+1,n−1][\dfrac{n}{2}+1,n-1][2n+1,n−1],所以答案为n−n2−1n-\dfrac{n}{2}-1n−2n−1.B让你构造一个长度为nnn的字符串,满足长度为aaa的子串中含有bbb个不...原创 2020-04-14 18:01:46 · 133 阅读 · 0 评论 -
Codeforces Round #632 (Div. 2)
A构造为2,1就满足题意了。也就是一个白色,其余都是黑色。B对比aaa数组和bbb数组,如果a[i]<b[i]a[i]<b[i]a[i]<b[i],说明a[i]a[i]a[i]需要不断加一,也就是说iii之前存在a[j]=1a[j]=1a[j]=1,a[i]>a[j]a[i]>a[j]a[i]>a[j]说明iii之前存在a[j]=−1a[j]=-1a[j]...原创 2020-04-12 18:39:51 · 155 阅读 · 0 评论 -
牛客练习赛61
A签到,暴力直接搞B思路:贪心只有两种操作1、某一种水果翻倍,2,苹果和香蕉同时数量减1设水果数量分别n,mn,mn,m,并且n<=mn<=mn<=m令d=m−nd=m-nd=m−n我们对m,nm,nm,n进行2操作时,ddd不变,如果n>=dn>=dn>=d,那么我们让n−>d,m−>(m−(n−d))n->d,m->(...原创 2020-04-12 10:58:23 · 147 阅读 · 0 评论 -
AtCoder Beginner Contest 161
C给你一个nnn和kkk,然后每次操作你可以令n=∣n−k∣n=|n-k|n=∣n−k∣问你最后nnn最小是多少。思路:一开始n=n−kn=n-kn=n−k直到n<kn<kn<k,相当于n=n%kn = n\%kn=n%k,之后在减一次kkk,相当于k−nk-nk−n。然后在减kkk的话又回到了nnn,此后周而复始,所以我们只需要输出min(n,k−n)min(n,k-...原创 2020-04-07 21:05:48 · 200 阅读 · 0 评论 -
Codeforces Round #631 (Div. 2)
AB题意:问你一个序列是否可以分为两个置换的序列相连接,其中置换的序列的意思为这个序列的长度为lenlenlen,那么这个序列的值,为1~len,且每个数出现一次。思路:一开始想到是如果是这样的序列,那么和为1+2+3+…+len,结果肯定就是(n+1)*n/2。结果惨遭Wa。后来加入最大值为lenlenlen最小值为1且无重复数字的条件也Wa。而且一直感觉思路没错误。后来想到找重复数字...原创 2020-04-07 17:49:57 · 203 阅读 · 0 评论 -
AtCoder Beginner Contest 160
A签到B签到C有一个 环,坐标从0−>n−1−>00->n-1->00−>n−1−>0,然后给出你mmm个点的坐标,你可以从任意一个点走,让你输出最少的距离。思路:遍历这mmm个点,使得这个点往左到0,然后在从n−1n-1n−1到第mmm个点,去最小的距离即可。注意还需要直接判断dm−d1d_m-d_1dm−d1的距离是否为最小。int a[N...原创 2020-04-07 09:05:39 · 218 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2)
A题意:初始你在(x,y)(x,y)(x,y)点,然后你将往左移动aaa步,往右移动bbb步,往上移动ccc步,往下移动ddd步,问你是否每次移动都在[x1...x2,y1...y2][x_1 ...x_2,y_1...y_2][x1...x2,y1...y2]范围内移动。思路:我想错了啊,想着在原地滑动,最后在到边界去,而且代码不好写。题解的思路感觉很妙啊,往左移动aaa步,往右...原创 2020-04-02 19:10:53 · 147 阅读 · 0 评论 -
Codeforces Round #629 (Div. 3)
A给你两个数a,ba,ba,b,然后你可以无限的给aaa加1,以便使得a%b==0a\%b==0a%b==0思路:我们直接输出(b−a%b)%b(b-a\%b)\%b(b−a%b)%b即可。a%ba\%ba%b意思是a/ba/ba/b的余数,那么b−a%bb-a\%bb−a%b是aaa如果要成为bbb的倍数,要增加的值,最后为啥子还要%b\%b%b呢,就是为了不写if(a%b==0)if(a...原创 2020-04-02 14:40:39 · 157 阅读 · 0 评论 -
牛客练习赛60
A思路:按位处理,考虑贡献。对于第iii位,统计这一位1的个数cntcntcnt,然后&\&&的话,只有两个1才会产生贡献,贡献为cnt2⋅2icnt^2\cdot 2^icnt2⋅2ill a[N];ll sum[N];int main(){ int n = read(); rep(i,1,n){ cin >> a[...原创 2020-03-28 12:17:45 · 156 阅读 · 0 评论 -
Codeforces Global Round 7
A让你找出一个长度为nnn的数字,它的每一位都大于0,并且这个nnn为数字不能被它的任何一位数字整除。思路:构造成23333B思路:bbb的第一位肯定是原来aaa中的第一位,我们设一个最大值的辅助变量,初始时等于b[1]b[1]b[1],然后后面的b[i]b[i]b[i],表示比最大值大或者小∣b[i]∣|b[i]|∣b[i]∣,模拟即可。ll a[N],b[N];int main(...原创 2020-03-27 12:34:28 · 130 阅读 · 1 评论 -
Educational Codeforces Round 84 (Rated for Div. 2)
A题意:给你一个数nnn,然后给你一个数kkk,问你nnn是否可以由kkk个不同奇数构成。思路:首先,奇数个奇数相加得出的结果是奇数,偶数个奇数相加得出的结果数偶数。然后如果前kkk个奇数相加的和小于等于n(k2<=n)n(k^2<=n)n(k2<=n),那么肯定可以凑出kkk个奇数相加等于nnn的。1,3,5,.....2⋅p−11,3,5,.....2\cdot p...原创 2020-03-26 22:05:52 · 101 阅读 · 0 评论 -
牛客小白月赛23
AB思路:质因数分解 + 二分ppp能整除n!n!n!,说明n!n!n!中含有ppp的所有质因子。首先将ppp质因数分解,然后二分答案,我们检验是否符合要求,即检验给定的数中,是否含有所有ppp的质因子(数量也应该包含)。ll fac[20],cnt[20];int tot;void divid(ll p){ for(int i = 2;i*i<=p;++i){ ...原创 2020-03-24 10:49:59 · 185 阅读 · 0 评论 -
Codeforces round #628
A. EhAb AnD gCd给你一个xxx,让你构造一个A,BA,BA,B,然后问你LCA(A,B)+LCM(A,B)=xLCA(A,B)+LCM(A,B)=xLCA(A,B)+LCM(A,B)=x。思路:还想了一会。。。直接构造1 x−1x-1x−1就ok了。B给你一个串,你可以无限延长复制它,然后问你LIS长度。思路:把给的字符串排个序,然后这个字符串LIS就是答案。C题意...原创 2020-03-15 21:49:40 · 167 阅读 · 0 评论 -
Codeforces Round #627 (Div. 3)
`这次比赛还可以,但是E题很不舒服。。。感觉E题题意.....什么玩意。。欺负英语学渣吗。。。被逼无奈学英语?`原创 2020-03-13 00:24:28 · 254 阅读 · 0 评论 -
Educational Codeforces Round 83 (Rated for Div. 2)
A直接判mmm能否整除nnn,即n%m=0n\%m=0n%m=0B从大到小排个序就行了C类似于二进制分解,我们处理出来kkk进制的所有小于等于1e161e161e16的幂 ,然后将所有从数字最大的开始处理,肯定要从kkk进制最大的数开始处理。当前的数字<=当前进制数,那就减去,减去后当前进制数就赋值 为0,代表已经使用了。最后检查一下是否全为0即可。ll f[100];ll a...原创 2020-03-10 14:36:08 · 96 阅读 · 0 评论 -
Codeforces Round #626 (Div. 2)
A这个似乎出过一遍了?选一个偶数或者两个奇数。B题意:给你nnn个数a1,a2,a3,a4......ana_1,a_2,a_3,a_4......a_na1,a2,a3,a4......an再给你mmm个数b1,b2.....bmb_1,b_2.....b_mb1,b2.....bm有一个矩形n⋅mn\cdot mn⋅m 的矩形C,Ci,j=ai⋅bjC_{i,j}=...原创 2020-03-08 18:07:14 · 261 阅读 · 0 评论 -
Codecraft-20 (Div.2)
A直接模拟判断总和与mmm的关系。B题意:给你一个长度为nnn的字符串,你可以选择一个长度kkk,1<=k<=n1<=k<=n1<=k<=n,对于[1,n−k+1][1,n-k+1][1,n−k+1]中的每个iii,都要将以iii位置为首字符长度为kkk的子串翻转过来。问你选择怎么样的kkk可以使得翻转后的sss字典序最小。思路:可以在纸上画一下,对...原创 2020-03-05 15:45:23 · 449 阅读 · 0 评论 -
Ozon Tech Challenge 2020 (Div.1 + Div.2)
A直接将两个数组从小到大排序输出。B题意:是给你一个括号序列,里面由若干个′(′'('′(′和若干个′)′')'′)′,现在让你选若干子序列,这个子序列是偶数,前一半是′(′'('′(′后一半是′)′')'′)′,然后问你最少需要多少操作删除若干子序列后就不存在这样的序列。思路:答案只能为1或者0,因为子序列是形如(((())))(((())))(((())))这种情况,所以我们双指针前...原创 2020-03-04 20:31:00 · 387 阅读 · 0 评论 -
Codeforces Round #625 (Div. 2,)
A对于两个人都有的全看为1即可,不必统计。第二个人可以解决而第一个人不能解决的统计为1,然后在统计第二个人不能解决而第一个人可以解决的,然后在讨论下即可。Bccc为位置,bcb_cbc为ccc位置的值。然后ci+1−ci=bci+1−bcic_{i+1}-c_i=b_{c_{i+1}}-b_{c_i}ci+1−ci=bci+1−bci其实可以写为br−r=bl−lb_r-r=...原创 2020-03-02 21:46:07 · 181 阅读 · 0 评论 -
2020牛客寒假算法基础集训营6
A思路:由于要输出最大化第kkk大和。我们只让AAA中前kkk大个,BBB中前kkk大个配对即可。直接贪心即可。对前kkk大 一倒序一正序配对即可。int a[N];int b[N];int main(){ int n,k; cin >> n >> k; for(int i = 1;i <= n;++i){ cin...原创 2020-02-29 22:38:41 · 123 阅读 · 0 评论 -
牛客练习赛58
A给你两个序列ai,bia_i,b_iai,bi,然后让你两两配对相加,使得最大值最小。贪心。一个从大到小排,一个从小到大排,直接相加。B给你一个01字符串,然后让你找到最多的组,满足每一组都有0和1。贪心。从前往后扫。遇到0和1是立马累加,C思路:一开始想得是每次挑出行和列中的最大值,然后累加,没有过,很纳闷,然后想出了一组数据证明了直接挑选最大值不一定正确,因为可能有好几...原创 2020-02-29 15:59:38 · 331 阅读 · 0 评论 -
Codeforces Round #624 (Div. 3)
A选正奇数 增加,正奇数减少,首先判断两个数的大小关系。看是该增加还是减少,然后答案显然只有0,1,2。int main(){ int t = read(); while(t--){ ll a,b; a = read();b = read(); if(a == b) puts("0"); else if(a <...原创 2020-02-25 18:13:38 · 394 阅读 · 0 评论 -
Codeforces Round #623 (Div. 2)
A题意:在一个a⋅ba\cdot ba⋅b的网格中,有一点(x,y)(x,y)(x,y),问你这个网格不包含这个点的矩形的最大面积是多少。思路:这个点的上下左右的矩形取maxmaxmax,当时写的时候一直出不来结果,后来发现只对它们取min了,没对结果取minminmin。。。。B题意:你要从1到n,可以步行,坐公交,做电车。你有ppp元钱,然后做一次公交花费aaa,做一次电车花费b...原创 2020-02-25 15:48:52 · 256 阅读 · 0 评论 -
Codeforces Round #622 (Div. 2)
A根据题意模拟B题意:进行两轮比赛,一共有nnn个人,每轮比赛每个人都有一个排名(不会有并列的),现在知道A知道A知道A的两次排名a,ba,ba,b,最终版个排名是两次成绩的加和,让你求它的最好和最差成绩。思路:最好成绩就是要让其他人的成绩尽量大,我们只要可能的凑a+b+1a+b+1a+b+1即可,这样是比A大的最小的。我们不失一般的设a<=ba<=ba<=b,然后配...原创 2020-02-25 11:20:15 · 367 阅读 · 0 评论 -
Codeforces Round #621 (Div. 1 + Div. 2)
A题意:给一个nnn哥数,你可以使得将相邻的数转移1,即一个加1,一个减1,你可以转移ddd次,问你a1a_1a1最大是多少。思路:模拟即可。int n,m;int a[N];int main(){ int t; cin >>t; while(t--){ cin >> n >>m; for(...原创 2020-02-18 11:29:28 · 440 阅读 · 2 评论 -
Codeforces Round #620 (Div. 2)
A题意两兔子往中间跳,看能不能碰头。只需判断他们之间的距离能否整除他们步子的和即可。int main(){ int t; cin >> t; while(t--){ int x,y,a,b; cin >> x >>y>>a>>b; if((y-x)%(a+b))...原创 2020-02-16 17:09:42 · 133 阅读 · 0 评论 -
Codeforces Round #619 (Div. 2)
A题意:给你三个字符串a,b,ca,b,ca,b,c,他们的长度都是nnn,然后你要进行nnn次交换,每次只能aia_iai与cic_ici交换或者bib_ibi与cic_ici交换,问你经过nnn次交换后aaa与bbb能够一样。思路:只要ai==ci∣∣bi==cia_i==c_i||b_i==c_iai==ci∣∣bi==ci就能保证iii处字符相等。int main...原创 2020-02-14 11:35:49 · 146 阅读 · 0 评论 -
Educational Codeforces Round 82 (Rated for Div. 2)
A题意:让你算不同1之间的零的个数模拟int main(){ string s; int t; cin >> t; while(t--){ cin >>s; int l = s.size(); int flag = 1; int ans=0; int k ...原创 2020-02-13 21:26:11 · 118 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5
A签到题B思路:三分存在某个位置使得到达其他基地的距离的最大值最小。然后往左或者往右这个值都会增大。所以是一个单峰函数。直接三分套上完事。const long double PI = acos(-1);int n;struct node{ double x,y;}res[N];double cal(double x,node a){return (x-a.x)*(x-...原创 2020-02-13 21:02:21 · 110 阅读 · 0 评论 -
2020牛客寒假算法基础集训营4
经过这几次比赛,我发现有些题目不是不会,甚至有些题目做过或者已经想到第一步了,但是我的大脑一点不转???大脑还告诉我:我不会。。。。是大脑太懒了,要克服啊!A思路:找规律。前提:限制a>ba>ba>b曾将在紫书上欧几里得算法那儿看过一句话:值的一提的是,让gcdgcdgcd递归层数最多的是gcd(Fn,Fn+1)gcd(F_n,F_{n+1})gcd(Fn,Fn+1...原创 2020-02-12 12:35:57 · 203 阅读 · 0 评论 -
AtCoder Beginner Contest 154
A签到B签到C签到D说实话,题意我没读懂,并且忘了期望是什么东东了。。。。然后…对每一个pip_ipi,它的期望为(1pi(1+2+3.....+pi))(\tfrac{1}{p_i}(1+2+3.....+p_i))(pi1(1+2+3.....+pi)),现在让你求子区间为kkk的期望的最大和值。那么前缀和搞一下即可。double sum[N];int main(...原创 2020-02-10 21:56:21 · 378 阅读 · 0 评论 -
Codeforces Round #618 (Div. 2)
A题意:给你nnn个数,然后你可以对任意数无限制+1,问你若使得这nnn个数乘积和和都不为000,至少多少步。思路:先把是零的+1,然后统计和看是否为0,是0就+1.int a[200];int main(){ int t; cin >> t; while(t--){ int n; int sum = 0; ...原创 2020-02-10 15:52:27 · 94 阅读 · 0 评论 -
Codeforces Round #383 (Div. 2)
A题意:让计算1378n1378^n1378n中的最后一个数字是多少。思路:特判n=0n=0n=0的情况,然后对于其他情况会有一个循环节8,4,2,6,。int f[] = {6,8,4,2};int main(){ int n; cin >> n; if(n == 0) return cout << 1,0; int d = n...原创 2020-02-09 18:05:19 · 198 阅读 · 0 评论 -
牛客寒假算法基础集训营2
A签到B签到C思路:概率dpll dp[2010][2010];ll p[2010];int main(){ int n; cin >> n; for(int i =1 ;i <= n;++i) cin >> p[i]; dp[0][0] = 1; for(int i = 1;i <= n;++i) ...原创 2020-02-08 09:29:38 · 142 阅读 · 0 评论 -
牛客寒假集训营第一场
AAA题意:让你计算n∗mn*mn∗m矩形内,好的三角形的个数。好的三角形定义如下:1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。2.三角形的面积为 。3.三角形至少有一条边和 轴或 轴平行。honoka想知道,在平面中选取一个大小为 的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请对1e9+7 取模。思路:计数。想了半天没有想到重复的情况,真是衰...原创 2020-02-05 21:53:04 · 220 阅读 · 0 评论