Codeforces Round #433

Posted ghostfly233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #433相关的知识,希望对你有一定的参考价值。

我会4题,写了两题,还提交错误n次,掉了40rating(哭丧脸),又被学长D飞了。

学长:我很心疼你的成绩啊;

我:第四题忘记加特判了。。。

学长:暴力还能写挂。

我:。。。。。。

———————————————————我是分割线———————————————————

T1:给定一个n,求一个分数a/b(满足a+b=n)且gcd(a,b)=1,使这个分数<1且最大。。

我:。。。。

#include<cstdio>
#include<cmath>
using namespace std;
int gcd(int x,int y){return y==0?x:gcd(y,x%y);}
int n;
int main(){
    scanf("%d",&n);
    for(int i=(n-1)/2;i>=1;i--){
        if(gcd(i,n-i)==1){printf("%d %d\n",i,n-i);break;}
    }
}

———————————————————我是分割线———————————————————

T2:一共有n个点,其中k个点已经有人居住,求旁边有人居住的空置的点至少有几个,最多有几个。

我:。。。。。。(如果n==k||k==0输出0 0,否则输出1和j(k*3<=n?j=n-k:j=k*2))

我:假题。

#include<cstdio>
using namespace std;
long long n,k;
int main(){
    scanf("%I64d%I64d",&n,&k);
    if(n==k||k==0)puts("0 0");
    else {
        printf("1 ");
        if(k*3<=n)printf("%I64d",k*2);
        else printf("%I64d",n-k);
    }
}

———————————————————我是分割线———————————————————

T3:有n个航班, 第i个航班原始是从第i秒起飞的。不过由于延误,前k秒不能起飞飞机,要求你让每一个航班在k+1~k+n秒中选一个时间起飞(不能重复),而且每一个航班延误1秒花费的代价为ci,要你求最小的代价。

我:。。题目正常了。

感觉尽量让ci越大的航班延误时间越小越好。所以。。大胆猜想!不用证明!

我们把ci按照时间顺序扔进大根堆里中,然后统计答案就好了。

然后我想到了,考场上没来得及写啊(抓狂~~~)

 

#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
int g[300005],n,k,c[300005];
typedef pair<int,int> ii;
int main(){
    int n,k;
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++)scanf("%d",&c[i]);
    priority_queue<ii>pq;k--;
    long long cost=0;
    for(int i=0;i<n||(!pq.empty());i++){
        if(i<n) pq.push(ii(c[i],i));

        if(i>k){
            ii re=pq.top();
            pq.pop();
            cost+=1LL*re.first*(i-re.second);
            g[re.second]=i+1;
        }
    }
    printf("%I64d\n",cost);
    for(int i=0;i<n;i++) printf("%d ",g[i]);
}

———————————————————我是分割线———————————————————

T4:

———————————————————我是分割线———————————————————

以上是关于Codeforces Round #433的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #433

codeforces round #433 div2

Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D

Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) A

codeforces比赛题解#854 CF Round #433 (Div.2)

Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) C. Planning