ECUST 09年 校赛个人赛第六,七场总结

校赛个人赛第六,七场总结

这两场比赛体现了英文水平的重要性

第六场的题目超长,用词还诡异,话了很长时间才看懂

这两场题目都比较有难度,第六场我只出了2题

A Grey Area

A题是很诡异的统计,是一道纯模拟就能过的题,其他的不多说了

代码:

#include<iostream>
using namespace std;
int pe[20];
int main()
{
    int n,w;
    while(cin>>n>>w, n || w)
    {
        int value;
        int peNum = 0;
        int Max = 0;
        int valueMax = 0;
        memset(pe,0,sizeof(pe));
        while(n --)
        {
            scanf("%d",&value);
            while(value >= Max)
            {
                peNum ++;
                Max = peNum * w;
            }
            pe[value / w] ++;
            if(pe[value / w] > valueMax)
                valueMax = pe[value / w];
        }

        double output = 0.01;
        for(int i = 0 ; i < peNum ; i ++)
            output += ((double)pe[i] / (double)valueMax)
                * ((double)(peNum - i - 1) / (double)(peNum - 1));

        printf("%lf\n",output);
    }
    return 0;
}

B Expected Allowance

B题和A题类似,也是纯暴力

代码:

第七场

第七场很多题目都有想法,可是很多都没能写出来

同样B和E是水题,直接暴力能过,不过就是要有耐性

B要注意一下判断的优先级.

代码如下:

E Stock Exchange

我这题TLE一次,原因是很郁闷的忘了把freopen函数给注释掉 -_-!!

我的代码如下:

C题很烦,但是我觉得可以通过列出各种特殊情况出来死套。太烦了所以没写

D题我觉得可以通过DP+Hash来完成,按最长子序列的反向DP(不过我觉得等我想出来DP方案时间也到了,就没写)

F题我没什么思路

G题我认为可以DP,主要是算出三个子段的最小值,且三个子段的长度和为k-1,但是DP的话要写24种分支,我觉得这个方法并不好,所以也没写

以上各题希望大牛能分享思路,指点一二。

Last updated

Was this helpful?