code festival 2015 予選b 解説

21
CODE FESTIVAL 2015 予選B 解説 AtCoder株式会社 代表取締役 高橋 直大 2015/10/25 1

Upload: atcoder-inc

Post on 21-Jan-2018

3.494 views

Category:

Education


0 download

TRANSCRIPT

  1. 1. CODE FESTIVAL 2015 B AtCoder 2015/10/25 1
  2. 2. A CODE FESTIVAL 2015 B
  3. 3. 2015/10/25 S S no noononno, lemonmelon meat teammate
  4. 4. S S no nono meat meatmeat z zz
  5. 5. no aabbccddeegghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz meat aabbccddeegghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
  6. 6. B CODE FESTIVAL 2015 B
  7. 7. N 0 M ? 1 N 105 1 M 105
  8. 8. 40 N 100, M 100 0 M O(NM)
  9. 9. M+1 O(N+M)
  10. 10. C CODE FESTIVAL 2015 B
  11. 11. N Ai M Bi 1 N 105 1 M 105 1 Ai 105 1 Bi 105
  12. 12. 60 N 100, M 100 O((N+M)M)
  13. 13. O(N log N + M log M)
  14. 14. D CODE FESTIVAL 2015 B
  15. 15. N N i i Si i Ci 1 N 105 1 Si 109 1 Ci 109
  16. 16. 35 105 105 setlower_bound x c++ set RMQRange Minimum Query segtree
  17. 17. 35 35 importsys sys.setrecursionlimit(1024*1024) N=int(raw_input()) state=[-1]*100001 deffind_next(i): ifd[i]==-1:returni d[i]=find_next(d[i]) returnd[i] foriinxrange(N): s,c=map(int,raw_input().split()) forjinxrange(c): s=find_next(s) d[s]=s+1 prints python
  18. 18. 35 d[i] -1 i i TLE d[i]=find_next(d[i]) Union-Find O(log(N)) Union-Find deffind_next(i): ifd[i]==-1:returni d[i]=find_next(d[i]) returnd[i]
  19. 19. 40 N 1000 O() RQ - RQ ( RQ) = > 0 RQ < *N RQ*RQ = O(N^2)
  20. 20. c++set RQ O(log ) O(N log N)
  21. 21. N i Si i Ci i i (, ) O(N log N)