回 帖 发 新 帖 刷新版面

主题:第51次编程比赛 第一轮评测结果

这是第一轮的测试结果。主要是筛选出较优的程序进行第二轮评测。
[color=FF0000]特别声明,最后排名.xls里的排名只是第一轮的排名,并不是最终的排名。[/color]
最终排名预计会在明天出来。

因为文件较大请从[url=http://upload.programfan.com/upfile/200703300707658.rar]这里[/url]下载。

有何异议请跟贴说明。

回复列表 (共47个回复)

21 楼

[quote]hehe 这个偶是知道滴~~~~~只是很费时~~不是超时啊~~~~~

根本就没接受~~只能是身高的数组类型不对吧
[/quote]
超过10秒就是超时-,-
不过详细原因偶就不清楚了-,-

22 楼

[quote]哎,最后没有输出\n,除了最后一个,其余结果全部算错。

但是题目没有说要"%d\n"或者cout<<n<<endl啊[/quote]

并不是没有换行的问题。实际上是您程序上的缺陷,如果用VC编译再手工去评测“表面上”是不会有问题的。G++也一样。

while(++i <= n)
    {
        if(stack.empty() || h[i] < stack.back().height) ------请注意这边
            stack.push_back(_elem(i, h[i]));
        else
        {
            while(!stack.empty() && (i==n || h[i]>=stack.back().height))
            {
                total += (i-stack.back().index-1);
                stack.pop_back();
            }
            if(i < n) stack.push_back(_elem(i, h[i]));
        }
    }

在那里有个小问题,呵呵,自己找找,我就不讲出来了。加了一条语句后,您的程序就可以得满分了!
因为程序效率的因素(其实是用了STL,动态开辟内存等),虽然程序可以得满分,但很遗憾,您程序还是不能进入第二轮评测。

这是新的评测结果。(没法发图片,请将就着看吧-,-)

测试点    使用内存    运行时间    结果    得分
1    504 KB    296 MS    Accept    10
2    504 KB    312 MS    Accept    10
3    500 KB    265 MS    Accept    10
4    940 KB    203 MS    Accept    10
5    1328 KB    218 MS    Accept    10
6    516 KB    281 MS    Accept    10
7    640 KB    156 MS    Accept    10
8    940 KB    328 MS    Accept    10
9    940 KB    296 MS    Accept    10
10    504 KB    234 MS    Accept    10

23 楼

[quote][quote][quote][quote]

这个没有关系的,数据类型不符合的在测试的时候已经帮你改过了,int会改成long,不符合规范输入输出的会看情况替你修改的[/quote]

貌似偶的没有改~~~~
[em18][em18][/quote]
你的代码遇到逆序数据就超时很严重[/quote]
hehe 这个偶是知道滴~~~~~只是很费时~~不是超时啊~~~~~

根本就没接受~~只能是身高的数组类型不对吧


[/quote]

不好意思,忘了说明了,每个数据点,程序运行的时间最长只能为10秒,否则就当超时处理。
53个程序,10个数据点。我这边能承受的最大限度就是1个数据点10秒了。如果超过10秒再得出结果也就没太大意义了。

24 楼

呵呵谢谢啊~~
偶的程序有5个Wrong Answer~~
5 个ACCEPT

也就是说这个评测系统在超时很多的情况下,会按Wrong Answer处理是吗??[em18][em18]

25 楼

不会当Wrong Answer处理,应该是你结果不对。

26 楼

[quote][quote]楼主辛苦了!请问你用的是哪个测评系统?
我原来下载一个cena,竟然不会用,有哪位朋友用过cena的,请告知一下方法,谢谢![/quote]

呵呵,我用的不是cena(其实这个也蛮好用的,以前有几个省的NOIP好像就是用它测的)。
我是借用学长写的内核judge(评测时间和内存等),再自己写了个小网站,用这个来评测的。[/quote]

renew应该是fzu的吧

27 楼

楼主非常负责任
顶!!!!!

28 楼

用cena测,我的程序是无输出,其它有的是什么超时,崩溃的,没有看到一个有分数的~cena到底怎么测的哦?

29 楼

楼主辛苦了!

30 楼

[quote][quote]综合大家的成果改进了一下,应该是最快得了^^

long CountShort(long n, long *height)
{
    long cnt[50001]={0}, i, j;
    long sum = 0;
    //cnt[i]储存i与右边不矮于他的第一个j的序号差(j-i)
    for(cnt[n-1] = 1, i = n-2; i >= 0; i--)
    {
        for(j = i+1; j < n && height[i] > height[j]; j += cnt[j]);
        cnt[i] = j-i;
        sum += cnt[i]-1;
    }
    return sum;
}[/quote]

long cnt[50001]={0};光是这步初始化就慢了-,-[/quote]


这个慢不慢到是无所谓,关键是long cnt[50001]占用了50001 * sizeof(long),
至少200k的栈空间,受得了么

我来回复

您尚未登录,请登录后再回复。点此登录或注册