IT/BOJ117 백준(BOJ) 2336 굉장한 학생 *** 세그먼트 트리를 사용하는 문제이다. 이 문제에서는 "데이터 입력을 어떻게 처리하냐가" 중요한것 같다. 상당히 이해하기도 어려웠고 까다로웠던 문제였다. 굉장한 학생이란 3번의 모든 시험에서 학생 본인보다 대단한 학생이 없는 경우이다. 입력에서 1,2,3,5가 4명이 굉장한 학생이 된다. #include #include #include #include #include #include #include #include #include #define MAX 500005 #define INF 987654321 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; typedef struct st { int first; int second;.. 2018. 6. 1. 백준(BOJ) 1920 수찾기 * 가장 기본적인 이분탐색 방법입니다... 본인의 머리속에서 떠오르는데로 짜고 다른분들의 코드를 보니 종료시점에서 찾고자 하는수를 찾지 못한 조건을 left>=right로 주는 것이 정석적인 방법인거 같다. 이하 생략~ #include #include #include #include #include #include #include #include #include #define MAX 40005 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; int n, m, tmp, lft, mid, rht; int map[100005]; int finder(int dest) { while (1) { if (map[mid] == dest) .. 2018. 6. 1. 백준(BOJ) 10815 숫자 카드 * 간단한 이분 탐색입니다. 1920번 수 찾기와 동일한 문제입니다. #include #include #include #include #include #include #include #include #include #define MAX 40005 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; int n, m, tmp, lft, mid, rht; int map[500005]; int finder(int dest) { while (1) { if (map[mid] == dest) return 1; else if (map[mid] < dest) { lft = mid + 1; mid = (lft + rht) / 2; } else {.. 2018. 6. 1. 백준(BOJ) 7453 합이 0인 네 정수 * 제 친구의 경우 이분탐색으로 구현하지는 않았지만, 저는 이분탐색을 이용하여 구현하였습니다.(equal_range) #include #include #include #define MAX 4005 #pragma warning(disable:4996) using namespace std; typedef long long ll; ll ans = 0; int n, d1, d2,map[MAX][4]; vector a, b; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) for (int k = 0; k < 4; k++) scanf("%d", &map[i][k]); for (int i = 0; i < n; i++) for (int k = 0; k < n; k++.. 2018. 6. 1. 이전 1 ··· 21 22 23 24 25 26 27 ··· 30 다음