Acwing第 59 场周赛完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 59 场周赛完结相关的知识,希望对你有一定的参考价值。

题目难度较简单,思维题为主。
https://www.acwing.com/activity/content/competition/problem_list/2015/

目录

4491. 数组操作 【思维】

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*10;
typedef long long int LL;
int a[N],s[N],temp,n;
int main(void)

    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i],temp=min(temp,s[i]);
    cout<<s[n]-temp;
    return 0;

4492. 减法操作【思维】


质数的话,一步数到位。偶数的话次数就是除以2。其他情况则是因子都是质奇数。
那么暴力的找最小的减,此时一个奇数-一个奇数。结果就变偶数了下一步就直接一步到位了。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*10;
typedef long long int LL;
LL n,cnt;
void solve(LL n)

    while(n)
    
        if(n%2==0)
        
            cnt+=n/2;
            break;
        
        for(LL i=3;i<=n;i+=2)
        
            if(n%i==0)
            
                cnt++;
                n-=i;
                break;
            
        
    

bool check(LL n)

    if(n==1) return true;
    for(LL i=2;i<=n/i;i++) if(n%i==0) return false;
    return true;

int main(void)

    cin>>n;
    if(check(n)) cout<<1<<endl;
    else solve(n),cout<<cnt<<endl;
    return 0;

4493. 环形连通分量【找干净的环】


cf的某次的原题,当时的做法忘了咋做了。又写了一种写法。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*5+10;
int p[N],st[N],d[N],n,m;
int find(int x)

    if(x!=p[x]) p[x]=find(p[x]);
    return p[x];

vector< pair<int,int> >ve;
int main(void)

    cin>>n>>m;
    for(int i=1;i<=n;i++) p[i]=i;
    int cnt=0;
    while(m--)
    
        int a,b; cin>>a>>b;
        d[a]++,d[b]++;
        ve.push_back(a,b);
    
    for(int i=1;i<=n;i++) if(d[i]>2) st[i]=1;//标记为坏的
    for(int i=0;i<ve.size();i++)
    
        int a=ve[i].first,b=ve[i].second;
        if(find(a)==find(b)&&!st[find(a)]) cnt++;//是一个环 且无多余的边
        else
        
            if(st[find(a)]) st[find(b)]=1;//合并前将好坏合并
            p[find(a)]=find(b);
        
    
    cout<<cnt;
    return 0;

以上是关于Acwing第 59 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章

Acwing第 59 场周赛完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 53 场周赛完结

Acwing第 31 场周赛完结