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

    Codeforces Round #335 (Div. 2)

    A. Magic Spheres

    题意:三种颜色的球,其中任意两个相同颜色的球能换成其他颜色的球。问,给出各个颜色的球的,能不能满足最后要求的相应颜色球的数量;

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll a,b,c;
    ll x,y,z;
    int main()
    {
        while(~scanf("%I64d%I64d%I64d",&a,&b,&c))
        {
            scanf("%I64d%I64d%I64d",&x,&y,&z);
            ll ans=0;
            ll sum=0;
            if(a-x>=0)
                ans+=(a-x)/2;
            else
                sum+=x-a;
            if(b-y>=0)
                ans+=(b-y)/2;
            else
                sum+=y-b;
            if(c-z>=0)
                ans+=(c-z)/2;
            else
                sum+=z-c;
            if(ans-sum >=0 )
                printf("Yes
    ");
            else
                printf("No
    ");
        }
        return 0;
    }
    

    C. Sorting Railway Cars

    题意:一列带编号的cars,每次可以把一个编号的车移到最前面或者最后面,求让这列cars以升序的方式排列,最小的移动方案。

    这个和原来写的一道BC的题差不多,不过那个是只能放在末尾,直接让t=1 从开始一直搜下去,输出n-t就行了。这道题可以两边放,那样写明显就不对了。试了几组样例之后发现:不管是往前放还是往后放都是为了尽快的达到升序,而有些本来就是连续升序的cars就不用移动了,相对位置本身就是平衡的,所以只需要找出 最长连续上升子序列 的长度就行了(这里的 '连续' 是指 a[i]=a[i-1]+1),并且n^2是过不了的(dp方法没法写,n*logn的方法是 循环+二分搜索 ),不过这里有O(n)的方法。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int t;
    int a[100010];
    int num[100010];
    int main()
    {
        while(~scanf("%d",&t))
        {
            for(int i=1; i<=t; i++)
            {
                scanf("%d",&a[i]);
                num[a[i]]=i;
            }
            int ans=1;
            int sum=1;
            for(int i=2; i<=t; i++)
            {
                if(num[i]-num[i-1]>0)
                    sum++;
                else
                {
                    sum=1;
    
                }
                ans=max(ans,sum);
                //cout <<ans <<endl;
            }
            cout << t-ans <<endl;
        }
        return 0;
    }
  • 相关阅读:
    【原理】【重点】异步回调的一些实现策略
    上下文传递
    洋码头全异步服务框架
    秒杀系统架构优化思路
    从urllib2的内存泄露看python的GC python引用计数 对象的引用数 循环引用
    jvisualvm All-in-One Java Troubleshooting Tool
    小心踩雷,一次Java内存泄漏排查实战
    django 请求处理流程 链路追踪
    存储过程
    Dijkstra's algorithm
  • 原文地址:https://www.cnblogs.com/zzulipomelo/p/5034841.html
Copyright © 2011-2022 走看看