전체 글265 [알고리즘 정리] 이분 매칭 이분 매칭 시간 복잡도 : O(E*sqrt(V)) visit : 방문 여부 확인bs : 현재 노드가 연결된 노드 ex) bs[a]=b; 라면, a와 b가 연결된 상태이다. 기본 코드 bool dfs(int cur) { if (visite[cur]) return 0; visite[cur] = 1; for (int i = 0; i < node[cur].size(); i++) { int next = node[cur][i]; if (!bs[next] || dfs(bs[next])) { bs[next] = cur; return 1; } } return 0; } int binary_match() { int ret = 0; for (int i = 1; i 2018. 9. 30. 백준(BOJ) 9240 로버트 후드 *** # 그라함 알고리즘 # ccw(블록껍질) # calliper caliper3개 개념을 모두 알아야 풀 수 있습니당... # 실수 했던 점 #include #include #include #include #include #include #include #include #include #define MAX 100005 #define INF 987654321 #define MOD 31991 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; typedef struct { ll x, y; }cood; int n; cood arr[200100]; // ccw(a, b, c) == 0 일직선, == 1 반시.. 2018. 9. 28. 백준(BOJ) 1965 상자넣기 * # LISLIS 개념을 알고 푸는것이 좋당.최장 증가 수열(LIS,Largest Increasing Sequence) 알고리즘 #include #include #include #include #include #include #include #include #include #define MAX 100005 #define INF 987654321 #define MOD 31991 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; int n, m, ans = 0; vector v; int main() { scanf("%d", &n); v.push_back(-INF); for (int i = 0; i <.. 2018. 9. 28. 백준(BOJ) 1275 커피숍2 ** # 세그먼트 트리 # 펜윅세그먼트트리 보다는 펜윅으로 푸는것이 더 좋은 방법인 것 같다. # 실수 했던 점arr배열에 곱하기 4를 빼먹었다. #include #include #include #include #include #include #include #include #include #define MAX 100005 #define INF 987654321 #define MOD 31991 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; ll n, q, x,y,a,b; ll arr[MAX*4]; ll update(ll c, ll l, ll r, ll f, ll val) { if (!(l 2018. 9. 28. 이전 1 ··· 16 17 18 19 20 21 22 ··· 67 다음