CS1102 Lab2a, Qn3, Qn4-答重生
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 18 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:duck (等级:7 - 出类拔萃,发帖:6205) 发表:2003-02-12 01:56:59  楼主  关注此帖评分:
CS1102 Lab2a, Qn3, Qn4-答重生
Paint Disk 那道题非常简单。
给 m 种color, N个sectors,有多少种paint的方法

paint 第一个sector有 m 种可能性,paint 第二个sector有 m-1 种可能性,一直到 第 n 个sector. 这时会有重复的可能,即第一个和最后一个sector是同一种颜色,把这些情况减去即可。

第一个和最后一个sector重复的情况有多少种呢?如果把第一个sector和最后一个sector看成是一个sector,那么每种重复的情况,恰好是 m 种color, N-1 个 sector的情况。所以recursion 就是

PD(m, n) = m*(m-1)^(n-1) - PD(m, n-1)

基本情况有若干种,请自己去分析好了,不再多说。

最后一道题目非常难,题目的意思是,24=2*12=3*8=4*6=2*2*6=...
{2, 12}是24的一个set,{3,8}也是24的一个set,{2,12}和{12, 2}算同一个set,{24}也是{24}的一个set。24有7个这样的set。要你算出若干数的set的个数,并且把最大的那个数以及它的set数找出来。
这道题很难。必须用Dynamic Programming才能做出来并且不超时。我用recursion做出来,3个accept,7个超时。想想给的数可能是1000,000,如果recursion做,它的用时该多少啊?
就算用Dynamic Programming 也很难想出algorithm。请参考以下一段code

int results[] = new int [max+1];
results[1] = 1;
for (int i=2; i<=max; i++) {
for (int j=1; j<=max/i; j++) {
results[i*j] += results[j];
}
//建议这里加一段code把results print出来看看比较直观
}
*签名档字数限制在200以内。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:Climbing (等级:5 - 略有小成,发帖:2368) 发表:2003-02-12 02:09:37  2楼
哈哈,我Forward我组的人这个post了
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:duck (等级:7 - 出类拔萃,发帖:6205) 发表:2003-02-12 11:23:22  3楼
哈哈,我Forward我组的人这个post了
太过分了吧!!!
你怎么可以这样?
让他们来这里看好了,可别以labTA的身份发给他们啊,不然别的组的人会complain的啊。

浆糊上又将掀起一番腥风血雨的争斗……
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:没落书童 (等级:2 - 初出茅庐,发帖:103) 发表:2003-02-12 12:37:16  4楼
太过分了吧!!!你怎么可以这样? 让他们来这里看好了,可别以labTA的身份发给他们啊,不然别的组的人会complain的啊。 浆糊上又将掀起一番腥风血雨的争斗……
~
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:花露水 (等级:2 - 初出茅庐,发帖:80) 发表:2003-02-12 14:36:49  5楼 评分:
solution to that "difficult question"
"最后一道题目非常难,题目的意思是,24=2*12=3*8=4*6=2*2*6=...
{2, 12}是24的一个set,{3,8}也是24的一个set,{2,12}和{12, 2}算同一个set,{24}也是{24}的一个set。24有7个这样的set。要你算出若干数的set的个数,并且把最大的那个数以及它的set数找出来。"

really?

Here is a possible way:

Firstly, use recursion to get the factoriazation of the number, say 24 = 2^3*3
N=p1^e1*p2^e2*p3^e3...*(pn^en)
p1^e1 means p1 tp the power of e1.

Then, use this formula:
number of different set=(e1+1)*(e2+1)*...(en+1)-1, here minus 1 is to remove {1, N} and {N, 1} duplication.

So surprise, a TA says such question is "very difficult". Do you think you are disappointing the students?

Shamed, shamed, shamed......

