U E D R , A S I H C RSS

ACM_ICPC/2013년스터디 (rev. 1.64)

ACM_ICPC/2013년스터디

1. 목표

  • 김태진, 권영기, 곽병학 팀 : 동상 (본선 학교순위 10위 이내)
  • 참여를 원하는 분을 위한 문은 언제나 열려있습니다.

2. 진행 방식

  • 각자 문제를 풀어오고 설명, 설명들은 문제는 다음 시간까지 개인적으로 풀어올 것.(Dovelet 사용)

2.1. 방학 중

  • 시간 - 매주 목 오후 5시.
  • 장소 - 6층 PC실
  • 방식 - 각자 문제를 풀어와서 토의하고, 다음 문제를 정합니다.

3. 스터디

3.1. 1월 10일

3.1.1. 내용

3.1.2. 풀이

3.2. 1월 18일

3.2.1. 내용

* 참가자 : 김태진, 권영기, 곽병학

3.2.2. 풀이


3.3. 1월 24일

3.3.1. 내용

* 참가자 : 김태진, 권영기, 곽병학

3.4. 2월 13일

3.4.1. 내용

* 참가자 :

3.4.2. 풀이


3.5. 2월 20일

3.5.1. 내용

* 참가자 :
  • 오늘 푼 문제
    • 곽병학

    • 김태진
      • 헛간(저번주 문제)
      • n 마리의 쥐가 크기가 같은 n 개의 버터를 먹는데 n 시간이 걸린다고 할 때 , m 마리의 쥐가 m 개의 버터를 먹는데 걸리는 시간을 구하는것이 문제이다. 각각의 쥐가 치즈를 먹는 속도는 모두 동일하다고 한다.
    • 권영기

  • 풀어보기 : land

3.5.2. 풀이



3.6. 2월 27일

3.6.1. 내용

* 참가자 :
  • 오늘 푼 문제
    • 곽병학
    • 김태진
    • 권영기
      • Binary Indexed Tree
      • Up Sequence
      • moblie
  • 개강 이후에는 매주 수요일 6시에 스터디 시작하기로 결정, 격주로 토요일에도 만나기로 함.
  • inflate 모르겠다 알려줘

3.6.2. 풀이



3.7. 3월 6일

3.7.1. 내용

* 참가자 :

3.7.2. 풀이



3.8. 3월 13일

3.8.1. 내용

3.9. 3월 20일

3.9.1. 내용

  • 코드포스 문제풀기

3.10. 3월 24일

3.10.1. 내용

  • 코드포스 복기
    • C번은 예상대로 쉽게 푸는 방법이 있었음
    • D번은 풀이법에 대한 실마리가 제시되어 각자 코딩할 계획

3.11. 4월

  • 시험기간에 의한 휴식기

3.12. 5월 8일

  • 문제 풀어오지 못함..

3.13. 5월 15일

3.13.1. 내용

3.14. 6월 27일

  • 김태진 : Dynamic Programming 6.1~6.3
    • Shortest Path : DAG(directed acyclic graphs)로 바꾼 후 Source에서부터 dist(v) = min{dist(v) + l(u,v)}사용
      • 170p
    • Longest increasing subsequence : DAG로 바꾼다.(increasing하는 곳에만 edge생성됨) 이후 가장 많이 방문하도록 L(j) = 1+ max{L(i) : (i,j)}수행
      • 최대 path의 길이를 구한 후에 뒤로 돌아가면서 숫자가 줄어드는 녀석들을 스택에 담으면 path도 구할 수 있다.
    • Edit distance : 글자 최소 오류개수 구하기 (exponential과 polynomial의 최소 오류는 6개.)
      • Similar to DTW
  • 권영기 : 3장 그래프
  • 곽병학 : Hoffman code - 쓸데없을거 같음..

3.15. 7월 4일

3.15.1. Need to Discuss

  • Stack부분에서 Histogram 문제
  • BFS 효율적 구현

3.15.2. 내용

3.16. 7월 11일

3.16.1. Need to Discuss


3.16.2. 내용

  • 김태진 : Dynamic Programming
  • 곽병학 : 한붓그리기?
  • 권영기 : ?

3.17. 7월 16일

3.17.1. Need to Discuss


3.17.2. 내용

3.18. 7월 25일


  • 완전(교란)순열 - http://ko.wikipedia.org/wiki/완전순열
  • DP 문제 worm/김태진 - 점화식 세울 때 k=0와 k=1, k=2일때를 특히 조심하자. - 걍 여긴 수작업하는게 속편함.
  • Bar_code 문제 - http://211.229.66.5/30stair/bar_code/bar_code.php?pname=bar_code
    • 풀이 - 삼차원 테이블을 사용한 DP문제, d(bar,unit,width)는 bar번째의 bar를 사용하면서, unit의 위치에 그 bar의 폭이 width일 때의 경우이다. 따라서 가능한 모든 바코드의 수를 구하는 것은 d(bar,unit,0 ~ width)를 전부 더해주면 된다.
      - 점화식 : d(bar, unit, width) += d(bar - 1,unit - width,l);
      - 점화식을 구하는 것은 금방 구했으나, index를 얻어내는 것이 힘들었음.
      - 설명하면 1110110 이라는 것이 있을 때, 1110110이 오기 전에는 110으로 시작하는 모든 바코드가 있을 것이고, 그 이전에는 10으로 시작하는 모든 바코드가 있을 것이다. 그리고 1110110이라는 바코드가 오기 전에는 111000으로 시작하는 모든 바코드가 있을 것이고, 그 이전에는 11100으로 시작하는 모든 바코드가 있을 것이다. dp테이블에 해당 경우에 대한 경우의 수를 모두 저장해놨기 때문에, 앞에서 부터 차례대로 이전에 올 바코드의 수를 더해나가면 index를 구할 수 있다.
    • 풀면서 주의할 점 : dp테이블의 범위에 벗어나는 경우(예를 들어서 음수 번지)가 나올 수 있으므로 이에 대한 처리를 해줘야 한다. 비쥬얼 스튜디오에서 코드를 작성할 때, 테이블 범위에 벗어나도 정답이 나오는 경우가 생겨서 이런 예외를 발견하기 힘들었음..

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:20
Processing time 0.0585 sec