나는 윈도우에서는 Sublime을 쓰고 우분투에서는 Vim을 사용한다. 무거운 프로그램을 싫어하는 것이 주된 이유이고 위의 에디터들이 예쁘기 때문이기도 하다. Sublime은 다음 링크를 읽고 따라하면 쉽게 적응할 수 있다. https://www.acmicpc.net/blog/view/24 Vim의 경우는 입문하는데 시간이 좀 걸리는데 사실 Vim을 쓸 수 밖에 없는 상황이 오지 않는 이상 사용할 이유가 별로 없다. 만약 Vim을 쓰고 싶다면 Neovim을 추천한다. 그냥 Vim보다 훨씬 예쁘고 기능이 다양하다. 다음 링크의 글들을 쭉 읽다보면 Neovim을 쉽게 사용할 수 있다. http://mjae.kr/2016/10/01/vimlinux-1-vim%ec%9d%84-%ec%99%9c-%ec%93%b0..
Heavy Light Decomposition(HLD)은 트리 위의 임의의 두 점을 지나는 경로가 O(logN)개의 직선만 지나도록 트리를 직선들로 나누는 것을 말한다. 직선에 세그먼트 트리를 넣는다면 여러 쿼리 연산을 쉽게 처리할 수 있다. HLD를 이해하는 데에는 다음과 같은 링크가 도움이 된다. 한국말로 쉽게 설명이 되어 있다.http://theyearlyprophet.com/heavy-light-decomposition.html 위의 링크보다 코드 구현이 간단하다. 영어가 된다면 이걸 보는게 더 좋을 것 같다.https://blog.anudeep2011.com/heavy-light-decomposition/