ãã¿ã ãããç¶ã
ã³ã¡ã³ãæ°äžéã«ãªã£ãã®ã§æ°èŠã¹ã¬ããã«ã
ã¢ã€ããšã¯ã©ãããæå³ã§ä»°ã£ãŠããŸããïŒ
äžæºç¹ãå
·äœçã«ããŠããã ããªããã°äœãšããããããããŸãããã
æ¢ã«æžããéã, ããæå³åé¡ã¯è§£æ±ºããŠããããã§ãã
ã§, ç·åœããã§ã¯ãªãæ°ãæ¹ããšããæå³ã§ã¯,
DD++ããã®ãææã¯å€§å€åèã«ãªãã®ã§ã¯ïŒãšæãã€ã€ã
ããŸãã«ç
©éã§, æ¬æ¥ã®æå³ã§ã®ãç·åœãããã§ã¯ãªãã«ãã,
åå±€ã§ã¯ãç·åœãããããŠããæã匷ã... ãšãããšãããã¢ã€ããšãããªã®ããšèªå·±åæããŠããŸãã
ã§ãããã°ããå°ãç°¡æœã«ãªããªãããªããšã
åå±€ã§ã®ãå Žåãããã®å®ååãªã©... é£ãããšããããã¯è¡šçŸã倧å€ããã§ããã©...
ç
©éãªåå ã®å€§éšåã¯ãä»»æã®ã¹ã¿ãŒãããä»»æã®ãŽãŒã«ãžè¡ããã¿ãŒã³æ°ãn^2åå
šéšåºããšããåé¡èšå®ã«ãããŸãã
åŠçæ¹æ³ãå€ãããšããã§ãã®n^2åãšããåæ°ãæžãããã§ã¯ãªãã®ã§ããã®ç¹ã¯ãã¡ãã§ã¯ã©ããããããªãã§ãã
å¥è¡šçŸããšãããªãè¡åã®çޝä¹ãšããŠè¡šçŸãã§ãããšæããŸããã
ãã ããåºæå€ã¯nã®å€ããšã«åå¥ã«æ±ãããããªããªãã®ã§ãäžè¬åããã¯é ãããæ¹åã«ãªããŸããã©ã
åçŽãªè¡åã®çޝä¹ã§ã¯ç¡çã ãšæããŸããã©...
ããã¯å
ãè§, ãããã®æ¹ã«ã¯
https://github.com/shimizudan/20250427amida/blob/main/20250427AmidaCount.ipynb
ã§æŽã«é«éåãããããã°ã©ã ãèŒããŠäžãã£ãŠãæ¹ãããŠãšãŠããæ©ããã§ãã
ã©ããªã£ãŠãã®ãäžå¯žè©³ããã¯åãããŸããã...
8ç20暪æ£ã§ãäžç¬ã§çµæãåºãŠããŸããã
ã³ã¬ãªããããèšç®åŒãèŠãããããšæã£ãŠããŸãããã§ããã©
ç¢åŒµããã£ãšèŠæš¡ã倧ãããšç¡çã§ãããïŒäŸãã°30人ã®ãã¿ã ããã§äžäºº2æ¬ãã€æšªæ£å
¥ãããšãïŒãã
ã§ããã°äžè¬çãªèšç®åŒãæ§æã§ããã°æ¬²ãããªããš... ïŒçŽæ¥ã§ãªããŠæŒžååŒçãªãã®ã§ã... ïŒ
ãã¿ã ããã®çžŠç·ã®æ°ããããå€ããªã£ãŠã挞ååŒã§ãã®æã®æšªç·æ°kãæå®ããŠããã°ããã¿ã ã®ç·æ°ãç®åºã§ããæ¹æ³ãªã
ããææ®µã§å²ãšã¹ã ãŒãºã«æ§æã§ããŸãã
ãã¿ã ã®çžŠç·ã
å¶æ°æ¬ã®æ(nããã£ãšå€§ãããšã£ãŠãå¯èœã§ã,polchebyshev(2*n+2,2)ã¯ç¬¬ïŒãã§ãã·ã§ãå€é
åŒïŒ
for(n=1,9,print(2*n+2";"subst(polchebyshev(2*n+2,2),x,t/2)))
4;t^4 - 3*t^2 + 1
6;t^6 - 5*t^4 + 6*t^2 - 1
8;t^8 - 7*t^6 + 15*t^4 - 10*t^2 + 1
10;t^10 - 9*t^8 + 28*t^6 - 35*t^4 + 15*t^2 - 1
12;t^12 - 11*t^10 + 45*t^8 - 84*t^6 + 70*t^4 - 21*t^2 + 1
14;t^14 - 13*t^12 + 66*t^10 - 165*t^8 + 210*t^6 - 126*t^4 + 28*t^2 - 1
16;t^16 - 15*t^14 + 91*t^12 - 286*t^10 + 495*t^8 - 462*t^6 + 210*t^4 - 36*t^2 + 1
18;t^18 - 17*t^16 + 120*t^14 - 455*t^12 + 1001*t^10 - 1287*t^8 + 924*t^6 - 330*t^4 + 45*t^2 - 1
20;t^20 - 19*t^18 + 153*t^16 - 680*t^14 + 1820*t^12 - 3003*t^10 + 3003*t^8 - 1716*t^6 + 495*t^4 - 55*t^2 + 1
ããã§çžŠç·ã4æ¬ã®æã¯
t^4-3*t^2+1=X^2-3*X+1
ãšã¿ãŠ=0ãã
X^2=3*X-1 ã®åŒãšããŠããã®ææšªç·ãkæ¬ã§ããå Žåã®æ±ããç·æ°ãT4(k)ã§è¡šããã®åŒãã
T4(k)=3*T4(k-1)-T4(k-2)
ã®æŒžååŒãçã¿åºãã
䜿ãããã«ã¯T4(1)=3,T4(2)=8ãäžããã°è¯ãã
ãã瞊ç·ã20æ¬ãªã
T20(k)=19*T20(k-1)-153*T20(k-2)+680*T20(k-3)-1820*T20(k-4)+3003*T20(k-5)+1716*T20(k-6)-495*T20(k-7)+55*T20(k-8)-T20(k-9)
ã®æŒžååŒãš
T20(1)=19,T20(2)=208,T20(3)=1725,T20(4)=12051,T20(5)=74907,T20(6)=427924,T20(7)=2294248,T20(8)=11709940,T20(9)=57483052,T20(10)=273438880
ãäžããã°è¯ãã
ãŸã瞊ç·ã
奿°æ¬ã®æã¯
gp > for(n=1,9,print(2*n+3";"subst(polchebyshev(2*n+3,2),x,t/2)/t))ãã
5;t^4 - 4*t^2 + 3
7;t^6 - 6*t^4 + 10*t^2 - 4
9;t^8 - 8*t^6 + 21*t^4 - 20*t^2 + 5
11;t^10 - 10*t^8 + 36*t^6 - 56*t^4 + 35*t^2 - 6
13;t^12 - 12*t^10 + 55*t^8 - 120*t^6 + 126*t^4 - 56*t^2 + 7
15;t^14 - 14*t^12 + 78*t^10 - 220*t^8 + 330*t^6 - 252*t^4 + 84*t^2 - 8
17;t^16 - 16*t^14 + 105*t^12 - 364*t^10 + 715*t^8 - 792*t^6 + 462*t^4 - 120*t^2 + 9
19;t^18 - 18*t^16 + 136*t^14 - 560*t^12 + 1365*t^10 - 2002*t^8 + 1716*t^6 - 792*t^4 + 165*t^2 - 10
21;t^20 - 20*t^18 + 171*t^16 - 816*t^14 + 2380*t^12 - 4368*t^10 + 5005*t^8 - 3432*t^6 + 1287*t^4 - 220*t^2 + 11
ããããäŸãã°çžŠç·ã17æ¬ãªã
T17(k)=16*T17(k-1)-105*T17(k-2)+364*T17ïŒk-3)-715*T17(k-4)+792*T17(k-5)-462*T17(k-6)+120*T17(k-7)-9*T17(k-8) ãš
T17(1)=16,T17(2)=151,T17(3)=1100,T17(4)=6854,T17(5)=38480,T17(6)=200655,T17(7)=990756,T17(8)=4692780
ããæšªç·æ°kãããããå€ããŠ(åæå€ã®æ±ãæ¹ã¯DD++ããã®æ¹æ³ã§)
1;16
2;151
3;1100
4;6854
5;38480
6;200655
7;990756
8;4692780
9;21518464
10;96160636
11;420866416
12;1810911128
13;7683058880
14;32215438277
15;133749903324
16;550649378199
17;2250829575120
18;9143995148926
19;36950585233432
20;148629592843159
çã倿ããŠããã
8ç20暪æ£ã©ãããã30ç500暪æ£ã§ããç§ã®ã¢ã«ãŽãªãºã ã§1ç§ä»¥å
ã§ããã
ãã ãC++ã§2^63ãè¶
ããæ°ãæ±ãã®ã¯ããããé¢åã§ããããããªãã«ãæ°ãäœååãäžèЧåºåããéèŠã¯ãªããšæã£ãã®ã§ãªãŒããŒãããŒãžã®å¯Ÿå¿ããµãã£ãŠãã ãã§ã
æ±ãããã®ãæŠæ°ã§ãããã°ãã³ãŒãäžã®ãlong longããšæžãããŠãã8ç®æãå
šéšãdoubleãã«æžãæããã°ã10^308ããããŸã§ã¯ãã察å¿ã§ããŸããããã£ã¡ã®æ¹ãããã£ãã§ããïŒ
äžå¿ãdoubleãžã®æžãæããããäžã§ã®ã30ç500暪æ£å¯Ÿå¿ã®åºåã®ãæå3è¡ã
å
šéšèŠããæ¹ã¯ä»¥åæçš¿ããã³ãŒãã®ãlong longã8ãæãå
šéšãdoubleãã«æžãæããŠãpaiza.ioã§ã§ãå®è¡ããŠãã ããã
æšæºå
¥åã«ã30 500ããšå
¥ããŠå®è¡ããã°ãäžç¬ã§å
šéšåºããŠãããŸãã
30 500
1.91318e+304 7.03258e+303 3.68362e+303 2.25787e+303 1.51266e+303 1.07205e+303 7.89158e+302 5.9652e+302 4.59462e+302 3.58607e+302 2.82409e+302 2.23627e+302 1.77531e+302 1.40923e+302 1.11579e+302 8.79137e+301 6.87716e+301 5.32915e+301 4.08166e+301 3.08311e+301 2.29171e+301 1.67253e+301 1.19554e+301 8.34624e+300 5.66958e+300 3.72827e+300 2.35477e+300 1.40994e+300 7.81054e+299 3.79149e+299
7.03258e+303 1.09241e+304 5.87978e+303 3.69338e+303 2.52801e+303 1.82552e+303 1.36614e+303 1.04793e+303 8.17924e+302 6.46161e+302 5.14587e+302 4.11754e+302 3.30103e+302 2.64478e+302 2.11264e+302 1.67864e+302 1.32374e+302 1.03367e+302 7.97502e+301 6.06579e+301 4.53826e+301 3.33238e+301 2.39561e+301 1.68122e+301 1.14757e+301 7.57952e+300 4.80621e+300 2.88793e+300 1.60476e+300 7.81054e+299
3.68362e+303 5.87978e+303 7.71461e+303 5.02038e+303 3.53913e+303 2.61979e+303 2.00249e+303 1.56466e+303 1.24139e+303 9.95288e+302 8.03405e+302 6.5095e+302 5.28011e+302 4.27738e+302 3.45271e+302 2.7709e+302 2.20594e+302 1.73824e+302 1.35269e+302 1.03729e+302 7.82063e+301 5.78407e+301 4.18604e+301 2.95596e+301 2.02917e+301 1.34718e+301 8.58238e+300 5.17835e+300 2.88793e+300 1.40994e+300
以äžç¥ã
çŸåšããã°ã©ã ãåèã«ããã¹ãèšäºã«ã¯Python ãC#,C++ã®èšèªã§èšè¿°ãããŠãããã®ãå€ãèŠãŸãã
èªåããã®èšèªã䜿ããããããªãšæããªãããæªã ã«æã«ä»ããã«ããŸãã
æããPARIã¯ææµã§å©çšããŠããŸããããŸã ç¥ããªãäœ¿ãæ¹ãå€ãä»ã®èšèªãŸã§æã䌞ã°ãäœè£ããããŸããã
DD++ããã¯æ®ãã©é ãå©çšããèšäºã°ãããå€ãã£ãã®ã§ã³ã³ãã¥ãŒã¿ã¯äœ¿ãããªãã®ããšæã£ãŠããŸããã
å匷äžãšã¯èšããªãã応ã¡äœ¿ãããªãããŠããããšã«é©ããŸããããããã§ãã
ãšããã§moonlightãããäœæ°ã«30人ããããã2æ¬ãã€æšªç·ãå
¥ããã¿ã ãäœã£ãã
ã®èšäºãã¿ãŠïŒããã¯çžŠç·30æ¬ã暪ç·60æ¬ã®ãã¿ã ã«çžåœãšæããïŒèªåæµã«äœéãäœãããææŠããŠã¿ãŸããã
åæå€ãæ±ããéšåãããçšåºŠèªåã§æ±ãããæ§ã«ããã°ã©ã ããŠãã£ãŠã¿ããäœãšãã®ç·æ°ã
1117825327533934259640813539245597025957167431905980796627579879763114363719697371598ïŒéãïŒ
ãšãªã£ãŠããŸããŸããã
æãããŠãã®æ°åã¯åŠ¥åœã§ããããïŒ
ããã£ããDD++ããm=30,n=60ã§ç¢ºèªããŠããããŸãããïŒ
30ç60æ¬ã®ç·æ°ãšã30ç500暪æ£ã§ã1ç§ä»¥å
ãšãçŽ æŽãããã®ã§ããã©...
çã®å¯Ÿå¿è¡šã¯ã©ãã§ããããïŒ
ãã®è©±ã®çºç«¯ã¯ããã¿ã ããã®åããæ£ç¢ºã«æ°ãäžããããšããã«ããã®ã§,
ãã®èŸºãã®ãæ°åŠçã«æå¿«ãªèŠé ãããçŽåŸãããããšããã§ãã
ãŸãããã°ã©ã ã®ã¢ã«ãŽãªãºã ã®èŠé ã§ãè¯ãã®ã§ããã©ã
ããš, C++ãèµ°ãããæéããªãïŒãšããããã¯äœ¿ãæ°ããªã... ïŒã®ã§, å°æããŠããŸãã
ãããã®æ°åãæ£ãããšããŠã®è©±ãªã®ã§ãã
30人ãã©ã³ãã ã«2æ¬ãã€æšªç·ãåŒãæç¹ã§ãæ§é çã«ååã§ãããã®ãååã«çºçããã®ã§
ã©ã®ç·ãåŒãã人ãã©ã®å Žæã«èœã¡çããã¯ãã®æãã®æã§å
šéšç°ãªãçµæãçããšæãããŸãã
ã§ãããå
šå¡ãååãšã¯ãªããªãæ§ã«åŒãããšããŠïŒå¶ç¶ã§ã¯æ±ºããŠèµ·ãããªããïŒããããªè«å€§ãª
ãã¿ãŒã³ãèµ·ãããã®ã§ããããå
šéšèª¿ã¹ãæ°ãèµ·ãããªãã
äŸãã°çžŠã«3æ¬æšªã«2æ¬ãªãç°ãªãããã¯4éãåºæ¥ãŠ
[1,2,3]->[1,2,3];2éã
[1,2,3]->[2,3,1];ïŒéã
[1,2,3]->[3,1,2];1éã
ã®çµæãçããã
瞊ã«4æ¬æšªã«2æ¬ãªãç°ãªãããã¯8éãåºæ¥ãŠ
[1,2,3,4]->[1,2,3,4];3éã
[1,2,3,4]->[1,2,4,3];1éã
[1,2,3,4]->[1,3,4,2];1éã
[1,2,3,4]->[1,4,2,3];1éã
[1,2,3,4]->[2,3,1,4];1éã
[1,2,3,4]->[3,1,2,4];1éã
瞊ã«5æ¬æšªã«3æ¬ãªãç°ãªãããã¯40éãåºæ¥ãŠ[1,2,3,4,5]ã
12345; 2éã
12354; 3
12435; 6
12543; 2
13245; 6
13452; 1
13524; 1
14253; 1
14325; 2
15234; 1
21345; 5
21453; 1
21534; 1
23154; 1
23415; 1
24135; 1
31254; 1
31425; 1
32145; 2
41235; 1
ãã®æ§ã«èª¿ã¹ãŠã¿ããš1ã®äžã®1ãžèŸ¿ãçããã¿ãŒã³ãå§åçã«å€ãæããããã
ãã®æ§ãªååžãç¥ãããã®ã§ããã
ç§ã¯ãããŸã§ã¯æã§äžã€äžã€æã§æžããŠãã£ãŠèª¿ã¹ãŠããŸãã
ããã30人2ã€ãã€ã®æšªç·ã§æ§æãããå
šãã¿ãŒã³ã§ã®ååžãªã©ç§ã®æã«è² ãããã®ã§ã¯ãããŸããã
ãŸããããæ£ç¢ºã«åºãããšããŠããç§ã«ã¯1ã®ããã®çäžã«èŸ¿ãçãããšãæãèµ·ããæããæããããã°
ååãªæ°ãããŸãã
æã§èª¿ã¹ãçµç·¯ãèªååããã«ã¯ãšã¯æããŸããã©ãããã°ããã®ãã¯å
šãããããªãã§ãã
moonlightãããšåããã¿ã ããã§ã®èå³ã«éããããã®ã§ããã
> GAIãã
ãŸããã©ãèšç®ããã°äœæ¥éãæžããèããéšåã¯ãæ®éã®æ°åŠãšãªããå€ãããŸãããããã
èªåãããããšããŠãèšç®æé ãèšèªåããã ãã§è¡ããç¯å²ã¯ãããšããã§ããã
30 1 ã§ 29
30 2 ã§ 463
30 3 ã§ 5390
30 4 ã§ 51171
30 5 ã§ 420394
30 10 ã§ 4.55989e+09
30 20 ã§ 4.03578e+16
30 30 ã§ 1.06671e+23
30 40 ã§ 1.76862e+29
30 50 ã§ 2.34175e+35
30 60 ã§ 2.74243e+41 âãèŠæã®
30 70 ã§ 2.98696e+47
30 80 ã§ 3.10927e+53
30 90 ã§ 3.14275e+59
30 100 ã§ 3.11465e+65
60ã®å ŽåãGAIããã®1.117825e+84ãšã¯ã ãã¶çžéããããŸããã
ãã¡ãããç§ã®æ¹ãééã£ãŠãå¯èœæ§ããããŸãã
GAIããã®æ¹ã§ã¯ä»ã®æšªç·æ¬æ°ã§ã¯ã©ããªçµæã§ããïŒ
> moonlightãã
çã®å¯Ÿå¿è¡šãšã¯äœãæããŠãã£ããã£ãŠãŸãïŒ
moonlightããã2622çªã§æžããŠãã圢åŒãšã»ãŒåããã®ïŒåèšãå
ã«åºããåŸã«åºãããšãæ¬åŒ§ãªã©ã®è£
食ãéãã ãïŒãç§ãåºããŠããã®ã§ãããã©ã
ãããçã®å¯Ÿå¿è¡šã§ã¯ãªããšãã£ããããªãããŸãçã®å¯Ÿå¿è¡šãšããã®å®äŸãæç€ºããŠãã ããã
挞ååŒã®äœãæ¹ã2627ã§èª¬æããŠããŸãããçã®å¯Ÿå¿ãæ±ããæ¹æ³ãžã®å€æŽã2631ã§èª¬æããŠããŸãã
ããã®æçš¿ã®ãã®æç« ãããããªããããã£ãšè©³ããããšããªã察å¿ã®ãããããããŸããã説æãæçš¿æžã®ãã®ã«å¯ŸããŠããããã説æãæžãïŒããšã ãèšãç¶ããã®ã¯ããã ããªãã«è©±ãèãæ°ããªãã ããšããæããŸããã
ç§ã¯ããªãã®å
çã§ããªãã§ãããããªããã©ã®çšåºŠã®åŠåããç¥ããŸããã
å
·äœçãªäžæç¹ãèšããã«ãã åãã ãã®äººã«ãå¯ãæ·»ãåªåããã矩çããªããã°ããã®ææ®µãæã£ãŠããŸããã
C++ãèµ°ãããæ°ããªããšããã®ã¯ãç§ãæç€ºãããpaiza.ioãéããŠããã«ã³ãŒããæããããšãã誰ã§ã30ç§ã§ã§ããããšããããã€ããããªããšããããšã§ããïŒ
ãPythonããããªãAIã«èš³ããŠãããã°ããããšèšã£ãã®ããããã®ãé¢åã ããç¡èŠã£ãŠããšã§ãããã
æ¬äººã«ãããã®æéãããããæ°ããªãã®ã§ããã°ããã£ãšããªãã«ã¯èª°ãäœãã©ãã ã説æãããŠãç¡é§ãªãã§ããããã
æšªç·æ°60ãŸã§ã®å¯èœæ°äžèЧ
1;29
2;463
3;5390
4;51171
5;420394
6;3098862
7;20993804
8;132939015
9;796625654
10;4559889334
11;25112905580
12;133834729210
13;693377073900
14;3505338139380
15;17345898649800
16;892033314203139
17;27733773552429223
18;1118409311622637368
19;40443070417349370483
20;1527210370835118559332
21;56673976478816860747774
22;2117897601581472517771066
23;78923421248818203600565427
24;2944399943419196373497114774
25;109797106537775911758807162778
26;4095095417290316282939442547680
27;152723339720122501108555011840342
28;5695863174154192679028192753380340
29;212426436445814460576060868565141484
30;7922452345203935157114149652287687884
31;295467611549841015492082915284979621511
32;11019463714682126522890048157626008654473
33;410970741180874710387820391271814117039458
34;15327149785690207118885870323300255918993423
35;571625873548142874360678229042613943062115466
36;21318780749923986727127209867571593246051772792
37;795083690343313989839224384718429436112629600108
38;29652637460436628119426525781824034780378617858107
39;1105894785552205786432302749539159553666515145287222
40;41244333795790621245739946592147320794065883565680290
41;1538206972425500348947263126645174656249917797251481336
42;57367412016658739514161229915304087943069732860319297800
43;2139516996330777959490116551283833358117060754594797276832
44;79793262703232759273815095962367380584502386825047441842582
45;2975888849544976589836518005290872762652116689120004217680428
46;110985741713586389931309449649350862931122663738438389421170269
47;4139212009073395230798901086511848165112620340965868742219499787
48;154371866075172177263089105463100114315014887200826345809003180000
49;5757297037042150504612687946059868808701941641867529313983174674031
50;214718329288028117388183596542053732242317398732806011411150816078034
51;8007917714790557941233055393258000318873880099217751017200538624008158
52;298655202559982290915864096247122825932213134993383861881469194843760686
53;11138342474648737567533867624306069773630827219825309621513293889500901823
54;415404359338583563240822830410726177624082300119922772035644260066074468818
55;15492500984796742751657733290329634715839880609542698284110815714988820803522
56;577792652792786427263779283761230091891336037456469059968177339997587731768310
57;21548770592232778950593226336183306224619421016130072191215241776265825517607246
58;803661160785313324174825880131482661709940319330388414827929681984410805278529046
59;29972534098423254020758850854144560768881344890674163772909010594416675059756419112
60;1117825327533934259640813539245597025957167431905980796627579879763114363719697371598
ã®äžŠã³ãšãªããŸããã
15ãŸã§ã¯ç§ãšäžèŽããŠããŸãã
30 16 ã§ 84235251439605
ããäžèŽããŸãããã
ãªãã§ãããªå端ãªãšãããïŒ
暪ç·ã®æ¬æ°ã瞊ç·ã®æ¬æ°ã®ååãè¶
ãããšäœããããã§ããããïŒ
瞊ç·8æ¬ã®å Žåã
8 1 ã§ 7
8 2 ã§ 34
8 3 ã§ 143
8 4 ã§ 560
8 5 ã§ 2108 âãããããé£ãéãïŒ
8 6 ã§ 7752
ã£ãŠãªããã§ããããïŒ
æè§è峿·±ãç®åºæ³ã... ãšæããŠå¯ŸããŠåªåã¯ããŠãŸãããçåãæããŠããã ããªã®ã§ãã...
äžå¯žæ°ãå©ããŠãªãã£ãããã§ç³ãèš³ãããŸããã
æããã«ãã¿ã ããã®çã®éžã³ããã«ããçµæã®ååžã«ã¯åããããäºã¯æããã ãšããã®ã奿®µåŠå®ãããã¯ããŸããããã®éãã§ãããã
ãã ãæ°ãæ¹ãæªããã£ããæ°ããããã«ãé¢ããããµãã£ãŠæããã¯ééã£ãã·ãã¥ã¬ãŒã·ã§ã³ã§èªãããã®ã¯æããªããšã沢山ãããã¿ã ããã®è©±ã®å€§åã¯ãã¿ã ã®ç·æ°ã(çã®æ°-1)^(暪ç·ã®æ°)éããšããŠããŠãå€åãã®æ ¹æ ãšããŠããæ§ææ³ã䜿ã£ãŠã·ãã¥ã¬ãŒã·ã§ã³ããŠããã§ãããããã
ã ãªãæ£ç¢ºã«ã·ãã¥ã¬ãŒã·ã§ã³ããããšããã°å
ãã¯éžã°ãããã¿ã ããå
šäœã®æ§ææ³ããã¡ããšãªããšãããšãã話ã§ããããããæå³ã§ã¯ãè¡ãã€æ»ãã€ããæ«ãäºã§ãã¡ããšæ§æã§ãããšãã話ã¯ãšãŠãæé£ããæããã§ããã
ãšã¯ãã奿®µçããããå
çãã ãšæããŠãããã§ã¯ãããŸããã
ãç¥æµãæåããŠå©ããŠè²°ãããããããã°æŽã«æ°ããç¥èŠãèŠåºããã°â¬ãšããææã§ãã
ããããæè¿ã®å
çã¯ããã¡ããšæãããäºãã§ããªãããã§ããããæ¹ããä»èŸŒãäºãä»äºã ãšãæè²ã ãšå¿åºæããŠã人ã倧åãããã§ããããããããå
çãåŒã°ãããããªããŠãšãŠã倱瀌ã ãšãæããŠãŸãã
ãšããã§ãè°è«ããäžèº«ãšããŠã¯å°ããªèŠæš¡ã®ãã¿ã ãããååã ãšæãã®ã§ãäœæ
èšç®ãé£ãéãã®ããå«ããŠãã¢ã«ãŽãªãºã ã®ç¢ºèªãã§ããªããã®ã§ããããïŒ
äœåºŠãèšã£ãŠããŸãããç§ã¯ã¢ã«ãŽãªãºã ã®å
šå®¹ãæ¢ã«å
šéšæžããŠãŸãã
ã確èªãã§ããªãã§ããããããäœããããšã¯ããªããèªãã§ç¢ºèªããã ãã§ãã
äžæç¹ãå
·äœçã«æããŠãããã°ååã¯ã§ããŸãããããã§ã¯ãªããã é§ã
ããããã ãã®äººã«ããŠãããããããšã¯ãããŸããã
åææŠ
ãããšã¯ã©ãã§ããããïŒ
1;29
2;463
3;5390
4;51171
5;420394
6;3098862
7;20993804
8;132939015
9;796625654
10;4559889334
11;25112905580
12;133834729210
13;693377073900
14;3505338139380
15;17345898649800
16;84235251439605
17;402316301124360
18;1893310678517700
19;8793147391736136
20;40357786347273252
21;183266905331524344
22;824255034747971688
23;3674950883378678800
24;16255421882564830140
25;71384840041723959608
26;311418663604915014072
27;1350375077353954614384
28;5823041821257562590120
29;24981782165889424128048
30;106671345686835109102032
31;453501538615221120120097
32;1920247373753821060916773
33;8100476665368181748160571
34;34052954042136508229919042
35;142690568445704254905970971
36;596112426258621587933361150
37;2483369892192881694636148630
38;10318473866094099974679219796
39;42768516724584960514403750335
40;176862366945026630666520869874
41;729813126230735455341470281926
42;3005456846790981942293708712036
43;12353359966837224339431413442178
44;50685607079444329323255005077044
45;207613079229358124452968845335380
46;849058280539586545208387260201240
47;3467146895324531934103815498948841
48;14138241146010198255730566783356800
49;57575916461409965986900847410036600
50;234174867066415421926684291204186160
51;951312375045376858090381562585181640
52;3860263877836478670013758164200228880
53;15647593976660949236650911300126253200
54;63363471704000869756678505803691947360
55;256338444794052835483998138135784555640
56;1036079462632519082207654384813062022800
57;4184049118051380918526064679844187838320
58;16882762634340248602038470164697874805280
59;68069225361124124594166026380622389476240
60;274242739789885194337625897729987657084960
ããã§ããã°ç§ã®çµæãšäžèŽããŠãããšæããŸãã
ïŒå
šéšã粟æ»ããããã§ã¯ãªãã§ããïŒ
DD++ããã®ä»°ãéãã« Claude ã«ãããããŠã¿ãŸããã
äœãäœåãªããšãèšããã«DD++ããã®ããã°ã©ã ãæãããšãã,
---------------------------------------------------------------------------------------------------------------------------------------------------------
ãã®ããã°ã©ã ã¯2ã€ã®æŽæ° n ãš m ãèªã¿èŸŒã¿ã(n-1)ÃnÃnãµã€ãºã®3次å
é
åãäœæããŠãããã«å¯Ÿã㊠m åã®å€ææäœãè¡ããŸãã
åæç¶æ
ã§ã¯ãæåã®å±€ã®å¯Ÿè§èŠçŽ ããã¹ãŠ1ã«èšå®ãããŠããŸãã
å倿æäœã¯äž»ã«2ã€ã®ã¹ãããã§æ§æãããŠããŸãïŒ
环ç©ãã§ãŒãºïŒçŸåšã®ç¶æ
ããå€ãåèšããŠæ¬¡ã®ç¶æ
ãæ§ç¯ããŸã
亀æãã§ãŒãºïŒåå±€ã§é£æ¥ããèŠçŽ ã亀æããŸã
ãã¹ãŠã®å埩ãçµãã£ãåŸãããã°ã©ã ã¯åäœçœ®ã®åèšå€ãèšç®ããŠåºåããæçµçãªåèšã衚瀺ããŸãã
---------------------------------------------------------------------------------------------------------------------------------------------------------
ãšããã°ã©ã ãè§£æããŠãããŸããã, 现ããç¹ã®è§£èª¬ã¯ãŸã èšããŠãŸããã
ã§, Juliaã§æžãæããŠããããŸããã30ç60暪æ£ã®å Žåã«è² ã®æ°ãçŸããïŒæŽæ°åã®ãªãŒããŒãããŒïŒã®ã§ãããæžãçŽããŠè²°ããŸããã
ããã°ã©ã ãåãããŠã¿ããšãã, æ¢ã«çµæãå€ã£ãŠãããã®ãšåèŽããŠããŸãããããŠæ©ãããããªãååå®çšç¯å²å
ã§ãã
ããšã¯, ããã§æ°ããããã¿ã ãããããç¡äœçºã«éžã³åºããŠã詊ããããšãã§ããã°, ãã¡ãã¡ã«ããææ°ãããªã·ãã¥ã¬ãŒã·ã§ã³ã§ã¯ãªããæ£ç¢ºãªã·ãã¥ã¬ãŒã·ã§ã³ãå®è¡ã§ãããšããããã§ãããããããšãããããŸãã
ã¢ã«ãŽãªãºã ãšãããããã°ã©ã ã®æ¬è³ªã¯ã³ã¬ããèªãã§ãåããïŒãšããããã¯è§£èª¬ã§ããïŒïŒãåªåãããŠã¿ãŸãã
claudeã«ããã°ã©ã ã®è§£èª¬ããé¡ãããŠã¿ãŸããã
Juliaã«æžãæãããã®ã解説ããŠè²°ã£ãŠããŸããã¢ã«ãŽãªãºã çã«ã¯åãäºã§ãããã
----------------------------------------------------------------------------------------------------------------------------------------------------------------
ãã¿ã ãããæ°ããããã°ã©ã ã®ã¢ã«ãŽãªãºã ã«ã€ããŠã颿°ããšã«è§£èª¬ããŸãã
ãã®ããã°ã©ã ã¯ããã¿ã ããã®å¯èœãªçµã¿åããæ°ïŒãŸãã¯çµè·¯æ°ïŒãèšç®ãããã®ã§ããå颿°ã®åœ¹å²ãšèåŸã«ããã¢ã«ãŽãªãºã ã説æããŸãïŒ
count_amidakuji(n, m) 颿°
ãã®é¢æ°ã¯å
šäœã®åŠçã管çããŠããã以äžã®ãããªã¹ãããã§åäœããŸãïŒ
åæå:
næ¬ã®çžŠç·ãšãããããæšªç·ã§ã€ãªãæ§é ãèããŸã
3次å
é
å a[i, j, k] ãäœæããŸãïŒ
i: 暪ç·ã®å±€ã衚ããŸãïŒ1ããn-1ãŸã§ïŒ
j: åºçºç¹ã衚ããŸãïŒ1ããnãŸã§ïŒ
k: å°éç¹ã衚ããŸãïŒ1ããnãŸã§ïŒ
æåã¯ãa[1, j, j] = 1 ãšããŠãåºçºç¹jããåãäœçœ®jã«å°éããçµè·¯ã1ã€ããããšã衚ããŸã
å埩æäœïŒmåïŒ:
åå埩ã¯ã暪ç·ïŒãã¿ã ããã®ã暪æ£ãïŒã1æ¬è¿œå ããå¯èœæ§ãã·ãã¥ã¬ãŒã·ã§ã³ããŸã
倧ããåããŠã环ç©ãã§ãŒãºããšã亀æãã§ãŒãºãããããŸãïŒ
a. 环ç©ãã§ãŒãº:
next[1, j, k] ã¯ãæåã®å±€ãš2çªç®ã®å±€ã®å€ãåèšããŸã
äžé局㮠next[i, j, k] ã¯ãåã®å±€ããã®çޝç©å€ã𿬡ã®å±€ã®çŸåšå€ãåèšããŸã
ããã«ãããçµè·¯æ°ãäžããäžãžãšçޝç©ãããŠãããŸã
b. 亀æãã§ãŒãº:
åå±€iã«ãããŠãäœçœ®(j,i)ãš(j,i+1)ã®å€ã亀æããŸã
ããã¯ã暪ç·ãåŒããããšãã«çµè·¯ãã©ã®ããã«å€åãããã衚çŸããŠããŸã
æçµèšç®:
ãã¹ãŠã®å埩ãçµãã£ãããååºçºç¹jããåå°éç¹kãžã®çµè·¯æ°ã®åèšãèšç®ããŸã
ç¹ã«æåŸã®åïŒk=nïŒãžã®çµè·¯ã®ç·æ°ããtotalããšããŠèšç®ãããŸã
main() 颿°
ãã®é¢æ°ã¯åã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãïŒ
ãŠãŒã¶ãŒããå
¥åå€nïŒçžŠç·ã®æ¬æ°ïŒãšmïŒæšªç·ã®è¿œå åæ°ïŒãåãåããŸã
倧ããªèšç®ã«ãªãå Žåã®èŠåã衚瀺ããŸã
count_amidakuji(n, m) ãåŒã³åºããŠèšç®ãå®è¡ããŸã
ã¢ã«ãŽãªãºã ã®æ°åŠçè§£é
ãã®ã¢ã«ãŽãªãºã ã¯ããã¿ã ããã®çµã¿åãããçŽæ¥çæããã®ã§ã¯ãªããåçèšç»æ³ã䜿çšããŠçµè·¯æ°ãå¹ççã«èšç®ããŠããŸãïŒ
é
å a[i, j, k] ã¯ãiå±€ç®ã§åºçºç¹jããå°éç¹kãžã®çµè·¯æ°ã衚ããŸã
暪ç·ãåŒããããšã飿¥ããçµè·¯ã亀æãããŸãïŒäº€æãã§ãŒãºïŒ
å±€ã远å ãããããšã«ãçµè·¯æ°ã¯çޝç©ãããŸãïŒçޝç©ãã§ãŒãºïŒ
måã®å埩åŸãæçµçãªçµè·¯æ°ãèšç®ãããŸã
ç¹ã«ãã®ã¢ã«ãŽãªãºã ã¯ããã¿ã ããããæä»çãªæšªç·ã®çµã¿åããããšããŠå¹ççã«ã«ãŠã³ãããŠããŸãããã¹ãŠã®å¯èœãªçµã¿åãããåæããã®ã§ã¯ãªããæ°åŠçã«çµè·¯æ°ãèšç®ããã®ã§ã倧ããªå
¥åå€ã«å¯ŸããŠãæ¯èŒçå¹ççã«åäœããŸãã
ãã ããæéèšç®éã¯O(mÃn³)ãªã®ã§ãéåžžã«å€§ããªå€ã«å¯ŸããŠã¯èšç®æéãé·ããªãå ŽåããããŸããããã«å¯Ÿå¿ãããããBigIntåã䜿çšããŠæ°å€ã®ãªãŒããŒãããŒãé²ãã§ããŸãã
----------------------------------------------------------------------------------------------------------------------------------------------------------------
äœãšãªããæŒžååŒçããšè¡šçŸããŠããŸããã, ãåçèšç»æ³ããšåŒã¶ã®ã§ããã
説æã¯æœè±¡çã§ããå€å°ã¯åããæãã®ã§ç¢ºèªããŠã¿ãŸãã
> 倧ããªèšç®ã«ãªãå Žåã®èŠåã衚瀺ããŸã
ããã¯ïŒAIãäœãè¶³ããã®ã§ãªããã°ïŒn>2 ã§ãªãã£ãå Žåã®èŠåã®ããšã§ãããïŒ
ããã¯å€§ããªèšç®ã«ãªãããã§ã¯ãªããn=2 ã ãšéäžã§ã¯ã©ãã·ã¥ããã®ã§å
¥ããŠããŸãã
n=2 ã®å Žåã¯æããã«1éããããªãã®ã§ãç¹å¥å¯Ÿå¿ãã䟡å€ããããŸãããã
ãã以å€ã¯AIã®è§£éã§ãã£ãŠããŸãã
æ¹éã¯ã挞ååŒã§ãã£ãŠãŸããã
DPïŒåçèšç»æ³ïŒâ挞ååŒããªã®ã§ãDPãšåŒãã§ãããã ãã§ãã