일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- MongoDB
- pm2
- 이분 탐색
- PROJECT
- Keys
- map
- branch
- html5
- JavaScript
- Prisma
- MySQL
- localstorage
- DP
- Express.js
- Github
- 그리디
- 게임 서버 아키텍처
- trie
- Next
- string
- HTTP
- 백준 9527번
- ccw 알고리즘
- 자바스크립트
- vector insert
- router
- insomnia
- 그래프 탐색
- 트라이
- ERD
- Today
- Total
목록알고리즘/Baekjoon (25)
dh_0e

구현은 매우 쉽지만 발상하는데 시간이 꽤 걸렸던 문제A B의 합, C D의 합을 모두 구한 배열(각각 최대 1600만) 2개를 만든 뒤 정렬하여 two pointer, binary search를 사용하여 합이 0인 쌍의 개수를 구하면 된다. #include#include#includeusing namespace std;typedef long long ll;vector vec1, vec2;ll a[4001], b[4001], c[4001], d[4001];int binary_search(int en, int target) { int st = 0; while (st 0) n2--; else n1++; } printf("%lld\n", dap); return 0;}

위상 정렬 기초를 다지기 좋은 문제 #include#include#include#includeusing namespace std;deque dap;int vi[1001];int d[1001][1001];int n, m;int find(){ for(int i=1; i

너무 간단한 그리디, 구현 문제 #includeusing namespace std;int n, m, k;char d[501][501];pair f(int y, int x) { int c, max=0; int vi[30] = { 0 }; for (int i = y; i pa=f(i, j); d[i][j] = pa.second; answer += (n/k)*(m/k) - pa.first; } } printf("%d\n", answer); for (int i = 0; i

2023 UCPC 예선 I번 문제로, 누적 합을 사용하여 쉽게 풀 수 있는 문제이다. 해결 방법 SN 모양의 자석으로 누적 합을 구하며 에너지 충전량의 최댓값을 구한다. 이때, S극이 1, N극이 5라고 가정하고, S극의 소모값이 두 수의 차(4)에 K를 곱한 값보다 크다면 S극을 N-1(4)로 옮겨준다. 이외에 N-S가 1보다 크면 N극을 한 칸씩 옮겨준다. NS 모양의 자석도 똑같은 로직으로 최댓값을 구하여 자석을 배치했을 때 배터리의 에너지 변화의 최댓값을 구한다.#define _CRT_SECURE_NO_WARNINGS#include#includeusing namespace std;int d[500001], rd[5000001];int main(){ int nn, k, s=1, n=2, answer..

2024 UCPC 예선 E번으로, 대회 당시에 내가 풀었던 문제다. 간단한 그리디 문제지만 접근을 잘못해서 시간을 많이 소비했었다. 대회가 끝나고 다시 풀어보니 너무 간단해서 앞으로 난이도를 알 수 없는 문제에 너무 쫄지 말자는 교훈을 줬던 문제이다. 해결 방법$A$를 기준으로 정렬하고, n개의 문제에 대해 브루트 포스 형식으로 먼저 끝낼 과제를 정한 뒤, 단축된 시간으로 풀 수 있는 문제의 수들을 구하면 되는 간단한 로직이다. n값이 아주 작기 때문에 $O(n^3)$도 가능하다.#include#includeusing namespace std;int t[101], vi[101];int main(){ int n, a, b, answer=0, c, solve; scanf("%d %d %d", &n, &a, ..