
Atcoder
文章平均质量分 86
Deep_Kevin
这个作者很懒,什么都没留下…
展开
-
AtCoder Grand Contest 019
费劲千辛万苦,终于自己独立做出了一场AGCAGCAGC,尽管蒟蒻总共花费了近5h5h5h,不过依旧很开心,今天晚上可以奖励自己吃点宵夜。A - Ice Tea Store按照2L2L2L的容量排个序,如果最小的是2L2L2L装的,那么就先拿2L2L2L装,再拿第二小的装剩下的,否则直接拿最小的装。#include<bits/stdc++.h>using namespace std;pair<int,int> e[4];int a,b,c,d,n;int main()原创 2021-04-28 21:24:01 · 230 阅读 · 0 评论 -
AtCoder Grand Contest 018
A - Getting Difference裴蜀定理#include<bits/stdc++.h>using namespace std;int n,k;int gcd(int x,int y){ return y==0?x:gcd(y,x%y);}int main(){ int x,ans=0,mmax=0; scanf("%d %d",&n,&k); for(int i=1;i<=n;i++) scanf("%d",&x),ans=g原创 2021-04-28 20:52:24 · 154 阅读 · 0 评论 -
AtCoder Grand Contest 017
A - Biscuits偶数不影响奇偶性,所以随便选,奇数的选择方案数恰好是2tot−12^{tot-1}2tot−1,具体证明二项式定理。#include<bits/stdc++.h>using namespace std;const int N=60;int n,t[2],k;int main(){ scanf("%d %d",&n,&k); int x; for(int i=1;i<=n;i++) scanf("%d",&x),t[x&a原创 2021-04-28 18:14:50 · 123 阅读 · 0 评论 -
AtCoder Grand Contest 015
A - A+…+B Problem模拟题意#include<bits/stdc++.h>using namespace std;int n,a,b;int main(){ scanf("%d %d %d",&n,&a,&b); if(a==b || a<b && n>=2) printf("%lld\n",1ll*(n-2)*(b-a)+1); else printf("0\n");}B - Evilator模拟题原创 2021-04-25 20:20:18 · 125 阅读 · 0 评论 -
AtCoder Grand Contest 014
A - Cookie Exchanges若都为偶数且相同,显然无限轮。否则考虑存在不同的最低位,每经过一轮之后会−1-1−1,所以就只有logloglog次。#include<bits/stdc++.h>using namespace std;int a,b,c;int dfs(int x,int y,int z){ if((x&1) || (y&1) || (z&1)) return 0; return dfs((y+z)/2,(x+y)/2,(x+原创 2021-04-25 19:52:56 · 283 阅读 · 0 评论 -
AtCoder Grand Contest 013
A - Sorted Arrays贪心即可,从前往后看看能不能加入前一个的序列即可。#include<bits/stdc++.h>using namespace std;const int N=100010;int n,a[N];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int las=3,ans=0; for(int i=2;i<=n;i++){原创 2021-04-25 19:07:57 · 116 阅读 · 0 评论 -
AtCoder Grand Contest 012
A - AtCoder Group Contest排个序每一组的最小值肯定在前nnn个。后面次大和最大交替放即可。#include<bits/stdc++.h>using namespace std;const int N=300010;int n,a[N];int main(){ scanf("%d",&n); for(int i=1;i<=3*n;i++) scanf("%d",&a[i]); sort(a+1,a+1+3*n); long原创 2021-04-20 20:33:52 · 101 阅读 · 0 评论 -
AtCoder Grand Contest 011
A - Airport Bus从后往前贪心即可。#include<bits/stdc++.h>using namespace std;const int N=100010;int a[N],n,c,k;int main(){ scanf("%d %d %d",&n,&c,&k); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); int tot=1,now=a[n],a原创 2021-04-20 19:51:52 · 99 阅读 · 0 评论 -
AtCoder Grand Contest 010
直接开始讲题吧。比赛链接在这:阿巴A - Addition只需要看看奇数的个数是否为奇数即可。#include<bits/stdc++.h>using namespace std;const int N=100010;int a[N],n,t[2];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]),t[a[i]&1]++; printf(t[1]&原创 2021-04-20 19:07:53 · 109 阅读 · 0 评论 -
Contrast,ABC178F,思维
正题 这题的构造方式的确巧妙. 先讲做法,个人觉得如果不是做过类似的题不太能想出来. 将b翻转,看看与a交的部分,如果没有交,直接输出,否则交的部分肯定是一个区间,找到值为这个交区间元素值的并区间,用不在并区间的元素和交区间里面的元素一一交换即可,如果换不上了,那么就无解. 如果交的区间长度为k,设a序列中该值元素个数为A个,b序列中该值元素个数为B个,那么就有并区间长度为A+B-k,现在要证明如果两边的元素<交的长度,那么无解,也就是有n-(A...原创 2020-09-13 22:04:53 · 296 阅读 · 0 评论