본문 바로가기

알고리즘 문제풀이/백준134

[백준 14588] Line Friends (Small) www.acmicpc.net/problem/14588 14588번: Line Friends (Small) Q개의 줄에 걸쳐 두 선분이 가까운 정도를 출력한다. 만약, 두 선분 사이의 친구 관계가 단절되었다면 -1을 출력한다. www.acmicpc.net #include #include #include #define MAX 1e9 using namespace std; struct s { int left, right; }; int n, l, r, q, a, b; s arr[301]; int dis[301][301]; bool check(int a, int b) { if (arr[a].right < arr[b].left || arr[b].right < arr[a].left) { return 0; } retur.. 2021. 1. 2.
[백준 2015] 수들의 합 4 www.acmicpc.net/problem/2015 2015번: 수들의 합 4 첫째 줄에 정수 N과 K가 주어진다. (1 ≤ N ≤ 200,000, |K| ≤ 2,000,000,000) N과 K 사이에는 빈칸이 하나 있다. 둘째 줄에는 배열 A를 이루는 N개의 정수가 빈 칸을 사이에 두고 A[1], A[2], ..., A[N]의 순서로 www.acmicpc.net 누적합과 구간합을 알아야 하는 문제이다. 가끔 보이는 유형인데 볼 때마다 못 푼다...ㅠㅠㅠ eazymean.tistory.com/43 [알고리즘] Prefix Sum 구간 합/누적 합 알고리즘 prefix sum이란 구간 합을 의미한다. 예를 들어, int arr[5] = {10,20,30,40,50}; prefix sum은 prefix[i].. 2021. 1. 1.
[백준 6118] 숨바꼭질 www.acmicpc.net/problem/6118 6118번: 숨바꼭질 재서기는 수혀니와 교외 농장에서 숨바꼭질을 하고 있다. 농장에는 헛간이 많이 널려있고 재서기는 그 중에 하나에 숨어야 한다. 헛간의 개수는 N(2 2021. 1. 1.
[백준 2262] 토너먼트 만들기 www.acmicpc.net/problem/2262 2262번: 토너먼트 만들기 월드시에서는 매년 n명의 사람들이 모여 월드 크래프트라는 게임의 토너먼트 대회를 치른다. 이 게임은 특성상 실력만이 승패를 좌우하기 때문에, 아무리 실력이 엇비슷한 사람이 시합을 치러 www.acmicpc.net 그리디 알고리즘 첨에 우선순위큐를 쓰려했는데 위치가 고정이라 힘들것 같아서 단순 배열을 사용했다. 로직은 이렇다. 가장 큰 등수인 n부터 양쪽을 살펴서 차이가 작은 쪽을 택해서 그 차를 정답에 더하는 것이다. 그리고 나서 가장 큰 등수는 팝해준다. #include #include using namespace std; int n; int arr[256]; int main(void) { scanf("%d", &n); f.. 2020. 12. 31.