質問編集履歴

4

修正

2021/06/19 04:37

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
@@ -1 +1 @@
1
- 関数の呼び出し回数を数える
1
+ 関数の呼び出しについて
test CHANGED
File without changes

3

修正

2021/06/19 04:37

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -78,9 +78,9 @@
78
78
 
79
79
  M = int((L+R)/2)
80
80
 
81
- vL, lcpstar = splitInt(L, M, LCP, lcpstar)
81
+ vL, lcpstar = spt(L, M, LCP, lcpstar)
82
82
 
83
- vR, lcpstar = splitInt(M, R, LCP, lcpstar)
83
+ vR, lcpstar = spt(M, R, LCP, lcpstar)
84
84
 
85
85
  v = min(vL, vR)
86
86
 
@@ -88,7 +88,7 @@
88
88
 
89
89
  v = LCP[L]
90
90
 
91
- # make lcpstr symmetric.
91
+
92
92
 
93
93
  lcpstar[tuple([L,R])] = v
94
94
 

2

追加

2021/06/15 05:32

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,101 @@
55
55
  ```
56
56
 
57
57
  のようになると思うのですが,これをどこに置くのが良いのかわかりません.よろしくお願いいたします.
58
+
59
+
60
+
61
+
62
+
63
+ 追記
64
+
65
+
66
+
67
+ ```python
68
+
69
+
70
+
71
+ def spt(L,R,LCP,lcpstar,cnt=[0]):
72
+
73
+ cnt[0] += 1
74
+
75
+ print(str(cnt[0]) + "回目の呼び出し")
76
+
77
+ if R-L > 1:
78
+
79
+ M = int((L+R)/2)
80
+
81
+ vL, lcpstar = splitInt(L, M, LCP, lcpstar)
82
+
83
+ vR, lcpstar = splitInt(M, R, LCP, lcpstar)
84
+
85
+ v = min(vL, vR)
86
+
87
+ elif R-L == 1:
88
+
89
+ v = LCP[L]
90
+
91
+ # make lcpstr symmetric.
92
+
93
+ lcpstar[tuple([L,R])] = v
94
+
95
+ lcpstar[tuple([R,L])] = v
96
+
97
+ return v, lcpstar
98
+
99
+ ```
100
+
101
+ 上から2行目と3行目を追加したらこのように数えられているような気がするのですが,更新がされず
102
+
103
+ 1回目に実行すると
104
+
105
+
106
+
107
+ 1回目の呼び出し
108
+
109
+ 2回目の呼び出し
110
+
111
+ 3回目の呼び出し
112
+
113
+ 4回目の呼び出し
114
+
115
+ 5回目の呼び出し
116
+
117
+ 6回目の呼び出し
118
+
119
+ 7回目の呼び出し
120
+
121
+ 8回目の呼び出し
122
+
123
+ 9回目の呼び出し
124
+
125
+ 10回目の呼び出し
126
+
127
+ 11回目の呼び出し
128
+
129
+
130
+
131
+ 2回目に実行すると
132
+
133
+ 12回目の呼び出し
134
+
135
+ 13回目の呼び出し
136
+
137
+ 14回目の呼び出し
138
+
139
+ 15回目の呼び出し
140
+
141
+ 16回目の呼び出し
142
+
143
+ 17回目の呼び出し
144
+
145
+ 18回目の呼び出し
146
+
147
+ 19回目の呼び出し
148
+
149
+ 20回目の呼び出し
150
+
151
+ 21回目の呼び出し
152
+
153
+ 22回目の呼び出し
154
+
155
+ カウントが更新されず,続きからになります.どのように直したらいいですが?

1

修正

2021/06/15 05:32

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```
14
14
 
15
- このようにして与えたTに対して求めたLCPstarを最終的に表示します(表示部分は載せていません).
15
+ このようにして与えたTに対して求めたLCPstarを最終的に表示します(表示部分までは載せていません).
16
16
 
17
17
  この時関数StarAの中のsptという関数が上の与えたTの場合何回呼び出されるかを数えたいです.
18
18