:D Kidding.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:花露水 (等级:2 - 初出茅庐,发帖:80) 发表:2003-02-12 14:38:29  6楼
solution to that "difficult question""最后一道题目非常难,题目的意思是,24=2*12=3*8=4*6=2*2*6=... {2, 12}是24的一个set,{3,8}也是24的一个set,{2,12}和{12, 2}算同一个set,{24}也是{24}的一个set。24有7个这样的set。要你算出若干数的set的个数,并且把最大的那个数以及它的set数找出来。" really? Here is a possible way: Firstly, use recursion to get the factoriazation of the number, say 24 = 2^3*3 N=p1^e1*p2^e2*p3^e3...*(pn^en) p1^e1 means p1 tp the power of e1. Then, use this formula: number of different set=(e1+1)*(e2+1)*...(en+1)-1, here minus 1 is to remove {1, N} and {N, 1} duplication. So surprise, a TA says such question is "very difficult". Do you think you are disappointing the students? Shamed, shamed, shamed...... :D Kidding.
btw
I use only 30 sec to think about this question. If anything wrong, i won't take any responsibility. Haha!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:花露水 (等级:2 - 初出茅庐,发帖:80) 发表:2003-02-12 14:42:38  7楼
solution to that "difficult question""最后一道题目非常难,题目的意思是,24=2*12=3*8=4*6=2*2*6=... {2, 12}是24的一个set,{3,8}也是24的一个set,{2,12}和{12, 2}算同一个set,{24}也是{24}的一个set。24有7个这样的set。要你算出若干数的set的个数,并且把最大的那个数以及它的set数找出来。" really? Here is a possible way: Firstly, use recursion to get the factoriazation of the number, say 24 = 2^3*3 N=p1^e1*p2^e2*p3^e3...*(pn^en) p1^e1 means p1 tp the power of e1. Then, use this formula: number of different set=(e1+1)*(e2+1)*...(en+1)-1, here minus 1 is to remove {1, N} and {N, 1} duplication. So surprise, a TA says such question is "very difficult". Do you think you are disappointing the students? Shamed, shamed, shamed...... :D Kidding.
aiya
it seems i misunderstood the question, the formula is corrent if only 2 elements in a set is required.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:Climbing (等级:5 - 略有小成,发帖:2368) 发表:2003-02-12 17:03:58  8楼
太过分了吧!!!你怎么可以这样? 让他们来这里看好了,可别以labTA的身份发给他们啊,不然别的组的人会complain的啊。 浆糊上又将掀起一番腥风血雨的争斗……
偶是forward这个LINK呀,你,不要激动嘛
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:Climbing (等级:5 - 略有小成,发帖:2368) 发表:2003-02-12 17:05:21  9楼
solution to that "difficult question""最后一道题目非常难,题目的意思是,24=2*12=3*8=4*6=2*2*6=... {2, 12}是24的一个set,{3,8}也是24的一个set,{2,12}和{12, 2}算同一个set,{24}也是{24}的一个set。24有7个这样的set。要你算出若干数的set的个数,并且把最大的那个数以及它的set数找出来。" really? Here is a possible way: Firstly, use recursion to get the factoriazation of the number, say 24 = 2^3*3 N=p1^e1*p2^e2*p3^e3...*(pn^en) p1^e1 means p1 tp the power of e1. Then, use this formula: number of different set=(e1+1)*(e2+1)*...(en+1)-1, here minus 1 is to remove {1, N} and {N, 1} duplication. So surprise, a TA says such question is "very difficult". Do you think you are disappointing the students? Shamed, shamed, shamed...... :D Kidding.
this way, most possibly, will get time out" error.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:mean (等级:2 - 初出茅庐,发帖:574) 发表:2003-02-12 18:25:19  10楼
太过分了吧!!!你怎么可以这样? 让他们来这里看好了,可别以labTA的身份发给他们啊,不然别的组的人会complain的啊。 浆糊上又将掀起一番腥风血雨的争斗……
争斗的后面

是一团乱七八糟的浆糊。。。。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:duck (等级:7 - 出类拔萃,发帖:6205) 发表:2003-02-12 20:08:31  11楼
aiyait seems i misunderstood the question, the formula is corrent if only 2 elements in a set is required.
If so, you are not able to get it
Even if to compute all set with only two elements, your algorithm is not able to get it.
24 = 2^3*3, by your formula, the number of sets are 4*2-1 = 7. In fact, it is {24}, {2, 12}, {3, 8}, {4, 6}, which is only 4.
:)

I am not going to pointing your mistake here. Anyway, read the question carefully.

I do not think this question is able to be solved by permutation and combination formula. Indeed, it is hard to solve it. In programming, we also consider complexity of an algorithm. Another bottleneck to this problem is that there may be about 1000,000 number to compute. Then how?
Think about it...
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:花露水 (等级:2 - 初出茅庐,发帖:80) 发表:2003-02-12 20:17:16  12楼
If so, you are not able to get itEven if to compute all set with only two elements, your algorithm is not able to get it. 24 = 2^3*3, by your formula, the number of sets are 4*2-1 = 7. In fact, it is {24}, {2, 12}, {3, 8}, {4, 6}, which is only 4. :) I am not going to pointing your mistake here. Anyway, read the question carefully. I do not think this question is able to be solved by permutation and combination formula. Indeed, it is hard to solve it. In programming, we also consider complexity of an algorithm. Another bottleneck to this problem is that there may be about 1000,000 number to compute. Then how? Think about it...
qie~~
Don't teach me like you are my TA. You are a TA, so am I. 没什么了不起,受不了你说话的态度,我闪了。

欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:我想我是海 (等级:2 - 初出茅庐,发帖:152) 发表:2003-02-12 20:21:14  13楼
哇,当TA好了不起呀!
duck and climbing 都是吧?好厉害呀?

你们是不是都拿的A+才可以当的?CAP有没有要求?两位高人想必都是过4.9的吧?崇拜ing~~
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:duck (等级:7 - 出类拔萃,发帖:6205) 发表:2003-02-12 21:58:17  14楼
我这个帖子申请置顶一周,到下周二放下去
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:我的牛逼 (等级:2 - 初出茅庐,发帖:36) 发表:2003-02-13 20:15:23  15楼
太神奇了!多谢了。不然还不知道要想多久
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:原著 (等级:2 - 初出茅庐,发帖:56) 发表:2003-02-14 22:59:58  16楼
有没有好的方法解决time问题?
我的code虽然通过了online jugdge,但我是直接针对online judge来设计的。但是不够efficient. 请老兄提示一下。多谢!^_^
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:duck (等级:7 - 出类拔萃,发帖:6205) 发表:2003-02-14 23:45:10  17楼
有没有好的方法解决time问题?我的code虽然通过了online jugdge,但我是直接针对online judge来设计的。但是不够efficient. 请老兄提示一下。多谢!^_^
迟些时候吧
等这个lab结束以后。我可以考虑把我的program贴出来。:D
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:原著 (等级:2 - 初出茅庐,发帖:56) 发表:2003-02-15 00:17:52  18楼
迟些时候吧等这个lab结束以后。我可以考虑把我的program贴出来。:D
好,谢谢!^_^
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 18 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码