zoukankan      html  css  js  c++  java
  • 2021年1月30日个人赛补题报告

    C题:

    这个题的数据开到了10^18,很明显不能暴力。正确的做法是从1到n进行二分查找,对于每一个查找的值进行暴力模拟。之前只是单纯的写过二分算法,但并没有在实际做题中应用过。

    代码如下:

    #include<iostream>

    #include<algorithm>

    #include<map>

    #include<set>

    #include<stack>

    using namespace std;

    #define ll long long

    ll n;

    ll f(ll x)

    {

        ll i,j,k;

        ll tem=n;

        ll sum=0;

        while(tem>0)

        {

            if(tem<x)

            {

                sum+=tem;

                tem-=tem;

            }

            else

            {

                tem-=x;

                sum+=x;

            }

            if(tem>=10)

            {

                ll chi=tem/10;

                tem-=chi;

            }

        }

        return sum;

    }

    int main()

    {

        ll i,j,k;

        cin>>n;

        ll l,r;

        l=1;

        r=n;

        ll mid=(l+r)/2;

        ll p;

        if(n&1)

        {

            p=(n+1)/2;

        }

        else

        {

            p=n/2;

        }

        while(l<r)

        {

            mid=(l+r)/2;

          if(f(mid)>=(n+1)/2)

          {

              r=mid;

          }

          else

          {

              l=mid+1;

          }

        }

        cout<<r<<endl;

        return 0;

    }

    D题:

  • 相关阅读:
    c# 微信开发 《生成带参数的关注二维码》
    c# 微信开发 《获取用户的信息》
    c# 微信开发 《保存图片生成素材ID》
    c# 微信开发 《主动发送内容》
    c# 微信开发 《内容回复或事件触发》
    c# 微信开发 《生成菜单》
    记一些有趣的事
    该如何看待工作?
    学习PPT
    工作需要的软素质
  • 原文地址:https://www.cnblogs.com/chengxvzhishen/p/14366501.html
Copyright © 2011-2022 走看看