研究
何の研究かは譜面を見て察してください。
基本的には2小節の繰り返し譜面なのですが、その2小節が似ているようで全然違うというところがとてもいやらしく、良く考えられている譜面だと思います。
この手の譜面は、「このパネルは死んでもこの手で押す」と決めてしまうと、多少無理な動きはあるものの紛れがなくなり、結果ミスが減ると考えています。
1
□□□□ |①-②-|
□□②④ |③-④-|
③①□□ |----|
□□□□ |----|
2
□□□□ |----|
□□□□ |----|
□□□□ |----|
□□□□ |----|
3
□□□□ |①-②-|
③①□□ |③-④-|
□□②④ |----|
□□□□ |----|
4
□□□□ |----|
□□□□ |----|
□□□□ |----|
□□□□ |----|
5
□□④□ |①-②-|
□□②□ |③-④-|
□①□□ |----|
□③□□ |----|
6
□□□□ |----|
□□□□ |----|
□□□□ |----|
□□□□ |----|
7
□③□□ |①-②-|
□①□□ |③-④-|
□□②□ |----|
□□④□ |----|
8
□①□□ |----|
①□□□ |----|
□□□① |----|
□□①□ |①---|
9
□□□① |①-②-|
□□⑥⑤ |③-④⑤|
②③⑦□ |⑥-⑦-|
①④⑧⑨ |⑧-⑨-|
10
⑤④③□ |①---|
□②□⑥ |②-③④|
⑦□□① |⑤-⑥-|
□□□⑧ |⑦-⑧-|
11
□⑥⑤④ |①-②-|
③□⑦□ |③-④⑤|
□⑧□② |⑥-⑦-|
①□⑨□ |⑧-⑨-|
12
③④⑤□ |①---|
②⑥□② |②-③④|
①□⑦① |⑤-⑥-|
□⑧□□ |⑦-⑧-|
13
□④⑤⑥ |①-②-|
⑦□③□ |③-④⑤|
□②□⑧ |⑥-⑦-|
⑨□①□ |⑧-⑨-|
14
⑤④③□ |①---|
□②②⑥ |②-③④|
⑦①①□ |⑤-⑥-|
□□□⑧ |⑦-⑧-|
15
□⑤④□ |①-②-|
⑥③⑦□ |③-④⑤|
□⑧②⑨ |⑥-⑦-|
□①□□ |⑧-⑨-|
16
④③④③ |①---|
③②③② |②---|
①④①④ |③---|
②①②① |④---| ここまでは普通
17
⑧□□⑦ |①---|
③④□② |②-③④|
①⑥⑤□ |⑤-⑥-|
②⑦⑤① |⑦-⑧-| 出張の混乱を防ぐため、1番は常に右で取る
18
⑦□□⑧ |①---|
□⑤⑥② |②-③④|
①□④③ |⑤-⑥-|
②⑦⑤① |⑦-⑧-| 11→12→15は中→人→親
19
⑧□□⑦ |①---|
③④□② |②-③④|
①⑥⑤□ |⑤-⑥-|
②⑦⑤① |⑦-⑧-|
20
⑦□□⑧ |①---|
□⑤⑥② |②-③④|
①□④③ |⑤-⑥-|
②⑦⑤① |⑦-⑧-|
21
⑧□□⑦ |①---|
③④□② |②-③④|
①⑥⑤□ |⑤-⑥-|
②⑦⑤① |⑦-⑧-|
22
⑦□□⑧ |①---|
□⑤⑥② |②-③④|
①□④③ |⑤-⑥-|
②⑦⑤① |⑦-⑧-|
23
⑧①①⑦ |①---|
③④□② |②-③④| 地獄のT押し(歌詞はofなのに?)
⑥⑤⑤⑤ |⑤-⑥-| 直前の5→6と直後の9を左で取る関係上、10+11+12+15は右のみで捌く
②⑦⑤① |⑦-⑧-| 最悪9と14は潰してもいいので台パンで4枚パフェ(無理)
24
□①①□ |①---|
□③③□ |②---|
□④④□ |③-④-|
②⑤⑤② |⑤---| 14+15を左で取りながら右へ回る
25
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑦⑪⑬⑨ |⑪⑫⑬⑭| 右に回って16分交互にしても普通に押しづらい 気合
26
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑨⑬⑪⑦ |⑪⑫⑬⑭| 左始動というのは変わらないことだけ覚えておく
27
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑦⑪⑬⑨ |⑪⑫⑬⑭|
28
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑨⑬⑪⑦ |⑪⑫⑬⑭|
29
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑦⑪⑬⑨ |⑪⑫⑬⑭|
30
②⑤⑥③ |①②-③|
⑧⑫⑭⑩ |④⑤-⑥|
④□□① |⑦⑧⑨⑩|
⑨⑬⑪⑦ |⑪⑫⑬⑭|
31
①□□① |①---|
⑦□□⑦ |②---|
②④③② |③④⑤⑥| 1を捨てて正面に戻る
③⑥⑤③ |⑦---| 普通に押せないので10+11+13+16→14+15→5+8の8分で押す
32
①④④① |①---|
⑤②②⑥ |②---|
□③③□ |③---|
□□□□ |④-⑤-⑥-|
33
④⑤⑥□ |①---②-|
□⑦⑧⑨ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦-⑧-⑨-|
34
④⑤⑥□ |①---②-|
□⑧□⑦ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦---⑧-|
35
④⑤⑥□ |①---②-|
□⑦⑧⑨ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦-⑧-⑨-|
36
④⑤⑥□ |①---②-|
□⑧□⑦ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦---⑧-|
37
④⑤⑥□ |①---②-|
□⑦⑧⑨ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦-⑧-⑨-|
38
④⑤⑥□ |①---②-|
□⑧□⑦ |③-----|
③□□③ |④-⑤-⑥-|
②①①② |⑦---⑧-|
39
□□④□ |①---②-|
⑧⑦⑦⑧ |③-----|
③⑤⑥③ |④-⑤-⑥-|
②①①② |⑦---⑧-|
40
①□④① |①---|
□□□④ |②---|
②□③□ |③---|
□□□□ |④---| ここから激務になる右手をいたわるため、3+8を左手で取る(無駄)
41
⑥□□④ |①-②-|
③⑦□⑦ |③-④⑤|
⑧⑤□② |⑥-⑦-| 普通に辛いので4+14→10は4+10+14の同時で取る
①④①⑨ |⑧-⑨-| 6+8を右で取るのがいいように見えるが、次を考えて1を右で取る
42
⑥□⑧④ |①-②-|
③⑧④⑦ |③-④⑤|
⑨④⑦② |⑥-⑦-| 4+7+10→14は4+7+10+14の同時で取る
①⑤①⑩ |⑧⑨⑩-| 4+7の手の形のまま1を親指で押し、さらにそのまま8+11→3+6と右手で拾う
43
⑥□□④ |①-②-|
③⑦□⑦ |③-④⑤|
⑧⑤□② |⑥-⑦-|
①④①⑨ |⑧-⑨-|
44
⑥□⑧④ |①-②-|
③□④⑦ |③-④⑤|
⑨□⑦② |⑥-⑦-|
①⑤①⑩ |⑧⑨⑩-| 14が少しだけ押しやすくなっているが、せっかく8分を刻んでいるので4+7+14で取る
45
⑥□□④ |①-②-|
③⑦□⑦ |③-④⑤|
⑧⑤□② |⑥-⑦-|
①④①⑨ |⑧-⑨-|
46
⑥□⑧④ |①-②-|
③⑧④⑦ |③-④⑤|
⑨④⑦② |⑥-⑦-|
①⑤①⑩ |⑧⑨⑩-|
47
⑥□□④ |①-②-|
③⑦□⑦ |③-④⑤|
⑧⑤□② |⑥-⑦-|
①④①⑨ |⑧-⑨-|
48
⑥□□④ |①-②-|
③⑧④⑦ |③-④⑤|
⑧□⑦② |⑥-⑦-|
①⑤①□ |⑧---|
49
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
50
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
51
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
52
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
53
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
54
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
55
⑤⑨②□ |①-②③|
□⑫⑥⑩ |④-⑤⑥|
⑧③□⑪ |-⑦⑧⑨|
①□⑦④ |⑩-⑪⑫|
56
⑦□②⑧ |①---|
⑨□⑥⑩ |②-③④|
⑪⑤□□ |⑤⑥⑦⑧|
③①□④ |⑨⑩⑪-| 6→14を左で取るのは難しいので14は右
57
⑦⑨⑧⑥ |①-②-|
□⑤□□ |③-④⑤|
□□③① |⑥-⑦-|
④②①③ |⑧-⑨-| 13→6を左で取る(今は6→4を右で取っているので直したい)
58
⑥⑧⑦⑤ |①-②-|
□□⑨□ |③-④-|
□□□□ |⑤-⑥-|
④②①③ |⑦-⑧⑨| 2→7を左で取ると、次の12+15がとても楽
59
⑦⑨⑧⑥ |①-②-|
□⑤□□ |③-④⑤|
□□③① |⑥-⑦-|
④②①③ |⑧-⑨-|
60
⑥⑧⑦⑤ |①-②-|
⑩□□⑨ |③-④-|
□□□□ |⑤-⑥-|
④②①③ |⑦⑧⑨⑩| 交互だから疲れてなければ押せるはず
61
⑦⑨⑧⑥ |①-②-|
□⑤□□ |③-④⑤|
□□③① |⑥-⑦-|
④②□③ |⑧-⑨-|
62
⑥⑧⑦⑤ |①-②-|
□□⑨□ |③-④-|
□□□□ |⑤-⑥-|
④②①③ |⑦-⑧⑨|
63
⑦⑨⑧⑥ |①-②-|
□⑤□□ |③-④⑤|
□□③① |⑥-⑦-|
④②①③ |⑧-⑨-|
64
⑥⑧⑦⑤ |①-②-|
□□□□ |③-④-|
□□□□ |⑤-⑥-|
④②①③ |⑦-⑧-|
65
□□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
□⑧③⑨ |⑧-⑨-|
66
□□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
⑨⑧③⑨ |⑧-⑨-| 14→13+16→5+6はとてもつらいので素直に14+13で13をgoodにしておく
67
□□□□ |①-②③|
①①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
□⑧③⑨ |⑧-⑨-|
68
□□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
⑧⑧③⑨ |⑧-⑨-|
69
①□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
□⑧③⑨ |⑧-⑨-|
70
□□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
⑧⑧③⑨ |⑧-⑨-|
71
①□□□ |①-②③|
□①⑦⑥ |④-⑤-|
□④⑤② |-⑥⑦-|
□⑧③⑨ |⑧-⑨-|
72
□⑥□□ |①-②-|
⑥①□⑤ |③-④-|
④②⑤③ |⑤---| 5を右で押すのが理想だが、忘れた頃にやってくるので多分左手で取ってしまうはず
②□□□ |⑥---| 次の10+13を右で取ってリカバリーする
73
□□④① |①-②③|
⑪①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-| 4+6を左で取るのは手の形状からして無理があるので、4は右で取る
⑥⑨③⑩ |⑨-⑩⑪| そうすると3+10が左で取りやすくなるため、安定する(はず)
74
⑥⑨④① |①-②③|
⑫①⑧⑦ |④-⑤-|
⑩④⑤② |⑥⑦⑧-|
□⑨③⑪ |⑨⑩⑪⑫| 2は右で取ること 14を左で取り続ける形にならず、混乱の元になる
75
□□④① |①-②③|
⑪①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-|
⑥⑨③⑩ |⑨-⑩⑪|
76
⑩⑨④① |①-②③|
□①⑥⑥ |④-⑤-|
⑧④⑤② |⑥---|
□⑦③□ |⑦⑧⑨⑩|
77
□⑪④① |①-②③|
□①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-| 2を左で押すくらいなら捨ててもいい、くらいの気持ちでいい
⑥⑨③⑩ |⑨-⑩⑪| 狙えるなら次小節の4+6と同時に処理(2+4+6)
78
⑥⑨④① |①-②③|
⑫①⑧⑦ |④-⑤-|
⑩④⑤② |⑥⑦⑧-|
□⑨③⑪ |⑨⑩⑪⑫|
79
□□④① |①-②③|
⑪①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-|
⑥⑨③⑩ |⑨-⑩⑪|
80
①⑥⑤① |①---|
⑫□⑪⑨ |②③④⑤|
⑩②⑦□ |⑥⑦⑧⑨|
④⑧③⑬ |⑩⑪⑫⑬| 交互
81
□□④① |①-②③|
□①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-|
⑥⑨③⑩ |⑨-⑩-|
82
⑥⑨④① |①-②③|
□①⑧⑦ |④-⑤-|
□④⑤② |⑥⑦⑧-|
□⑨③⑩ |⑨-⑩-|
83
□□④① |①-②③|
□①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-|
⑥⑨③⑩ |⑨-⑩-|
84
⑦①②□ |①②③④|
⑤□□⑧ |⑤⑥⑦⑧| 交互
□③④⑥
□□□□
□⑫□□
□□⑨□
□□□□ |⑨---|
⑨⑩□⑪ |⑩-⑪-⑫-| ここの2だけは動きが違うので素直に左で取る
85
□□④① |①-②③|
□①⑧⑦ |④-⑤-|
⑨④⑤② |⑥⑦⑧-|
⑥⑨③⑩ |⑨-⑩-|
86
⑥⑨④① |①-②③|
□①⑧⑦ |④-⑤-|
□④⑤② |⑥⑦⑧-|
□⑨③⑩ |⑨-⑩-|
87
⑤□□① |①-②-|
③①□□ |③-④-|
□⑦⑥④ |⑤-⑥-|
□□②⑧ |⑦-⑧-|
88
⑬①⑥⑯ |①②③④|
③⑤⑧⑩ |⑤⑥⑦⑧|
⑦⑮⑭④ |⑨⑩⑪⑫| 交互だけど左手が14から1に行くのが死ぬほど辛い、しかも2と5はNG
⑨⑪②⑫ |⑬⑭⑮⑯| 14を親指で取ればすこしはマシか
89
□①□□ |①---|
①□□□ |----|
□□□① |----|
□□①□ |----| 右手が4から12+15に大移動するが、42小節あたりを考えれば余裕のはず
以上です。
部活20
部活です。
データ量の話です。
ワイルドカードを除いた各パネルの最高点の分布は以下のとおりです。
15点:1枚
14点:4枚
13点:9枚
12点:8枚
11点:14枚
10点:22枚
9点:21枚
8点:11枚
7点:8枚
6点:1枚
この枚数がC(n,r)のnになり、rは1からmax(n, 19)までのすべての値をとります。(全探索時)
要素は配列の添字なので、すべて0からmax(n, 19)-1です。
明らかな15点、6点は保存しないとして、無駄な計算を避けるには、他の点数は保存しないといけないです。が、被りが7点と12点の8枚だけしかないので、あまり節約になりません。
次回へ
部活19
部活です。
リストアップした組み合わせを保存するために、まずデータ量を計算します。
C(n,r)のとき、データはr個選ばれています。そのため、C(n,r)*r個のデータが存在すると分かります。
少し脱線しますが、C(n,r)*r = C(n, n-r+1)*(n-r+1)であることを証明しておきます。
左辺 = (n! * r) / (r! * (n - r)!)
= n! / ( (r - 1)! * (n - r)! )
右辺 = (n! * (n - r + 1) ) / ( (n - r + 1)! * (n - (n - r + 1) )! )
= (n! * (n - r + 1) ) / ( (n - r + 1)! * (r - 1)! )
= n! / ( (n - r)! * (r - 1)! ) = 左辺
上記の証明から、C(n,r)*rもC(n,r)のようにある最大値を境界に値が折り返すことが分かります。
C(n,r)はnが偶数のときr = n/2、奇数のときr = (n-1)/2 または r = (n+1)/2が最大となりますから、C(n,r)*rはnが奇数のときr = (n+1)/2、偶数のときr = n/2またはr = n/2 + 1が最大となります。
前置きが長くなりましたが、C(22,r)の場合(r=1~19)のデータ量を計算すると、46,132,240となります。
値は高々22であることが知られていますので、1つの要素を1[Byte]と考えると44[MiB]、4[Byte]だと196[MiB]必要になります。しかもこれ、単純なデータ量なので扱うためには色々加工する必要があります。たとえばリスト構造化すると単純計算で更にC(22,r)*4[Byte]≒16[MiB]増えます。
22だけでこの量なので、これ以下を保存するとなると我が家のオンボロでは到底扱えない量になっているのでは?
さあ困ったぞ。