본문 바로가기

분류 전체보기

(154)
[Codeforces Round #790 (Div. 4)] H2. Maximum Crossings (Hard Version) https://st-lab.tistory.com/233 자바 [JAVA] - 합병정렬 / 병합정렬 (Merge Sort) [정렬 알고리즘 모음] 더보기 1. 계수 정렬 (Counting Sort) 2. 선택 정렬 (Selection Sort) 3. 삽입 정렬 (Insertion Sort) 4. 거품 정렬 (Bubble Sort) 5. 셸 정렬 (Shell Sort) 6. 힙 정렬 (Heap Sort) 7. 합.. st-lab.tistory.com ※. i = aj라면 교차되도록 선을 그을 수 있다. ※. ai == aj 라도 교차되도록 선을 그을 수 있다. ※. 배열을 탐색하며 정렬할 원소가 있다면(ai >= aj) 값을 추가하면서 정렬해준다. (7 7 5 일 때 7과 5을 정렬한다..
[Codeforces Round #790 (Div. 4)] G. White-Black Balanced Subtrees https://codeforces.com/contest/1676/status/page/3?order=BY_JUDGED_DESC Status - Codeforces Round #790 (Div. 4) - Codeforces codeforces.com By * Dukkha, contest ※. 각 노드의 색이 주어졌을 때 어떤 노드의 색을 포함한 하위 트리의 색(검정색, 하얀색) 개수가 같은 노드의 수를 구하는 문제 ※. 최상위 노드는 1로 고정이고, (The second line ... (1≤ai2,…,n2,…,n) 상위 노드 먼저 주어진다.(index가 높은 수는 무조건 하위노드다.) 1. 배열을 생성 후 arr[index] = value - 1 (부모 노드)를 저장해준다.2. 문자열을 byte배열로 받..
[Codeforces Round #806 (Div. 4)] F. Yet Another Problem About Pairs Satisfying an Inequality ※. 배열을 받았을 때 a[index] < index 를 만족하는 것만 골라낸다. (인덱스를 받아와 리스트에 저장한다.) ※. ai < i , aj < j 는 만족했기 때문에 i < aj 를 만족하는 것의 개수만 찾으면 된다. ※. 리스트는 배열의 인덱스를 가져왔기 때문에 오름차순으로 정렬되어 있다. (이분탐색이 가능하다.) 1. 값을 저장하는 배열을 만든다. 2. arr[index] < index 조건을 만족하는 index를 저장하는 list를 만든다. 3. 리스트에 들어있는 index 값을 찾아와서 (리스트에 들어있는 index < 값)을 만족하는 index를 찾아간다. (index 값은 = aj, 리스트에 index = i, aj는 j = 1 부터 시작해야된다.) 4. 리스트가 최대 20만 까지 저..
[Codeforces Round #806 (Div. 4)] E. Mirror Grid ※ 짝수의 경우 왼쪽 상단(2사분면)만 확인해주면 모든 셀을 방문할 수 있음. 홀수의 경우 중앙이 추가되기 때문에 x좌표나 y좌표 중 하나를 추가로 확인해주어 g셀을 제외한 모든 셀을 탐색하게 해야됨 (i 짝수의 경우 5/2 홀수가 되기 때문에 문제없다. 홀수의 경우 6/2 로 열을 한 번 더 탐색해준다.) ※ 중앙 셀을 제외한 모든 셀은 다음과 같이 이동한다. a좌표 - [0,0] -> [0,3] -> [3,3] -> [3,0] b좌표 - [0,1] -> [1,3] -> [3,2] -> [2,0] 홀수의 경우 c좌표 - [2,0] -> [0,2] -> [2, 4] -> [4,2] (x와 y는 처음의 좌표 [x,y] -> [y,x의 반대] -> [x의 반대, y의 반대] -> [y..
[백준] 1865 웜홀 [자바] https://dragon-h.tistory.com/24?category=789780 [백준 1865 : JAVA] 웜홀/ 벨만-포드 개요 문제를 읽어보면 음의 가중치가 있는 그래프에서 음의 사이클의 여부를 확인하는 문제라는 것을 알 수 있다. (음의 사이클이란 경로를 지날 때마다 계속 최단거리가 감소하는 것을 뜻한다. dragon-h.tistory.com https://www.acmicpc.net/board/view/72996 글 읽기 - 데이터를 추가해 주세요. 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net ※ 음수 사이클만 확인하면 되기 때문에 모든 시작점을 0으로 해놓고 벨만포드를 돌려야함. 웜홀을 통과해 cost가 가장 적은 수(음수만) 를 dist에 저장해놓고 이것이 음수사..
[Codeforces Round #784 (Div. 4)] H. Maximal AND ※. 작업을 통해 ai의 비트 중에 비트 1개를 1로 바꿀 수 있다.(or 연산) ※. 가장 최상위 비트부터 바꾸는 것이 이득이다. (j = 2, 4 ,8을 바꾸는 거 보다 j = 16을 바꾸는 것이 더 큰 값) ※. 1에서 n개 까지의 배열값에서 (0~30)번째 비트가 1인것의 개수를 세어준다. (비트가 겹친다면 k작업을 적게 수행하여 결과를 바꿀 수 있다.) ※. (n - (0~30)비트 개수를 저장한 배열)이 k보다 작다면 결과값을 바꿀 수 있다. (n = 3, k = 2, [8,4,2]이면 arr[0] = 0, arr[1] = 1, arr[2] = 1, arr[3] = 1이다. 3 - 1(arr[3])은 2이므로 k작업을 2번해서 4와 2를 모두 or 8 (100 -> 1100, 10 -> 101..
[백준] 9465 스티커 [자바] https://velog.io/@yanghl98/%EB%B0%B1%EC%A4%80-9465-%EC%8A%A4%ED%8B%B0%EC%BB%A4-JAVA [백준] 9465 : 스티커 (JAVA) 문제 > BOJ 9465 : 스티커 - https://www.acmicpc.net/problem/9465 풀이 뗄 수 있는 스티커의 점수의 최댓값을 구하는 문제. 한 스티커를 떼면 주변에 붙어있는 스티커들은 망가져 사용할 수 없다. 처음엔 점수 velog.io import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main ..
[백준] 2096 내려가기 [자바] https://steady-coding.tistory.com/154 [BOJ] 백준 2096번 : 내려가기 (JAVA) 문제 N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 내려가기 게임을 하고 있는데, 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이이다. 먼저 처음에 적혀 있는 세 개의 숫자 steady-coding.tistory.com import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; import java.util.StringTokenizer; public class M..