일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 삼분탐색
- lca
- 에라토스테네스의 체
- lis
- 다익스트라
- 플로이드와샬
- 펜윅트리
- BFS
- 좌표압축
- DP
- 구현
- 누적합
- boj
- 크루스칼
- 비트마스크
- LazyPropagation
- 위상정렬
- 이분매칭
- 세그먼트트리
- 브루트포스
- 이진탐색
- 그리디
- 수학
- 투포인터
- dfs
- MST
- 이분탐색
- 정렬
- 백준
- DisjointSet
- Today
- Total
목록전체 글 (127)
lastknight00
문제 링크 : [백준] 사탕상자(2243) 문제 설명 사탕 상자에 C맛 사탕을 넣고, B번째로 맛있는 사탕을 뽑는 행위를 반복합니다. 입력 N(쿼리 갯수, 1a; if(a&1){ cin>>b; coutc; u(1,1,1000000,b,c); } } }
문제 링크 : [백준] 커피숍2(1275) 문제 설명 배열 A가 주어지고, 반복적으로 x~y 사이의 합을 출력하고, a번째 값을 b로 바꿉니다. 입력 N(배열의 크기, 1>a>>b>>c>>f; if(a>b)i=a,a=b,b=i; cout
문제 링크 : [백준] 공장(7578) 문제 설명 두 개의 라인(위, 아래)이 있고, 위 라인과 아래 라인에 서로 짝이 이어지는 장비들이 N개 존재합니다. 짝을 이루는 장비는 서로 같은 번호를 가집니다. 짝을 이루는 장비들을 서로 연결하였을 때, 교차하는 지점의 갯수를 구하세요. 입력 N(장비의 갯수, 1
문제 링크 : [백준] X와 K(1322) 문제 설명 N과 K가 주어졌을 때, N + Y = N | Y 위 수식이 성립하는 Y 중 K번째로 작은 Y를 출력하세요. 입력 N K(1
문제 링크 : [백준] 트리의 높이와 너비(2250) 문제 설명 이진트리의 구조가 주어질 때, 너비가 제일 넓은 레벨과 그 너비를 출력하세요. 단, 트리는 아래와 같은 제약사항이 있습니다. 같은 레벨에 있는 노드들은 같은 행에 존재합니다. 한 열에는 노드 하나만 존재합니다. 임의의 노드의 왼쪽 자식은 항상 부모 노드보다 왼쪽 열에 존재하고, 오른쪽 자식은 항상 부모 노드보다 오른쪽 열에 존재합니다. 가장 왼쪽, 오른쪽 열의 양 옆은 비어있지 않습니다. 입력 N : 노드의 갯수(1
문제 링크 : [백준] 틱택토(7682) 문제 설명 3*3 문자열 배열이 주어졌을 때, 틱택토 게임 규칙대로 경기가 진행되어 게임이 종료되었을 때 나올 수 있는 결과인지 판단하시오. 입력 한줄에 9개의 문자가 주어집니다.(각 문자의 내용은 아래와 같습니다.) X : 먼저 두는 사람의 말 O : 나중에 두는 사람의 말 . : 빈 칸 입력은 반복되어 나타나며, end가 주어지면 종료됩니다. XXXOO.XXX XOXOXOXOX OXOXOXOXO XXOOOXXOX XO.OX...X .XXX.XOOO X.OO..X.. OOXXXOOXO end 출력 유효한 판인지 출력합니다. invalid valid invalid valid valid invalid invalid invalid 카테고리 #구현 시간 복잡도 상한 의..
문제 링크 : [백준] 징검다리 달리기2(1810) 문제 설명 (x,y) 좌표를 가지는 n개의 징검다리가 있을 때, (0,0)에서 시작하여, 현재 위치에서 x,y 좌표의 차이가 2 이내인 징검다리들만을 이동하여, y좌표가 F에 다다르는 최단 이동거리를 구하시오. 입력 n(징검다리의 갯수, 1
문제 링크 : [백준] 증가 수열의 갯수(17409) 문제 설명 n개의 원소를 가지는 수열이 주어졌을 때, 증가하는 수열의 길이가 k인 부분 수열이 몇개가 있는지 구하여라. 입력 n(배열의 갯수, 1
문제 링크 : [백준] 인경호의 징검다리(11583) 문제 설명 n개의 징검다리가 있고, 각 징검다리에는 숫자가 있습니다. 1번 징검다리에서 시작하여 한번에 최대 k칸 건너갈 수 있는데, 징검다리를 밟을 때마다, 밟은 징검다리의 숫자를 곱해나가 마지막 징검다리를 밟았을 때 완성된 숫자들을 10x으로 나눌수 있는 최대 x들 중 최소값을 출력하세요. 입력 t(테스트 케이스 수) n(징검다리 갯수,2n>>m; memset(e,0,sizeof(e)); for(i=0;i>d[i]; if(i)e[i][0]=e[i][1]=999999999; for(j=1;j
문제 링크 : [백준] 커플 만들기(1727) 문제 설명 두 1차원 배열이 주어졌을 때, 원소의 갯수가 작은 배열의 모든 원소들을 원소의 갯수가 큰 배열과 1:1 쌍을 이룰 때, 쌍을 이룬 값들의 차이의 합이 최소가 되는 값을 구하여라. 입력 n(첫번째 배열의 원소 갯수, 1c?c:a;} l r(int* a1,int* a2,int x,int y){ if(!x)return 0; if(!y)return 1000000000000; x--;y--; if(v[x][y])return f[x][y]; f[x][y]=a(a1[x]-a2[y])+r(a1,a2,x,y); f[x][y]=b(f[x][y],r(a1,a2,x+1,y)); v[x][y]=1; return f[x][y]; } int main(){ scanf("%d..