码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces-Round#569 Div.2

时间:2019-06-24 23:58:40      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:顺序   space   inline   str   lin   选择   输出   namespace   循环   

前面考试周,抱歉拖了这么久。

A题 Alex and a Rhombus

技术图片

基本思路

递推解决,n=1时,Count(1)=1;n>1时,Count(n)=Count(n-1)+(n-1)*4

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;cin>>n;
    long long res=1;
    for(int i=1;i<=n;i++)
    {
        res+=4*(i-1);
    }
    cout<<res;
    return 0;
 } 

B题 Nick and Array

技术图片

基本思路

按绝对值,负数>正数,因此只要把所有的数转成负数,若n被2整除,则结果为正,若n%2余1,则将最小的负数转成正数。

注意题目要求按顺序输出

#include<bits/stdc++.h>
using namespace std;
int num[100005];
int MINN = 99999,pos=0;
int main()
{
    int n,ncount=0;cin>>n;
    for(int i=0;i<n;i++)
    {
        cin >> num[i];
        if(num[i]>=0)
            num[i] = -num[i] - 1;
        if(num[i]<=MINN&&num[i]!=-1) 
        {
            pos=i;
            MINN=num[i];
        }
    }
    if(n%2!=0)
    {
        num[pos]=-num[pos]-1;
    }
    for(int i=0;i<n;i++)
    {
        cout<<num[i]<<" ";
    }
    return 0;
}

C题

技术图片

基本思路

当双端队列q[0]为最大值时会陷入循环,因此,需要递推的步数不超过\(10^5\),后面可以用模数组下标来选择输出的第二个数。(记得先pop_front再模n-1)

#include<bits/stdc++.h>
#include<deque>
using namespace std;
struct{
    int a,b;
}qu[100010];
int main()
{
    deque<int>q;int n,query,maxn=-99999;
    cin>>n>>query;
    for(int i=0;i<n;i++)
    {
        int num;cin>>num;
        q.push_back(num);
        maxn=max(maxn,num);
    }
    long long cnt=0;
    while(q.front()!=maxn)
    {
        cnt++;
        int n1=q.front();
        q.pop_front();int n2=q.front();q.pop_front();

        q.push_front(max(n1,n2));
        q.push_back(min(n1,n2));
        qu[cnt].a=n1;qu[cnt].b=n2;
    }
    q.pop_front();
    for(int i=0;i<query;i++)
    {
        long long m;
        cin>>m;
        if(m<=cnt)
        {
            cout<<qu[m].a<<" "<<qu[m].b<<endl;
        }
        else
        {
            int pos=(m-cnt-1)%(n-1);
            cout<<maxn<<" "<<q[pos]<<endl;
        }
    }
    return 0;
}

Codeforces-Round#569 Div.2

标签:顺序   space   inline   str   lin   选择   输出   namespace   循环   

原文地址:https://www.cnblogs.com/tldr/p/11080393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!