본문 바로가기

전체 글

(168)
백준 13913 숨바꼭질 4 https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 �� www.acmicpc.net queue와 stack을 이용해서 풀었다. /* 숨바꼭질 4 */ #include #include #include #include #include #define pp pair using namespace std; int N, K; int arr[200001]; void input(); void solve(); int main(void) { ios_base::..
백준 1963 소수 경로 https://www.acmicpc.net/problem/1963 1963번: 소수 경로 문제 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응 www.acmicpc.net bfs와 그리디하게 풀면 된다. 요즘 고급 알고리즘 공부를 많이 접하다보니까 이 문제를 특정 알고리즘으로 풀려다가 시간을 많이 날렸다... 밸런스가 중요한 것 같다. /* 소수 경로 */ #include #include #include #include #include #define INTMAX 10000 + 1 using namespace std; string a, b; int check[INTMAX]; ..
백준 11438 LCA2 https://www.acmicpc.net/problem/11438 11438번: LCA 2 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정� www.acmicpc.net Segment Tree를 이용한 LCA로 이 문제를 풀 수 있다. /* LCA2 */ #include #include #include #include #define pp pair #define INTMAX 2100000000 using namespace std; int N, first_touch[100001], path_idx; vector path, seg_tree; vector ed..