| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2009 人关注过本帖, 1 人收藏
标题:求助,不知道哪里有问题,按理说是对的,但测试数据太大,没法试。。。
只看楼主 加入收藏
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
回复 10楼 beyondyf
疾风是我室友,那个偶素数就是我用他的号发的。嘿嘿。可是我不懂为什么我的代码会错误,我虽然没有一个一个加起来,但是我调试过是每次加k个,但是最后结果就是错了,很郁闷
2011-08-01 09:02
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
回复 10楼 beyondyf
我是sunny lover
2011-08-01 09:03
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 qazujm1212
sunny lover,幸会。我也是因为在这里遇见你的室友才去你们学校OJ玩的。你们的题目很多的描述太模糊,而且很多都偏重于大数运算。部分题目有问题,你们的管理员前些天刚删了一些。不过由于刚建成吧,题量较少,我打算抽时间把你们学校所有的题目全做一遍。
目前你排名第6。解题57道。等着我哦!呵呵

重剑无锋,大巧不工
2011-08-01 09:21
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
回复 10楼 beyondyf
这个最大值是怎么求的啊?先从小道大排序,然后第0个*1,第1个*2.。。。。。

int Max(int *a, int n)
{
    int sum = 0, i;
    for(i = 0; i < n; i++)
        sum += a[i] * (i + 1);
    sum -= a[n - 1];//以上三行不太懂
    return sum;
}
2011-08-01 11:24
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,代码你已经看懂了,只是不明白为什么可以这样做是吧。
这需要做一点简单的数学论证。
证明并不复杂,但也不是一两句话能说清楚的。举个例子吧。
假设要合并4堆。每堆为a1, a2, a3, a4(下标从1开始)已经按递增序列排好。
那么合并顺序为
a4 + a3 = s1
s1 + a2 = a4 + a3 + a2 = s2
s2 + a1 = a4 + a3 + a2 + a1 = s3
合并结果为
s1 + s2 + s3 =
a4 + a3 +
a4 + a3 + a2 +
a4 + a3 + a2 + a1
=
a1 * 1 + a2 * 2 + a3 * 3 + a4 * 4 - a4

最大值的计算就是基于以上的推论。
最小值也是基于类似的推论。这里都要分析极值与每次合并数及合并次数的关系。
有兴趣的话我可以展开证明一下(不过这里大多数人对证明没什么兴趣)。

重剑无锋,大巧不工
2011-08-01 12:35
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
关于偶素数那道题我在回贴中已经分析过了,只需要做两个素数判断就可以。是不是有什么没说清楚的地方?

重剑无锋,大巧不工
2011-08-01 12:44
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
我算出最小值了,但是最大值比你的那个数大。
2011-08-01 13:00
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 17楼 hjywyj
那你一定算错了

重剑无锋,大巧不工
2011-08-01 13:01
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
回复 17楼 hjywyj
我是最大值对着呢,就最小值不对
2011-08-01 14:19
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
回复 16楼 beyondyf
谢谢了,偶素数那个题已经懂了,能麻烦你把求最小值的思路告诉我吗?我开始写的思路是对,但是结果不对。你给我的程序算法有点看不懂。证明也行,最大值的证明我已经知道了。谢谢了
2011-08-01 14:21
快速回复:求助,不知道哪里有问题,按理说是对的,但测试数据太大,没法试。。。 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045614 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved