Problem solving(16)
-
LCA 예제 코드
#include using namespace std; typedef long long ll; typedef long double ld; typedef pair pii; typedef pair pll; typedef pair pdd; //변수 선언 vector v[100006]; int parent[100006]; int depth[100006]; bool visited[100006]; int table[100006][17]; //log2(100000)=16.6xx... void find_p(int cur, int par, int dep){ //트리의 깊이, 부모정보를 저장하는 함수 visited[cur]=true; parent[cur]=par; depth[cur]=dep; for(int i=0;i>n; ..
2020.06.03 -
실수(real number)포비아 를 위한 ceil(x/y)
Codeforces를 사용하다보면 실수에 대하여 ceil함수를 사용해야하는 경우가 상당히 많습니다. 많은 프로그래밍언어에서 제한적인 floating point로 인해 실수연산에 대한 결과값을 신뢰할 수 없는 경우가 많습니다. 따라서 ceil연산을 사용할때 다음과 같은 연산을 사용하길 권장합니다. $$ceil(x/y) = (x+y-1)/y$$ *좌항의 나눗셈 연산자는 우리가 수학에서 사용하는 연산자, 우항의 나눗셈 연산자는 프로그래밍에서 흔히 사용되는 몫을 구하는 연산자임을 참고하세요
2020.05.29 -
그래프 그리는 툴 (CS Academy Graph Editor)
https://csacademy.com/app/graph_editor/ CS Academy csacademy.com CS Academy에서 제공하는 Graph Editor를 사용하면 연습장에서 그래프를 직접 그리는 것 보다 훨씬 간결하고 예쁘고 수정이 용이한 그래프를 그릴 수 있습니다. 또한 우리가 Problem Solving을 할때 그래프를 입력받는 것과 같은 형태로 입력하여 그래프를 나타내는 기능도 있습니다. 한번 사용해보세요!
2020.05.11 -
백준 300 솔브 달성 2020.05.04
-
Introduction to Algorithms 강독 시작
Introduction to Algorithms 은 토머스 H. 코르먼(Thomas H. Cormen), 찰스 E. 레이서슨(Charles E. Leiserson), 로널드 라이베스트(Ronald L. Rivest) 그리고 클리포드 스타인(Clifford Stein) 네 명이 공동으로 저술한 알고리즘 입문 서적이다. 저자들의 성 네 글자를 따서 CLRS라고 부르기도 한다. 내가 구매한 Introduction to Algorithms는 2009년 9월에 출간된 3판의 번역서이다. 번역은 문병로, 심규석 그리고 이충세 교수님이 진행하였고, 한빛아카데미에서 출간하였다. 3판 원서 pdf가 있지만 나의 영어 실력이 부족한 관계로 번역서를 구입하였다. 우선 책을 받고 역자 서문과 저자 서문을 빠르게 읽어 보았다...
2020.04.28 -
벨만 포드 알고리즘 (Bellman-Ford algorithm)
벨만 포드 알고리즘(Bellman-Ford algorithm)은 다익스트라 알고리즘과 마찬가지로 하나의 정점에 대한 모든 정점의 최단 거리를 찾는 문제에 적용됩니다. 다익스트라는 음수간선이 존재하면 사용할 수 없지만 벨만 포드 알고리즘은 음수간선이 존재해도 사용할 수 있습니다. 가중치의 합이 0보다 작은 싸이클을 음수 싸이클이라고 하는데, 그래프에 음수 싸이클이 존재하면 벨만 포드 알고리즘을 사용할 수 없습니다. 다음은 벨만 포드 알고리즘이 적용되는 문제입니다. https://www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의..
2020.03.25