Hello

: )

2017년 11월 17일 금요일

알고리즘 공부 관련 좋은 블로그 : Ries 마법의 슈퍼마리오

알고리즘 관련해서 너무 정리가 잘 되어 있으면서, BOJ 문제로 풀어볼 수 있는 블로그..
http://kks227.blog.me

Category 에서 "알고리즘대회"를 들어가 보면 된다
http://blog.naver.com/PostList.nhn?blogId=kks227&from=postList&categoryNo=299

등록되어 있는 게시물 제목들...


2017년 11월 10일 금요일

ACM-ICPC Thailand National Programming Contest 문제 정리

ACM-ICPC Thailand National Programming Contest 문제는 TC (Judge Data) 만 제공이 되는 듯 합니다...

BOJ 에는 https://www.acmicpc.net/category/278 에..



2017년 11월 5일 일요일

Junior Balkan Olympiad in Informatics 문제 정리

Junior Balkan Olympiad in Informatics 문제는 일부 연도에 대해서 TC (Judge Data) 와 Solution 이 제공이 됩니다..

BOJ 는 https://www.acmicpc.net/category/273 에서..

http://ejoi.org/rules/tasks/ 에 각 연도별 정보가 있지만, 모든 연도에 TC 나 시험 문제 관련 자료가 제공이 되지는 않습니다...

2008 년의 예로.. 크롬에서 번역 기능을 이용해서 보면 됩니다..


2009 년의 예..



2018 년은..



2017년 11월 1일 수요일

Poland Collegiate Programming Contest 문제 정리

Poland Collegiate Programming Contest 문제는 15 년 이전만 Solution 과 TC (Judge Data) 가 제공이 되는 듯.. 하네요.. 못 찾은 것일 수도 있고요..

BOJ 는 https://www.acmicpc.net/category/226 에서

구글 번역기 써서 봐야 편합니다..


http://main.edu.pl/pl/archive/amppz 에 가서 연도 선택 후
Przydante zasoby 를 선택하면 TC 받을 수 있습니다....

* 2018. 11. 06 에 확인해 보니 edu.pl 가 죽었네요.. -_-

2007 년의 경우






Malaysian Computing Olympiad 문제 정리

Malaysian Computing Olympiad 문제는 TC (Judge data) 와 Solution 이 일부 연도에만 공개되어 있습니다

BOJ 는 https://www.acmicpc.net/category/355

그리고, https://ioimalaysia.org/resource/for-student/practice/ 에서




  • MCO 2015

  • MCO 2014

2017년 10월 22일 일요일

The UK & Ireland Programming Contest 문제 정리

The UK & Ireland Programming Contest 문제는 문제 설명과 TC (Test data) 가 제공이 되고 있습니다.

BOJ 는 https://www.acmicpc.net/category/332 에서


각 연도별 링크에 가면 아래처럼 다운로드 링크가 제공이 됩니다.




2017년 10월 20일 금요일

Alberta Collegiate Programming Contest 문제 정리

Alberta Collegiate Programming Contest 문제는 일부 연도에 대해서만 정답(Solution) 과 TC (test data)가 공개되어 있네요.

BOJ: https://www.acmicpc.net/category/270


2012 의 경우 아래쪽에 여기에..


2003 의 경우 아래쪽에 여기에...





International Tournament in Informatics 문제 정리

International Tournament in Informatics 문제는 정답(Solution)과 TC (Test Data)가 제공이 되네요.

BOJ: https://www.acmicpc.net/category/274


2017 년의 경우 오른쪽에 있는 아이콘 선택하시면 Solution 과 Test data 를 받으실 수 있어요.





Tests 를 선택하면 됩니다....


2017년 10월 17일 화요일

Balkan Olympiad in Informatics 문제 정리

Balkan Olympiad in Informatics 문제는 정답(Solutions)과 TC (Judge data) 가 제공이 되네요.

BOJ: https://www.acmicpc.net/category/94

Tests => 선택하면 받을 수 있습니다...




2017년 10월 16일 월요일

BOJ 에 문제 등록 요청하기

