zoukankan      html  css  js  c++  java
  • Codeforces Round 542 (Div. 2)


    layout: post
    title: Codeforces Round 542 (Div. 2)
    author: "luowentaoaa"
    catalog: true
    tags:
    mathjax: true
    - codeforces
    - 并查集

    传送门

    前三题太简单不写

    D.Toy Train (贪心)

    题意

    有n个车站,按照环前进,有m条要求从x送到y,每次从x最多能拿一个糖,输出在第i个车站出发最少需要多少时间完成所有要求 (注意车的容量无穷)

    思路

    所以我们直接枚举每个点就行了啊。。。找到一个花费最多的点 把他送完答案就出来了 当然在送他的时候顺便把其它的都送了所以贪心的策略就是最后送少的。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const ll mod=1e9+7;
    const int maxn=5e4+50;
    const ll inf=0x3f3f3f3f3f3f3f3fLL;
    ll num[maxn],len[maxn];
    int main()
    {
        std::ios::sync_with_stdio(false);
        std::cin.tie(0);
        std::cout.tie(0);
        ll n,m;
        cin>>n>>m;
        fill(len,len+maxn,inf);
        while(m--){
            ll a,b;
            cin>>a>>b;
            num[a]++;
            if(a<b)len[a]=min(len[a],b-a);
            else len[a]=min(len[a],n-a+b);
        }
        for(int i=1;i<=n;i++){
            if(num[i]==0)len[i]=0;
        }
        for(int i=1;i<=n;i++){
            ll ans=0;
            for(int j=1;j<=n;j++){
                ll dis=(j>=i)?j-i:n-i+j;
                dis+=(num[j]-1ll)*n+len[j];
                ans=max(ans,dis);
            }
            cout<<ans<<" ";
        }
        return 0;
    }
    

    E.Wrong Answer

    题意

    构造题,这里有一段代码:它只会记录和为非负数的一段数乘以其区间长度的最大值,但我们现在要求的是sum{ai}*(r-l+1),l<=i<=r,很明显这段代码是有错误的。

    然后会输入一个k,你构造一组数据,使得正解和这段代码给出的答案相差k。最后输出你给出的数据。

    思路

    假设前面1998个a[i]的值为0,倒二的值为-p,最后一个的值为d+p;然后正解的答案是2000*d
    题目的答案的d+p 相差为2000d-(d+p)=K;
    1999d=k+p;
    d=(k+p)/1999
    令d=1999-k%19;

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn=1e5+50;
    
    int main()
    {
        int k;
        cin>>k;
        int p=1999-k%1999;;
        cout<<2000<<endl;
        for(int i=1;i<=1998;i++)cout<<0<<" ";
        cout<<-p<<" "<<((k+p)/1999+p)<<endl;
        return 0;
    }
    
    
  • 相关阅读:
    什么是TCP, UDP, HTTP, HTTPS协议?
    Django 自定义分页器
    PHP7.3安装event扩展
    深入浅出 PHP SPL(PHP 标准库)(转)
    Centos7安装redis5.0.7
    useradd命令详解(转)
    centos7.5下安装rabbitmq服务端以及php扩展
    php-fpm启动,重启,退出
    深度好文:PHP写时拷贝与垃圾回收机制(转)
    非对称加密openssl协议在php7实践
  • 原文地址:https://www.cnblogs.com/luowentao/p/10434582.html
Copyright © 2011-2022 走看看