首页 > 其他 > 详细

Codeforces Round #580 (Div. 2)

时间:2019-08-19 13:58:57      阅读:169      评论:0      收藏:0      [点我收藏+]

A题---水题:

int a[105],b[105];
int main()
{
    int n1,n2;
    cin>>n1;
    for(int i=0;i<n1;i++)
    cin>>a[i];
    sort(a,a+n1);
    cin>>n2;
    for(int i=0;i<n2;i++)
    cin>>b[i];
        sort(b,b+n2);
    
    cout<<a[n1-1]<<" "<<b[n2-1]<<endl;
 } 

 

B题---模拟题

题意:给定n个数字(数字范围为10^9ai10^9),每个数字可以进行原基础上的加一或减一操作,问多少次操作之后这些数字的乘积为1?

思路:

要数字乘积为1   那么这些数字必须为-1与1

所以我们需要做的是让这些数字都靠近1与-1,另外处理数字0---使他看情况变为1或-1

-3 -5 -5  -1 0 0 0 1 2 

注明:这里需要处理一些细节

int main()
{
    int n,t;
    cin>>n;
    int a=0,b=0,c=0;
    long long ans=0;
    for(int i=0;i<n;i++)
    {
        cin>>t;
        if(t==0)
        c++;
        else if(t>0)
        {
            a++;
            ans+=(t-1);
        }
        else
        {
            b++;
            ans+=(-1-t);
        }
     }
        if(c==0)
        {
            if(a==0&&b)
            {
                if(b%2==1)
                ans+=2;
            }
            if(a&&b)
            {
                if(b%2==1)
                ans+=2;
            }
        }
        else
        {
            ans+=c;
        }
        cout<<ans<<endl;
 } 

 

C题:规律模拟题

题意:给定数字n,让你求一个环,环上有2n个数字(1,2...2n),环上形成连续的n个数字其和与其他的环上形成连续的n个数字的和相差不大于1,问是否存在这样的环,存在输出该环

思路:我们可以得出a[i]-a[i+n]=1(或者-1)   即a[i]与a[i+n]相差1

我们只需求出n对这样的数    每对数两数之间相差1    其实就是1,2 ;3,4;5,6;然后我们注意到每次都是先相差正1,然后下一组相差负1

int a[200005];
int main()
{
    int n;
    cin>>n;
    n=2*n; 
    int sum=n*(n+1)/2;
    int x=(sum+1)/2;
    a[1]=1,a[n]=n;
    if((n/2)%2==0)
    cout<<"NO"<<endl;
    else{
    int t=1;
    for(int i=1;i<=n/2;i++)
    {
        t=2*i;
        if(i%2)
        {
            a[i]=t-1,a[n/2+i]=t;
        }
        else
        {
            a[i]=t,a[n/2+i]=t-1;
        }        
    }
    cout<<"YES"<<endl;
    for(int i=1;i<=n;i++)
    {
        if(i!=n)
        cout<<a[i]<<" ";
        else
        cout<<a[i]<<endl;
    }
    }
 } 

 

      

 

Codeforces Round #580 (Div. 2)

原文:https://www.cnblogs.com/Aiahtwo/p/11376541.html

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