백준 온라인 저지(BOJ, https://acmicpc.net)는 문제 등록을 요청할 수가 있습니다..

주로 해가 지나면서 TC (Judge data) 공개되고 있는 문제들을 등록 요청하고 있는데,
아래 공지를 참고하면 됩니다.

BOJ에 없는 문제 출처를 찾습니다/문제 업로드 환영합니다
https://www.acmicpc.net/board/view/14209


링크 따라가서 "문의 등록" 을 선택하면 된다.

Balkan Olympiad in Informatics (https://www.acmicpc.net/category/94) 를 가보면
2017 년 문제가 아직 등록이 안 되어 있으니 등록을 요청해 보자.

*2017. 10. 16 일에는 아직 없다...


문의 등록 화면에서 필요한 정보를 채워 넣고, 요청하면 된다.
문제만 있는 경우에는 신청한 적이 없어서 잘 모르겠지만, 안 하는게 맞지 싶다.
TC (Judge data) 만드는게 보통 노력이 들어가는게 아니라서...

Balkan Olympiad in Informatics 2017 은 문제와 TC (Test link) 가 제공이 되기 때문에
아래와 같이 요청하면 등록이 된다.



제출하고 나면 등록시에 써 둔 이메일 주소에 접수 및 추가에 대한 안내 메일이 옵니다.


등록 요청 했던 기록을 찾아 보니...
방금 전에 요청했던 게 바로 메일로 왔고, 음.. IOI 2016 건만 신청한게 등록이 안 되어 있네요!!

다시 등록 요청했습니다....

* 주의: IOI 는 문제 형태가 달라서 등록이 어려워 시간나면 해주신다고 답해주심...



* 2017-10-20 에 International Tournament in Informatics 2009 추가 요청


10 월 28 일에 받은 답변: Shumen 2009는 BOI 2009와 동일하기 때문에 올리지 않았습니다.


2017년 10월 6일 금요일

Olympiad 문제 모음

Olympiad 문제 모음...

BOJ: https://www.acmicpc.net/category/2

All - Ireland Programming Olympiad (go)
Asia - Pacific Informatics Olympiad (go)
Balkan Olympiad in Informatics (go)
Baltic Olympiad in Informatics (go)
Canadian Computing Competition & Olympiad (go)
Central European Olympiad in Informatics (go)
Croatian Highschool Competitions in Informatics (go)
European Junior Olympiad in Informatics (go)
International Olympiad in Informatics (go)
International Tournament in Informatics (go)
International Zhautykov Olympiad
Junior Balkan Olympiad in Informatics (go)
Junior Polish Olympiad in Informatics
Latvian olympiad in informatics
Malaysian Computing Olympiad (go)
National Olympiad in Informatics(China)
National Olympiad in Informatics(Singapore)
Nordic Olympiad in Informatics (go)
Polish Olympiad in Informatics (go)
USA Computing Olympiad (go)
일본정보올림피아드 / 일본정보올림피아드 예선 (go)
한국정보올림피아드 / 한국정보올림피아드시․도지역본선 (go)

Japan - Asia Regional Contest 문제 정리

Japan - Asia Regional Contest 문제는 최근 몇 년간은 TC (Judge Data) 가 제공이 되네요.

BOJ 는 https://www.acmicpc.net/category/43 에서..


Japan - Asia Regional Context : https://icpc.iisf.or.jp/past/?lang=en 에 정리되어 있고,

Domestic 과 Regional 로 구분된 table 에서 data file 을

선택하면 아래 폴더가 보이는데, table 에는 Judge Data 가 없더라고 아래 폴더 찾아보면 있는 경우가 있으니 잘 찾아보시길..

https://icpc.iisf.or.jp/past-icpc/




  • Domestic Contest
    • 2018 Domestic Contest

    • 2017 Domestic Contest

    • 2016 Domestic Contest

    • 2015 Domestic Contest

    • 2014 Domestic Contest

    • 2013 Domestic Contest

    • 2012 Domestic Contest

    • 2011 Domestic Contest

    • 2010 Domestic Contest

    • 2009 Domestic Contest

    • 2008 Domestic Contest

    • 2007 Domestic Contest

    • 2006 Domestic Contest

    • 2005 Domestic Contest

    • 2004 Domestic Contest


  • Asia Regional Contest 2017

  • Asia Regional Contest 2016

  • Asia Regional Contest 2015

  • Asia Regional Contest 2014

  • Asia Regional Contest 2013

  • Asia Regional Contest 2012

  • Asia Regional Contest 2011

  • Asia Regional Contest 2010

  • Asia Regional Contest 2009

  • Asia Regional Contest 2008

  • Asia Regional Contest 2007

  • Asia Regional Contest 2006

  • Asia Regional Contest 2005

  • Asia Regional Contest 2004

  • Asia Regional Contest 2003

  • Asia Regional Contest 2001

2017년 10월 2일 월요일

North American Invitational Programming Contest (NAIPC) 문제 정리

North American Invitational Programming Contest (NAIPC) 문제는 TC (Judge data) 와 정답(Solution) 까지 잘 정리가 되어 있습니다...

BOJ 에는 https://www.acmicpc.net/category/90

아래 링크에 보면 문제별 test case 가 있어서 받아서 해보거나 solutions 를 보고 답을 참고할 수도 있네요...





2017년 9월 22일 금요일

North America Qualification Contest 문제 정리

North America Qualification Contest 문제는 설명(Judge's explanation)도 있고, TC (Judge's test data)도 있고 좋네요..

BOJ 는 여기로 https://www.acmicpc.net/category/305

다운로드는 여기로 http://cs.baylor.edu/~hamerly/icpc/

연도별로 선택하고
문제 설명은 Judge's explanations, TC 는 Judge's test data 를 선택하면 되네요....

문제 설명은 요런 식으로..




  • ACM-ICPC North America Qualifier 2018

  • ACM-ICPC North America Qualifier 2017

  • ACM-ICPC North America Qualifier 2016

  • ACM-ICPC North America Qualifier 2015

  • ACM-ICPC North America Qualifier 2014
  • ACM-ICPC North America Qualifier 2013

  • ACM-ICPC North America Qualifier 2012



2017년 9월 21일 목요일

Mid-Central European Regional Contest (MCERC) 문제 정리

Mid-Central European Regional Contest (MCERC) 문제는
입출력 데이터 (TC) 만 제공이 되고,

BOJ 는 https://www.acmicpc.net/category/166

http://acm.informatik.uni-freiburg.de/ 에 가면 받을 수 있네요




  • MCERC 2000
  • MCERC 1999

2017년 9월 10일 일요일

Arab Collegiate Programming Contest 문제 정리

Arab Collegiate Programming Contest 문제는 test data 는 제공이 되고, 공식 답안은 제공이 안 되는 듯 하네요.

BOJ 는 여기에서 https://www.acmicpc.net/category/35

http://acmacpc.org/ 로 이동 후에 archive 선택해서 연도별로 제공되는 페이지에 가면 The Judge I/O 에 TC 가 있습니다.



  • 2014 Arab Collegiate Programming Contest
  • 2013 Arab Collegiate Programming Contest
  • 2012 Arab Collegiate Programming Contest
  • 2011 Arab Collegiate Programming Contest
  • 2010 Arab Collegiate Programming Contest
  • 2009 Arab Collegiate Programming Contest
  • 2008 Arab Collegiate Programming Contest
  • 2007 Arab Collegiate Programming Contest
  • 2006 Arab Collegiate Programming Contest (http://acmacpc.org/archive/y2006/)
  • 2005 Arab Collegiate Programming Contest

2017년 8월 29일 화요일

알고리즘 대회 관련 자료 저장소(비공식 NWERC/IDI Open)

1) http://archive.algo.is/icpc/


NWERC 문제 중에 2 년 정도의 데이터가 있었던 공식 사이트가 죽어서 찾다 보니 누군가 정리를 해둔 사이트가 있네요

정답코드(일부)와 TC(대부분)가 제공

ACM-ICPC World Finals 문제 (아래 연도별로 정리된 것들)

Northwestern European Regional Contest (NWERC) 문제

Southwestern European Regional Contest (SWERC) 문제

외 몇 가지..




2) IDI Open Contest 2007 ~ 2013


marteloge 라는 분의 github repository 에 IDI Open Contest 중에 2014 년도 제외하고, test data 와 정답코드까지 정리가 되어 있네요

BOJ 에는 https://www.acmicpc.net/category/326

=> https://github.com/marteloge/Programming-contests/tree/master/IDI%20Open



3)

