Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

G pub

291 views

Published on

立命合宿2017G

Published in: Technology
  • Be the first to comment

  • Be the first to like this

G pub

  1. 1. 2017 Day3 2017/03/24 2017 Day3 G: Run run run! : : : :
  2. 2. 2017 Day3 2017/03/24 • : q, p • : p q • : q p • : 1 ≤ |p|, |q| ≤ 105, q run 3 • run: or 3 4 2 1 5 2 1 3 run run run : :
  3. 3. 2017 Day3 2017/03/24 • permutation matrix • 2 • i pi (i, pi) • run : 5 4 3 2 1 0 1 2 3 4 5 run run run 3 4 2 1 5
  4. 4. 2017 Day3 2017/03/24 • permutation matrix • 2 • i pi (i, pi) • run : 5 4 3 2 1 0 1 2 3 4 5 run run run 2 1 3
 3 4 2 1 5
  5. 5. 2017 Day3 2017/03/24 run • run ( ) • • pi-1 < pi > pi+1 ( ) pi-1 > pi < pi+1 ( ) i 5 4 3 2 1 0 1 2 3 4 5 i=2
  6. 6. 2017 Day3 2017/03/24 run • : q run(q) = 3 • p run • run(p) > 3 q run(p) ≤ 3
  7. 7. 2017 Day3 2017/03/24 • p {run(p) = 1, 2, 3} × { run or } 6 • p p, q a |p|+1-a (|q|+1-a) • y • p 5 4 3 2 1 0 1 2 3 4 5 5 4 3 2 1 0 1 2 3 4 5
  8. 8. 2017 Day3 2017/03/24 run(p) = 1 • p q ( LIS) |p| Yes, No • LIS O(|q| log |q|) (c.f. ) • ( ) run(q) = 3 5 4 3 2 1 0 1 2 3 4 5 1 2 3:
  9. 9. 2017 Day3 2017/03/24 run(p) = 2 • p q ( ) ( ) • p q q • run(p) = run(q) = 2 ( ) ( )
  10. 10. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK
  11. 11. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK
  12. 12. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK ×
  13. 13. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK
  14. 14. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK
  15. 15. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK ×
  16. 16. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK
  17. 17. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • 1 OK Yes!
  18. 18. 2017 Day3 2017/03/24 run(p) = run(q) = 2 • • p q • No Yes ×No...
  19. 19. 2017 Day3 2017/03/24 run(p) = 3 • p ( ) q ( ) No • run(p) = 2
  20. 20. 2017 Day3 2017/03/24 run(p) = run(q) = 3 • • / • p, q q No , OK , NG
  21. 21. 2017 Day3 2017/03/24 run(p) = run(q) = 3 • • 3 p q • run = 2 p OK
  22. 22. 2017 Day3 2017/03/24 • Run FPT • Marie-Louise Bruner and Martin Lackner,
 "A Fast Algorithm for Permutation Pattern Matching Based on Alternating Runs," Algorithmica, 2016 • p run q runs • DP • run run 1 & DP
  23. 23. 2017 Day3 2017/03/24 Writer • : 134 lines, 3171 bytes (C++) • : 134 lines, 3268 bytes (C++) • : 171 lines, 5120 bytes (C++)
  24. 24. 2017 Day3 2017/03/24 • Accept / Submission • 16.67% (2/12) • First Acceptance • On-site: public_latte_mcdwl (02:47) • On-line: satanic0258 (01:45)

×