Your SlideShare is downloading. ×
0
*   reverseはmonotonicな関数*   reverseの実行には|r|ステップかかる*   |r|ステップ = 借金*   最も外側にあるreverse suspは|f|回のtailの後にforce*   |r| =~ |f| ...
let q0 = (m, f, m, r)let q1 = tail q0 # <= f ++ reverse r -- |r|借金let q2 = tail q1let q3 = tail q2...let qm = tail qm-1 # ...
let q0 = (m, f, m, r)let q0 = q0let q1 = tail q0 # <= f ++ reverse r -- |r|借金...let qm = tail qm-1 # <= force (reverse r) ...
d(i) = fのi番目の要素における借金D(i) = 0からiまでのd(j)を足しこんだものさらに↓を不変条件とするD(i) <= min(2i, |f| - |r|)
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2
Upcoming SlideShare
Loading in...5
×

readpfds_6.3.2

671

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
671
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "readpfds_6.3.2"

  1. 1. * reverseはmonotonicな関数* reverseの実行には|r|ステップかかる* |r|ステップ = 借金* 最も外側にあるreverse suspは|f|回のtailの後にforce* |r| =~ |f| の時reverseして、* オペレーション毎に借金を1つ返済するなら、* reverseをforceするまでにその借金を返済すれば良い
  2. 2. let q0 = (m, f, m, r)let q1 = tail q0 # <= f ++ reverse r -- |r|借金let q2 = tail q1let q3 = tail q2...let qm = tail qm-1 # <= force (reverse r) -- 返済期限ここの時任意のkで分岐が発生したとするとqkからqmまで分岐先でも二重に実行されることになる。
  3. 3. let q0 = (m, f, m, r)let q0 = q0let q1 = tail q0 # <= f ++ reverse r -- |r|借金...let qm = tail qm-1 # <= force (reverse r) -- 返済期限let q1 = tail q0 # <= f ++ reverse r -- |r|借金...let qm = tail qm-1 # <= force (reverse r) -- 返済期限
  4. 4. d(i) = fのi番目の要素における借金D(i) = 0からiまでのd(j)を足しこんだものさらに↓を不変条件とするD(i) <= min(2i, |f| - |r|)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×