- 注册时间
- 2009-5-22
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 38639
- 在线时间
- 小时
|
楼主 |
发表于 2025-5-7 22:08:39
|
显示全部楼层
我把算法的时间复杂度从O(n^2*a(1)*a(2)*a(3)*...*a(n))优化到了O(n^3*(a(n))^2),5分钟内可以计算到n=40了,计算结果如下:- n=1: 1/1 1/1
- n=2: 3/1 2/1
- n=3: 17/3 10/3
- n=4: 52/5 23/5
- n=5: 584/35 221/35
- n=6: 4551/175 1399/175
- n=7: 257209/6825 70391/6825
- n=8: 51406/945 11909/945
- n=9: 212709683/2825550 44415367/2825550
- n=10: 728940322/7063875 132852428/7063875
- n=11: 5117548883/37337625 856471117/37337625
- n=12: 2222945430196/12284078625 332142923804/12284078625
- n=13: 490632977826497/2100577444875 68120622510253/2100577444875
- n=14: 21998350539283556/73520210570625 2777960423017069/73520210570625
- n=15: 2296107383073711196/6102177477361875 272909334895638179/6102177477361875
- n=16: 290520046357430087803/616319925213549375 31815274529256235322/616319925213549375
- n=17: 6103596064267122336536/10477438728630339375 633397038242185881589/10477438728630339375
- n=18: 14929504078861643171129977/20829148192517114677500 1442206400456808965385023/20829148192517114677500
- n=19: 43415464184153190032839571/49808832634280056837500 4002544483681424076460429/49808832634280056837500
- n=20: 236031119468503918223624347303/223392614364746054916187500 20423601822224552820158902697/223392614364746054916187500
- n=21: 21256845211757224282871051648201/16754446077355954118714062500 1763763698529856676242070226799/16754446077355954118714062500
- n=22: 1110541444499564853758512037490721/731610812044543329850514062500 87105454817352577206779482821779/731610812044543329850514062500
- n=23: 22727604410957158190544658891335788/12620286507768372439921367578125 1717890554590179225583030107492337/12620286507768372439921367578125
- n=24: 16494779463405317855691002177784775802/7740824824355746259286315186328125 1185264435423206600518941707788661698/7740824824355746259286315186328125
- n=25: 251384091734948395825540258138639547536097/100390757147069673236684221651489453125 17462355904904189102300087444049207932653/100390757147069673236684221651489453125
- n=26: 132559548819721440847197176892654528823124611/45175840716181352956507899743170253906250 8795656781210012553716041403725195649531639/45175840716181352956507899743170253906250
- n=27: 89446692313054893942128781731202103295485905397/26176172849261652513085148765471221406250000 5756048339709736247961904328816728959045344603/26176172849261652513085148765471221406250000
- n=28: 68170986846894523537664432741238866529914202047/17171603400709406285585661176504509218750000 4207321487095623956079129117727639827117047953/17171603400709406285585661176504509218750000
- n=29: 28529200787855307217060439385321473935156373891873231/6218585336672234180157003869439877848101718750000 1711779704381767601043070431764652040162284389376769/6218585336672234180157003869439877848101718750000
- n=30: 18863275335068693505352051650582669616619970798444667481/3566802875248431461904338647971587080018342968750000 1089419949071032092540818746170388509002639768742832519/3566802875248431461904338647971587080018342968750000
- n=31: 41047382987962403353815927697728465591974528014515751807531/6766225054346274483232530415202100690794796611718750000 2310587160288523534738127202886595634638528673377998192469/6766225054346274483232530415202100690794796611718750000
- n=32: 7158930601159403479434742350280250176886096242512653251983433/1030721616612082479612422133249120005231074017185156250000 389043797290876518767024931503055621421058785334245966766567/1030721616612082479612422133249120005231074017185156250000
- n=33: 49707420278993431960511516797252738526012782384877961446821869827/6277094645167582300839650791487140831857240764657601562500000 2637271967059036846190331152958528870844748351601777982865630173/6277094645167582300839650791487140831857240764657601562500000
- n=34: 13745193383469859596432141817181124059992015005831264123287971365553/1525333998775722499104035142331375222141309505811797179687500000 705820920931335360079487121266324794574751252229702357071403634447/1525333998775722499104035142331375222141309505811797179687500000
- n=35: 19523375722375785117840911510721398671517626221194232806562918237944159/1911243500465980291377356033341213153343060810782181866148437500000 980444550623251448055364014963136037546730156877014253477519262055841/1911243500465980291377356033341213153343060810782181866148437500000
- n=36: 215763911082080182456869977293581895134888067147486082346560528332520279177/18663292782050297545299881665576946442394988817288005922939492187500000 10509850607497624982345788019873003532708777273313701463157874948729720823/18663292782050297545299881665576946442394988817288005922939492187500000
- n=37: 374059475431186119094548477307112355733440007008636629230184243018820493694161/28685481006011307327125918119991766681961097812171665103557999492187500000 17841566072940361608645816048215160675512511301252659414625146043445131305839/28685481006011307327125918119991766681961097812171665103557999492187500000
- n=38: 90407116368653326355190034763154597471051742701598661952359015496276270401/6156715036492006304014041964772463381756822956437041409416117187500000 4190810167046350505985720025574302389641842024056479303319625089661229599/6156715036492006304014041964772463381756822956437041409416117187500000
- n=39: 1117951471927395315481540220173118681772626738417219804712681014819078099822041478/67821398624297421538039017633409164827877061819406470885178139998778076171875 50814690565122149883486170703421455706178667916611908051593871779864486847880397/67821398624297421538039017633409164827877061819406470885178139998778076171875
- n=40: 17108880644919007067759092328506112196045306461660862226661873072805649935973882616629/925888379343236081951579284039214551448822078708631015493985046140559843750000000 757061522888076369578581536314571788711164369100881848310062377522592809026117383371/925888379343236081951579284039214551448822078708631015493985046140559843750000000
复制代码 我的优化方法是先把E(∑(...))写成∑(E(...)),然后把E(X)写成pr(X≥1)+pr(X≥2)+pr(X≥3)+...+pr(X≥a(i)),其中X是样本值为{1,2,3,...,a(i)}的随机变量
然后分别计算pr(X≥1)、pr(X≥2)、……、pr(X≥a(i)),得出左边数起的第i对牌,双方从中获得的价值的期望值
最后对i=1,2,...,n时的上述期望值进行求和,得出总价值的期望值
即使这样,离n=500的目标还差了很远,而且上面的分数我找不出什么规律
接下来还能怎么优化呢? |
|