zoukankan      html  css  js  c++  java
  • Codeforces_820

    A.直接模拟。

    #include<bits/stdc++.h>
    using namespace std;
    
    int c,v0,v1,a,l;
    
    int main()
    {
        ios::sync_with_stdio(0);
        cin >> c >> v0 >> v1 >> a >> l;
        int ans = 0,now = l,v = v0-a;
        while(1)
        {
            ans++;
            now -= l;
            v += a;
            if(v > v1)  v = v1;
            now += v;
            if(now >= c)    break;
        }
        cout << ans << endl;
        return 0;
    }
    View Code

    B.相等弧长对应的圆周角相等。圆周角是对应圆心角的一半。

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,a;
    
    int main()
    {
        ios::sync_with_stdio(0);
        cin >> n >> a;
        double t = 180.0/n;
        int ans;
        double minn = 360;
        for(int i = 1;i <= n-2;i++)
        {
            if(abs(i*t-a) < minn)
            {
                ans = i+2;
                minn = abs(i*t-a);
            }
        }
        cout << "2 1 " << ans << endl;
        return 0;
    }
    View Code

    D.统计数值大于等于位置的个数和数值小于位置的个数,以及每个偏差值的个数,每次向右移动的时候,可以O(1)更新答案,注意每次更新三个计数。

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,a[1000005],cnt[1000005];
    
    int main()
    {
        ios::sync_with_stdio(0);
        cin >> n;
        for(int i = 1;i <= n;i++)   cin >> a[i];
        long long sum = 0,cntl = 0,cntr = 0;
        for(int i = 1;i <= n;i++)
        {
            sum += abs(a[i]-i);
            if(a[i] >= i)
            {
                cntl++;
                cnt[a[i]-i]++;
            }
            else    cntr++;
        }
        long long ans = sum;
        int num = 0;
        for(int i = 1;i < n;i++)
        {
            cntl -= cnt[i-1];
            cntr += cnt[i-1];
            sum = sum-cntl+cntr-abs(a[n-i+1]-n-1)+abs(a[n-i+1]-1);
            if(a[n-i+1]+i-1 < n)    cnt[a[n-i+1]+i-1]++;
            cntl++;
            cntr--;
            if(sum < ans)
            {
                ans = sum;
                num = i;
            }
        }
        cout << ans << " " << num << endl;
        return 0;
    }
    View Code
  • 相关阅读:
    魅族Java面经
    笔试常考的Java基础
    笔试常考的Linux命令大全
    Spring概念
    Java三大框架的配置
    Myeclipse的使用
    项目经验
    Android四大组件及activity的四大启动模式
    java基础
    IT在线笔试总结(二)
  • 原文地址:https://www.cnblogs.com/zhurb/p/7231558.html
Copyright © 2011-2022 走看看