首页 > 其他 > 详细

AtCoder Regular Contest 111

时间:2021-01-13 17:49:37      阅读:24      评论:0      收藏:0      [点我收藏+]

由于不想被退学忙于学习,好久不打了……

A

感觉不是那么签到……问题可以转化为10^n=am^2+bm+c,求b,然后就转化为普通的快速幂即可

技术分享图片
#include<bits/stdc++.h>
using namespace std;
long long n;
int m,a=10,ret=1;
int main()
{
    cin>>n>>m;
    while(n)
    {
        if(n%2)ret=1ll*ret*a%(m*m);
        a=1ll*a*a%(m*m),n>>=1;
    }
    printf("%d\n",ret/m);
}
View Code

B

发现如果把每一张卡片视为一条无向边(ai,bi),答案就是每个连通块中点数和边数的最小值,证明可以任取连通块中的一棵生成树,尝试加边即可证明。

技术分享图片
#include<bits/stdc++.h>
using namespace std;
const int N=4e5+7;
int n,ans,f[N],sz[N],e[N];
int find(int x){return x==f[x]?x:f[x]=find(f[x]);}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=4e5;i++)sz[i]=1,f[i]=i;
    for(int i=1,x,y;i<=n;i++)
    {
        scanf("%d%d",&x,&y);
        x=find(x),y=find(y);
        if(x!=y)f[x]=y,sz[y]+=sz[x],e[y]+=e[x]+1;
        else e[x]++;
    }
    for(int i=1;i<=4e5;i++)ans+=min(e[find(i)],sz[find(i)]),e[find(i)]=sz[find(i)]=0;
    printf("%d\n",ans);
}
View Code

C

容易发现对每一个目标箱子不在自己手上的人,体重重于目标箱子即可,然后从体重轻的开始交换就行了,但是由于细节WA了一发导致本身不高的名次更加难堪

技术分享图片
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+7;
struct node{int x,id;}a[N];
int n,m,b[N],p[N],pid[N],aa[N],ab[N],pos[N];
bool cmp(node a,node b){return a.x<b.x;}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&a[i].x),a[i].id=i;
    for(int i=1;i<=n;i++)scanf("%d",&b[i]);
    for(int i=1;i<=n;i++)scanf("%d",&p[i]),pid[p[i]]=i;
    for(int i=1;i<=n;i++)if(i!=p[i]&&a[i].x<=b[p[i]]){puts("-1");return 0;}
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++)
    if(p[a[i].id]!=a[i].id)
    {
        int now=a[i].id;
        aa[++m]=now,ab[m]=pid[now];
        p[pid[now]]=p[now],pid[p[now]]=pid[now];
    }
    printf("%d\n",m);
    for(int i=1;i<=m;i++)printf("%d %d\n",aa[i],ab[i]);
}
View Code

新号打的

rank371 performance=1978 rating=778

AtCoder Regular Contest 111

原文:https://www.cnblogs.com/hfctf0210/p/14272158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!