Hello

: )

2018년 2월 26일 월요일

알고리즘 문제 풀이에서 C++ 사용시 읽어보면 좋은 내용

C++11 로 설정하고 BOJ 문제를 풀어보고 있는데,
C++ 을 잘 쓰는 것 같지는 않아서 몇 가지 관련 글을 찾아서 읽어 보는 중..

(1) C++11
BOJ 김백준 님이 BOJ 블로그에 쓰신 글로
https://www.acmicpc.net/blog/view/10



(2) C++ Tricks
Codeforces 의 Swift's blog 에서
http://codeforces.com/blog/entry/15643
(Updated: http://codeforces.com/topic/15701/en30)


 요약
 1) list initialization 을 써라
 2) '#' sign 을  써라
   - #define what_is(x) cerr << #x << " is " << x << endl;
 3) include 를 간단하게 해라
   - #include <bits/stdc++.h>
 4) hidden function 을 써라
 5) variadic functions 과 variadic macros 를 써라
  - awesome debugging function
 6) range-based for-loop 와 auto 를 써라
 7) tie 와 emplace_back 을 써라
 8) 유용한 macro 들 몇 가지
 9) lambda 를 써라
 10) STL containers 을 쓸 때 move() 를 활용해라
 11) Raw 스트링을 쓰면 편한 경우가 있다
    - Regular expression 은 여기서 https://regexone.com/
 12) User defined literals 를 쓸 수 있다

(3) C++17, competitive programming edition
Codeforces 의 Igorjan94's blog 에서
http://codeforces.com/blog/entry/57729


(4) C++ 버전별 기능 및 지원 현황

https://en.cppreference.com/w/cpp/compiler_support

 각 버전별로 기능이 정리가 잘 되어 있는 곳..

2018년 2월 17일 토요일

Czech, Polish and Slovak Preparation Camp 문제 정리

Czech, Polish and Slovak Preparation Camp 문제는 정답 코드(Solution)와 Test data (Judge data) 가 공개되어 있습니다...

BOJ 링크: https://www.acmicpc.net/category/221

https://mo.mff.cuni.cz/cpspc/ 에서 연도별로 정리되어 있습니다.


2017 년의 경우에는 그냥 받으면 되고,

나머지 연도는 solution 을 선택해서 받으면 됩니다.



  • CPSPC 2017
  • CPSPC 2010
  • CPSPC 2007
  • CPSPC 2004
  • CPSPC 2002


2018년 2월 12일 월요일

JAG Practice Contest for ACM-ICPC Asia Regional 문제 정리

JAG Practice Contest for ACM-ICPC Asia Regional 문제는 연도별로 data set (Test Data) 이 잘 정리가 되어서 공개되어 있습니다.

다만, 크롬 브라우저로 번역해서 봐야 하는 것이 약간 불편할 뿐...

BOJ Link: https://www.acmicpc.net/category/337

아래 사이트에서 연도별로 선택하면 되고, 크롬 브라우저의 번역하기를 이용하면 됩니다

2017 연도의 경우에 입출력 (19MB) 를 선택...



2012 년의 경우




2018년 2월 10일 토요일

평이 좋은 입문용 알고리즘 강의 (무료)

평이 좋은 입문용 알고리즘 강의가 있네요.

https://www.inflearn.com 에서 알고리즘으로 검색하면,

권오흠 교수님의 무료 강의가 있을 겁니다.



강의 목차는 여기에서
https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B0%95%EC%A2%8C/

강의 화면은 아래와 같고, YouTube 기반이라 모바일에서도 잘 되어서 좋네요..


2018년 2월 9일 금요일

Camp/Contest/High School/University 문제 모음

Camp
BOJ Link : https://www.acmicpc.net/category/220


  • Czech, Polish and Slovak Preparation Camp (go)
  • ILOCAMP Science Camps
  • POI Training Camp (go)
  • Visegrad Programming Contests Preparation Camp


Contest

BOJ Link : https://www.acmicpc.net/category/45




High School

BOJ Link : https://www.acmicpc.net/category/97


  • Cornell University High School Programming Contest
  • PLU High School Programming Contest (go)
  • University of Maryland High School Programming Contest
  • University of Virginia High School Programming Contest (go)
  • Vietnam High School Programming Contest
  • 경기과학고등학교
  • 대구과학고등학교
  • 부산일과학고
  • 서울과학고등학교
  • 선린인터넷고등학교


University

BOJ Link : https://www.acmicpc.net/category/5

2018년 2월 4일 일요일

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

전에 한 번 정리한 적이 있었는데,

간단히 test data 만들어 보는 방법 (1)
http://gooddaytocode.blogspot.kr/2017/08/test-data.html


하다보니 이런 저런 다양한 정보들이 보여서 다시 정리해 둡니다.


1) SPOJ Toolkit

Sphere Online Judge (SPOJ) 에서 운영 중인 곳이고,
http://www.spoj.com/

이름부터 Test Case Generator 라서 훨씬 더 다양한 방식으로 test data 를 만들 수 있다.
http://www.spojtoolkit.com/TestCaseGenerator/




C++ 프로그램으로 만들어져 있는 것들도 있는데,
사용법이 쉽지는 않아서 일반적인 상황에서 쓸까 싶지만 일단 선 정리, 나중에 필요하면 사용...

2) testlib

https://code.google.com/archive/p/testlib/ 출신으로

현재는 https://github.com/MikeMirzayanov/testlib 에서 개발 중..

3) tcframe

codeforces 블로그에서 추천하는 것으로

https://github.com/tcframe/tcframe 에서 개발 중이고,

설명은 http://docs.tcframe.org/en/stable/introduction/introduction.html


2018년 2월 3일 토요일

2018년 2월 1일 목요일

Sub-Regional Brasil do ACM ICPC 문제 정리

Sub-Regional Brasil do ACM ICPC 문제는 TC (Judge Data) 가 공개되어 있고, 문제에 대한 간단한 영문 설명이 제공이 됩니다.

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

2016 년의 경우

2011 년의 경우


선택하면 받을 수 있는 zip 파일이거나 바로 TC 가 있다...