2017년 8월 19일 토요일

ACM-ICPC World Finals 문제 정리

ACM-ICPC World Finals 문제는 최근 몇 해의 test case 만 제공이 되고 있고,
공식적인 자료 외에도 문제에 대한 비공식 설명 자료들이 많으니 google 검색을 잘 이용해서 입맛에 맞는 것을 참고하면 될 듯 하네요...

BOJ 에는 https://www.acmicpc.net/category/4 에서

https://icpc.baylor.edu/worldfinals/problems 에 잘 정리가 되어 있습니다.





  • 2018 World Finals
  • 2017 World Finals
    • A:
    • B:
    • C:
    • D:
    • E:
    • F:
    • G:
    • H:
    • I:
    • J:
    • K:
    • L:
  • 2016 World Finals
  • 2015 World Finals
  • 2014 World Finals
  • 2013 World Finals
  • 2012 World Finals
  • 2011 World Finals


2017년 8월 14일 월요일

간단히 test data 만들어 보는 방법 (1)

유형별 간단히 test data 만들어 보는 방법

Case 1) 1431번: 시리얼 번호 (https://www.acmicpc.net/problem/1431)

이 문제는 시리얼 번호의 개수가 1000 개까지 주어질 수 있고,
개별 시리얼 번호는 최대 50자의 대문자와 숫자로 이루어지고 중복되지 않는다.

예제 입력을 보면 아래와 같다.

5
ABCD
145C
A
A910
Z321


worst case 인 1000 으로 test data 를 만들어보고 싶은 경우에
https://www.random.org/strings/ 로 가서 아래와 같이 설정하면 유사한 데이터를 얻어낼 수 있다.


최대 20 글자라서 50 자를 확인할 수는 없지만, Get Strings 를 해보면 아래와 같이 결과물을 보여준다.



Visual Studio 같은 쓰고 있는 tool 에 copy & paste 해서 쓰면 됩니다.



Case 2) 14503번: 로봇 청소기(https://www.acmicpc.net/problem/14503)

worst case 로 최대 50 * 50 크기를 가지고 1 로 외곽을 구성하고, 내부는 0 과 1 로 되어 있는 랜덤 데이터를 생각해 볼 수 있는데,

https://www.random.org/integers/ 에서 아래와 같이 설정해서 만든 후에 Visual Studio 의 input.txt 에 붙여넣기를 하고, Alt + 마우스 click 으로 text block 설정해서 외곽선을 1 로 바뀌주면 된다(외곽선만 다른 곳에서 Ctrl + H 로 모두 바꿔준다.. Alt + block 으로 copy 된 영역은 paste 시에 그대로 적용됨)



Case 3) 14720번: 우유 축제(https://www.acmicpc.net/problem/14720)
           14722번: 우유 도시(https://www.acmicpc.net/problem/14722)

N * N 에 0 1 2 로 이루어진 형태이고, 랜덤하게 나와도 되기 때문에 https://www.random.org/integers/ 이용하면 상당히 쉽게 데이터를 만들 수 있다.

N 이 100 인 test data 만들어 보기

2017년 8월 9일 수요일

Croatian Programming Contest (CPC) 문제 정리

Croatian Programming Contest 문제는

Solutions/정답 코드: 연도별로 다름
Testcase(TC)/Input, Output/입출력 데이터: O
BOJ: https://www.acmicpc.net/category/366

정리가 아주 잘 되어 있어서 찾아보기 편하고, 다만, 영어가 아니라서 원문의 문제 제목과 비교해서 찾으면 됩니다...



참고로, 구글 번역기 돌리면 되는거지만,
Test podaci 가 대회에서 사용한 Test case 이고,
Rješenja 가 정답 코드



2017년 7월 31일 월요일

시간 측정을 위해 chrono 사용법 정리

* 상세 내용 아래 참조
출처1: https://fias.uni-frankfurt.de/pm/issues/566
         첨부 PDF 참조
         https://fias.uni-frankfurt.de/pm/attachments/download/1496/chrono.pdf

출처2: http://www.cplusplus.com/reference/chrono/


시간 측정을 위해 chrono 사용법 간단 정리


1:  #include <iostream>  
2:  #include <chrono>  
3:  using namespace std;  
4:  using namespace chrono; // std 내에 chrono 가 존재  
5:  int main(void) {  
6:      system_clock::time_point start = system_clock::now();  
7:      int a = 0;  
8:      for (int i = 0; i < 10000000; i++) {  
9:          a++;  
10:      }  
11:      system_clock::time_point end = system_clock::now();  
12:      microseconds microSec = duration_cast<microseconds>(end - start);  
13:      cout << microSec.count() << " us\n";  
14:      return 0;  
15:  }  

시작
system_clock::time_point start = system_clock::now();


system_clock::time_point end = system_clock::now();

시간 계산
microseconds microSec = duration_cast<microseconds>(end - start);

출력
cout << microSec.count() << " us\n";

us (micro seconds) : 1 / 1000000 sec
ms (milli seconds) : 1 / 1000 sec

2017년 7월 23일 일요일

South Central USA Regional Programming Contest 문제 정리

South Central USA Regional Programming Contest 문제는

Solutions/정답 코드: O
Testcase(TC)/Input, Output/입출력 데이터: O
BOJ: https://www.acmicpc.net/category/39

연도별로 정답과 TC 가 있는 경우도 있고, 없는 경우도 있고, 링크가 죽은 경우도 있습니다.









2017년 7월 7일 금요일

Tehran Site 문제 정리

Tehran Site 문제는

Solutions/정답 코드: X
Testcase(TC)/Input, Output/입출력 데이터: O
BOJ: https://www.acmicpc.net/category/163
Link: http://icpc.sharif.edu/2018/archive

정답은 아쉽게도 없지만, TC 는 정리가 잘 되어 있네요...





  • Tehran Site 2017
  • Tehran Site 2016
  • Tehran Site 2015
  • Tehran Site 2014
  • Tehran Site 2013
  • Tehran Site 2012
  • Tehran Site 2010
  • Tehran Site 2009
  • Tehran Site 2008
  • Tehran Site 2007
  • Tehran Site 2006
  • Tehran Site 2005
  • Tehran Site 2004
  • Tehran Site 2003
  • Tehran Site 2002
  • Tehran Site 2001
  • Tehran Site 2000
  • Tehran Site 1999

2017년 6월 28일 수요일

알고리즘 트레이닝 [책]

국내 서적으로는 구종만 님의 알고리즘 문제해결 전략이 많이 추천이 되고, 해외 서적으로는 Competitive Programming 이 많이 추천되어서 사서 보기 시작했습니다. 물론, 번역판이 있어서....

원서: Competitive Programming: The New Lower Bound of Programming Contests
       혹은, Competitive Programming 3
       (third edition 이다..)
Site: https://cpbook.net
UVa Online Judge 문제 모음: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=604

번역서: 알고리즘 트레이닝: 자료 구조, 알고리즘 문제 해결 핵심 노하우
          (프로그래밍인사이트)

UVa Online Judge 문제를 풀면서 진행이 되는데,
백준님이 책을 출간하면 acmicpc.net 의 문제가 예제로 나오겠다는 생각이 들었네요..

< 목차 >
1장 도입
1.1 경진 프로그래밍
1.2 경진에 능숙해지기 위한 팁
1.2.1 1번 팁: 빠른 속도로 코딩하자!
1.2.2 2번 팁: 문제 유형을 빠르게 파악하자
1.2.3 3번 팁: 알고리즘 분석을 수행하자
1.2.4 4번 팁: 프로그래밍 언어에 능숙해지자
1.2.5 5번 팁: 코드를 테스트하는 기술에 능숙해지자
1.2.6 6번 팁: 연습하고 또 연습하자
1.2.7 7번 팁: (ICPC를 위한) 팀워크
1.3 첫걸음 떼기: 쉬운 문제들
1.3.1 프로그래밍 대회 문제 뜯어보기
1.3.2 자주 사용되는 입출력 루틴
1.3.3 여정의 시작
1.4 애드혹 문제
1.5 별표가 없는 연습 문제에 대한 풀이
1.6 이 장을 마치며

2장 자료 구조와 라이브러리
2.1 개요 및 동기
2.2 내장된 라이브러리가 있는 선형 자료 구조
2.3 내장된 라이브러리가 있는 비선형 자료 구조
2.4 자체적인 라이브러리가 필요한 자료 구조
2.4.1 그래프
2.4.2 유니온-파인드 상호 배타적 집합
2.4.3 구간 트리
2.4.4 이진 인덱스 트리(펜윅 트리)
2.5 별표가 없는 연습 문제에 대한 풀이
2.6 이 장을 마치며

3장 문제 해결 패러다임
3.1 개요 및 동기
3.2 완전 탐색
3.2.1 반복적 완전 탐색
 - UVa 725 - Division
   BOJ ?
 - UVa 441 - Lotto
   BOJ, 6603번: 로또 (https://www.acmicpc.net/problem/6603)
 - UVa 11565 - Simple Equations
   BOJ 유사 문제, 4690번: 완전 세제곱 (https://www.acmicpc.net/problem/4690)
   BOJ 유사 문제, 10448번:유레카 이론 (https://www.acmicpc.net/problem/10448)
 - UVa 11571 - Simple Equations - Extreme!!
   BOJ ?
 - UVa 11742 - Social Constraints
   BOJ ?
3.2.2 재귀적 완전 탐색
 - UVa 750 - 8 Queens Chess Problem
 - UVa 11195 - Another n-Queen Problem
   BOJ 유사 문제, 9663번: N-Queen (https://www.acmicpc.net/problem/9663)
3.2.3 팁
 - UVa 10360 - Rat Attack
   BOJ, 7563번: Rat Attack (https://www.acmicpc.net/problem/7563)
   BOJ 유사문제, 7573번: 고기잡이 (https://www.acmicpc.net/problem/7573)
3.3 분할 정복
3.3.1 이진 탐색의 흥미로운 활용 예
 - UVa 11935 - Through the Desert
3.4 탐욕법
3.4.1 예제
3.5 DP
3.5.1 DP의 예
 - UVa 11450 - Wedding Shopping
3.5.2 고전적인 예제 문제들
 - UVa 507 - Jill Rides Again
 - UVa 108 - Maximum Sum
3.5.3 고전적이지 않은 예제 문제
3.6 별표가 없는 연습 문제에 대한 풀이
3.7 이 장을 마치며

4장 그래프
4.1 개요 및 동기
4.2 그래프 탐색
4.2.1 깊이 우선 탐색
4.2.2 너비 우선 탐색
4.2.3 연결된 컴포넌트 구하기(무방향 그래프)
4.2.4 플러드 필(연결된 컴포넌트에 번호를 붙이거나 색칠하기)
4.2.5 위상 정렬(사이클 없는 방향 그래프)
4.2.6 이분 그래프 검사
4.2.7 DFS 스패닝 트리를 이용한 그래프의 간선 속성 검사
4.2.8 절단점 및 다리 구하기(무방향 그래프)
4.2.9 강결합 컴포넌트 구하기(방향 그래프)
4.3 최소 스패닝 트리
4.3.1 개요 및 동기
4.3.2 크루스칼 알고리즘
4.3.3 프림 알고리즘
4.3.4 몇 가지 활용 예
4.4 단일 시작점 최단 경로
4.4.1 개요 및 동기
4.4.2 가중치 없는 그래프에 대한 단일 시작점 최단 경로
4.4.3 가중치 그래프에 대한 단일 시작점 최단 경로
4.4.4 음수 사이클이 존재하는 그래프에 대한 단일 시작점 최단 경로
4.5 모든 쌍 최단 경로
4.5.1 개요 및 동기
4.5.2 플로이드-워셜의 DP 풀이에 대한 설명
4.5.3 몇 가지 활용 예
4.6 네트워크 유량
4.6.1 개요 및 동기
4.6.2 포드-풀커슨 기법
4.6.3 에드몬드-카프 알고리즘
4.6.4 유량 그래프 모델링 - 1부
4.6.5 몇 가지 활용 예
4.6.6 유량 그래프 모델링 - 2부
4.7 특수 그래프
4.7.1 사이클 없는 방향 그래프
4.7.2 트리
4.7.3 오일러 그래프
4.7.4 이분 그래프
4.8 별표가 없는 연습 문제에 대한 풀이
4.9 이 장을 마치며

5장 수학
5.1 개요 및 동기
5.2 애드혹 수학 문제
5.3 Java BigInteger 클래스
5.3.1 기본 기능
5.3.2 부가 기능
5.4 조합론
5.4.1 피보나치 수
5.4.2 이항 계수
5.4.3 카탈란 수
5.4.4 프로그래밍 대회에서의 조합론에 대한 첨언
5.5 정수론
5.5.1 소수
5.5.2 최대공약수와 최소공배수
5.5.3 팩토리얼
5.5.4 최적화된 나눗셈 시도 방법으로 소인수 구하기
5.5.5 소인수 다루기
5.5.6 소인수를 다루는 함수
5.5.7 수정된 체
5.5.8 모듈로 연산
5.5.9 확장된 유클리드 알고리즘: 선형 디오판토스 방정식 풀기
5.5.10 프로그래밍 대회에서의 정수론에 대한 첨언
5.6 확률론
5.7 사이클 찾기
5.7.1 효율적인 자료 구조를 사용하는 풀이
5.7.2 플로이드의 사이클 찾기 알고리즘
5.8 게임 이론
5.8.1 결정 트리
5.8.2 풀이가 빨라지도록 하기 위한 수학적 통찰
5.8.3 님 게임
5.9 별표가 없는 연습 문제에 대한 풀이
5.10 이 장을 마치며

6장 문자열 처리
6.1 개요 및 동기
6.2 기본적 문자열 처리 기법
6.3 애드혹 문자열 처리 문제
6.4 문자열 매칭
6.4.1 라이브러리를 이용한 풀이
6.4.2 KMP 알고리즘
6.4.3 2차원 격자에 대한 문자열 매칭
6.5 동적 계획법을 이용한 문자열 처리
6.5.1 문자열 정렬(편집 거리)
6.5.2 최장 공통 부분 수열
6.5.3 DP로 풀 수 있는 고전적이지 않은 문자열 처리 문제
6.6 접미사 트라이?트리?배열
6.6.1 접미사 트라이 및 그 활용 예
6.6.2 접미사 트리
6.6.3 접미사 트리의 활용 예
6.6.4 접미사 배열
6.6.5 접미사 배열의 활용 예
6.7 별표가 없는 연습 문제에 대한 풀이
6.8 이 장을 마치며

7장 (계산) 기하
7.1 개요 및 동기
7.2 기본적인 도형 및 라이브러리
7.2.1 0차원 도형: 점
7.2.2 1차원 도형: 직선
7.2.3 2차원 도형: 원
7.2.4 2차원 도형: 삼각형
7.2.5 2차원 도형: 사각형
7.3 다각형 관련 알고리즘 및 라이브러리
7.3.1 다각형의 표현법
7.3.2 다각형의 둘레
7.3.3 다각형의 면적
7.3.4 다각형이 볼록한지 검사하기
7.3.5 어떤 점이 다각형 내부에 있는지 검사하기
7.3.6 다각형을 직선으로 자르기
7.3.7 점들의 집합의 볼록 껍질 구하기
7.4 별표가 없는 연습 문제에 대한 풀이
7.5 이 장을 마치며

8장 고급 주제
8.1 개요 및 동기
8.2 고급 탐색 기법
8.2.1 비트마스크를 이용한 퇴각 검색
8.2.2 가지치기를 많이 사용한 퇴각 검색
8.2.3 BFS나 다익스트라 알고리즘을 이용한 상태 공간 탐색
8.2.4 중간 만남 기법(양방향 탐색)
8.2.5 정보 탐색(A*와 IDA*)
8.3 고급 DP 기법
8.3.1 비트마스크를 이용한 DP
8.3.2 자주 사용되는 (DP) 인자 모음
8.3.3 오프셋 기법을 이용하여 인자의 값이 음수인 경우 처리하기
8.3.4 MLE? 메모 테이블로 균형 잡힌 이진 검색 트리를 사용하는 것을 검토해보자
8.3.5 MLE?TLE? 더 나은 상태 표현법을 사용하자
8.3.6 MLE?TLE? 인자를 하나 생략하고 다른 인자들을 사용하여 이를 복구하자
8.4 문제 분해하기
8.4.1 두 가지 요소: 답에 대한 이진 탐색과 다른 요소
8.4.2 두 가지 요소: 정적인 1차원 구간 합?최소?최대 질의 사용하기
8.4.3 두 가지 요소: 그래프 사전 처리와 DP
8.4.4 두 가지 요소: 그래프를 다루는 문제
8.4.5 두 가지 요소: 수학을 다루는 문제
8.4.6 두 가지 요소: 완전 탐색과 기하
8.4.7 두 가지 요소: 효율적인 자료 구조 사용하기
8.4.8 세 가지 요소
8.5 별표가 없는 연습 문제에 대한 풀이
8.6 이 장을 마치며

9장 희귀한 주제
9.1 개요 및 동기
9.2 2-SAT 문제
9.3 미술관 문제
9.4 바이토닉 여행하는 외판원 문제
9.5 괄호 짝 맞추기
9.6 중국인 우편배달부 문제
9.7 가장 가까운 쌍 문제
9.8 디닉 알고리즘
9.9 공식 및 정리
9.10 가우스 소거법 알고리즘
9.11 그래프 매칭
9.12 대원 거리
9.13 홉크로프트-카프 알고리즘
9.14 독립적이거나 간선이 상호 배타적인 경로
9.15 반전 인덱스
9.16 조세푸스 문제
9.17 나이트의 이동
9.18 코사라주 알고리즘
9.19 최소 공통 조상
9.20 (홀수 크기의) 마방진 만들기
9.21 행렬 곱셈 순서 문제
9.22 행렬의 거듭제곱
9.23 최대 가중치 독립 집합
9.24 최소 비용 (최대) 유량
9.25 DAG에 대한 최소 경로 덮개
9.26 팬케이크 정렬
9.27 폴라드 로 정수 소인수분해 알고리즘
9.28 후위 표현식 계산하기 및 변환하기
9.29 로마 숫자
9.30 선택 문제
9.31 더 빠른 최단 경로 알고리즘
9.32 슬라이딩 윈도
9.33 선형 시간 정렬
9.34 희소 테이블 자료 구조
9.35 하노이 탑
9.36 이 장을 마치며

2017년 6월 17일 토요일

International Olympiad in Informatics (IOI) 문제 정리

International Olympiad in Informatics (IOI) 문제

Solutions/정답 코드: O
Testcase(TC)/Input, Output/입출력 데이터: O
BOJ: https://www.acmicpc.net/category/99
Link: https://ioinformatics.org/page/ioi-xxxx (xxxx 를 연도로..)




Test cases 와 Solutions to all problems 를 선택하시면 됩니다..




2017년 6월 5일 월요일

Mid-Atlantic Regional 문제 정리

Mid-Atlantic Regional 

Solutions/정답 코드: 
Testcase(TC)/Input, Output/입출력 데이터: 
BOJ: https://www.acmicpc.net/category/38
LlNK1: http://midatl.fireduck.com/archive/


LINK2: http://www.radford.edu/~acm/midatl/docs/previousContests/
여기는 2017. 11. 05 에 확인해 보니 링크 죽은 상태... 영구적인지 일시적인 문제인지...


찾은 새 링크.. http://people.cs.vt.edu/~gback/ICPCHandbook/pastproblemsets/


2017년 6월 1일 목요일

2017년 5월 26일 금요일

문제해결 도움얻기 - UVa Online Judge / HELP ON THE PROBLEMSET

문제가 잘 안 풀릴 때의 참고자료 찾아보기 방법 중의 하나로

UVa Online Judge / HELP ON THE PROBLEMSET 도 괜찮다...

각 문제별로 토론하는 곳이 있는데, 여기서 참고할 만한 것이 있는지 보면 된다.
(* BOJ 의 경우에 질문 검색이 유사할 것 같은데, 이런 형태는 보기가 좀 불편한 듯)

https://uva.onlinejudge.org/board/index.php



예를 들어, Psuedo-Random Numbers (https://www.acmicpc.net/problem/6426) 문제를 한 번 보자.

ACM-ICPC > Regionals > North America > North Central North America Regional > NCNA 1996 F번 문제로 너무 오래된 문제 공식 사이트에서는 데이터가 존재하지를 않는다.

google 검색을 통해서 UVa 번호를 알아서 찾아가 보면 된다.
검색어(문제제목 + site 한정): pseudo-random numbers site:uva.onlinejudge.org



도움이 될만한 코드도 있을 수 있겠지만, 아래와 같이 대략적인 힌트가 있으면 좋은 참고가 될 수 있다



2017년 5월 25일 목요일

North Central North American Regional (NCNA) 문제 정리

North Central North American Regional (NCNA) 문제는

Solutions/정답 코드: △
Testcase(TC)/Input, Output/입출력 데이터: △
Link: http://ncna-region.unl.edu/
BOJ: https://www.acmicpc.net/category/167


문제만 있고, 정답 코드나 입출력 데이터는 제공이 안 되는 경우가 많네요..

  • NCNA 2017
  • NCNA 2014
  • NCNA 2013
  • NCNA 1997
  • NCNA 1996
  • NCNA 1993



2017년 5월 21일 일요일

2017 고려대학교/연세대학교 프로그래밍 경진대회 솔루션



솔루션 => https://www.acmicpc.net/board/view/15506



솔루션 => https://www.acmicpc.net/board/view/15362

2017년 5월 19일 금요일

North-Eastern European Regional Contest (NEERC) 문제 정리

North-Eastern European Regional Contest (NEERC) 문제는

Solutions/정답 코드: O
Testcase(TC)/Input, Output/입출력 데이터: 
Link: https://neerc.ifmo.ru/archive/index.html
BOJ: https://www.acmicpc.net/category/11

Link 타고 들어가서 해당 년도로 간 다음에 Test / Jury Archive / Archive 받아서 보면 됩니다


연도 선택하면 나오는 화면에서 위에는 본 대회 데이터가 있고, 그 아래에 지역 대회(regional)에 대한 데이터가 있습니다




  • NEERC Subregional Contest
    • NEERC Northern Subregional 2017
    • NEERC Northern Subregional 2016
    • NEERC Northern Subregional 2015
    • NEERC Northern Subregional 2014
    • NEERC Northern Subregional 2013
    • NEERC Northern Subregional 2012
    • NEERC Northern Subregional 2011
    • NEERC Nothern Subregional 2010
    • NEERC Nothern Subregional 2009
    • NEERC Nothern Subregional 2008
    • NEERC Nothern Subregional 2007
    • NEERC Nothern Subregional 2006
    • NEERC Far - Eastern Subregional 2005
    • NEERC Nothern Subregional 2005
    • NEERC Western Subregional 2005
    • NEERC Far - Eastern Subregional 2004
    • NEERC Nothern Subregional 2004
    • NEERC Far - Eastern Subregional 2003
    • NEERC Nothern Subregional 2003
    • NEERC Far - Eastern Subregional 2002
    • NEERC Northern Subregional 2002
    • NEERC Far - Eastern Subregional 2000

  • NEERC 2017
  • NEERC 2016
    • A:
    • B:
    • C:
    • D:
    • E:
    • F:
    • G:
    • H:
    • I: X
    • J:
    • K:
    • L:
    • M:
  • NEERC 2015
  • NEERC 2014
  • NEERC 2013
  • NEERC 2012
  • NEERC 2011
  • NEERC 2010
  • NEERC 2009
  • NEERC 2008
  • NEERC 2007
  • NEERC 2006
  • NEERC 2005
  • NEERC 2004
  • NEERC 2003
  • NEERC 2002
  • NEERC 2001
  • NEERC 2000
  • NEERC 1999
  • NEERC 1998