FT.K的个人主页 The ACdreamer

2020牛客暑期多校训练营(第五场) 题解

2020-07-26


牛客多校,第五场。(打破队形


若有公式图片无法正常显示,请使用梯子访问!

##

  • 题意:

  • 思路:





F - DPS

  • 题意:
    给定n个数,根据公式,构造答案。即为用当前数除以n个数中的最小数即为构造长度。

  • 思路:

这里题用库函数ceill() WA到神志不清。。
简单模拟即可,注意精度问题,并且需要向上取整。


ll s[105];
 
int main()
{
    IOS;
    ll n;
    cin >> n;
    ll maxn = -1;
    for (ll i = 0; i < n; i++)
    {
        cin >> s[i];
        maxn = max(maxn, s[i]);
    }
    for (ll i = 0; i < n; i++)
    {
        ll tt = s[i]*50/maxn;//这里用库函数WA了。。
        if (s[i]*50%maxn){
            tt++;
        }
        cout << "+";
        for (ll j = 0; j < tt; j++)
            cout << "-";
        cout << "+" << endl;
        cout << "|";
        if (s[i] == maxn)
        {
            for (ll j = 0; j < tt - 1; j++)
                cout << " ";
            cout << "*";
        }
        else
        {
            for (ll j = 0; j < tt; j++)
                cout << " ";
        }
        cout << "|";
        cout << s[i] << endl;
        cout << "+";
        for (ll j = 0; j < tt; j++)
            cout << "-";
        cout << "+" << endl;
    }
    return 0;
}


I - Hard Math Problem

  • 题意:
    在一个无限大的二维图表中放置G、H、E三种建筑,要求H旁边必须相邻G、E,且G、E不相邻。求H在这个无限图表中的占比。

  • 思路:
    构造每隔两条斜线出间隔放置G、E,中间补H即可保证最大,观察可得占比为2/3.如下所示:
    GHHGHHGHHGHHG
    HHEHHEHHEHHEH
    HGHHGHHGHHGHH
    EHHEHHEHHEHHE


int main()
{
    IOS;
	cout<<0.666667<<endl;
	return 0;
}



Similar Posts

Content