본문 바로가기

분류 전체보기

(154)
[Codeforces Round #780 (Div. 3)] C. Get an Even String ※ n은 기존 문자열 길이, m은 조건을 만족하는 문자열 길이 ※ 문자열의 길이 n을 구한 뒤 조건을 만족하는 2개의 문자가 있다면 m에 2씩 더한 뒤 n-m을 한다. ※ a-z 까지 받을 수 있는 배열을 만든 후 문자열을 만든 후 같은 문자를 2개 받는다면 m에 2를 더해준 뒤 배열을 초기화 한다. ※ 문자를 받은 후 같은 문자가 있다면 m += 2를 하고 이전 까지 탐색했던 문자는 버린다. 가장 먼저 짝을 이루는 문자가 최적이다. [a,b,c,d,b,a]에서 bb나 aa둘 다 가능하지만 짝을 이루는 i번째 문자 까지는 먼저 짝을 이루는 문자가 가장 적은 문자를 삭제하기 때문이다. (맨 처음 짝을 이룬 i번째 문자 이전의 짝을 이루지 못한 수만 제거하면 되기 때문에) (이걸 응용해 dp로도 이 문제를 ..
[Codeforces Round #779 (Div. 2)] C. Shinju and the Lost Permutation ★n을 받으면 1~n까지의 수열이 생긴다. 중복은 존재하지 않는다. ※ 1은 무조건 하나여야 한다. (1은 가장 큰 수가 맨 앞에 들어 오는 것이다. 1이 없거나, 두 개 이상이면 ★을 만족하지 않는다) ※ 순열(i+1) - i 의 차이는 무조건 1이하다. (전의 수 > 현재 수 -> 전의 수가 현재 수 뒤로 가기 때문에 현재 수 + (전의 수 개수) 가 된다.) (전의 수 개수 + 1) [4,1,2,6,5,3] = 2 -> [3,4,1,2,6,5] = 3 (전의 수 현재 수가 더 크기 때문에 (전의 수 개수)를 다 덮어 버린다.) (현재 수 + 전의 수 보다 큰 수 개수) [4,1,2,3,6,5] = 2 -> [5,4,1,2,3,6] = 2 ※순열 i가 n과 같다면 i+1은 무조건 1..
[CodeTON Round 1] B. Subtract Operation https://coding-factory.tistory.com/557 [Java] 자바 TreeMap 사용법 & 예제 총정리 TreeMap이란? TreeMap은 이진트리를 기반으로 한 Map 컬렉션입니다. 같은 Tree구조로 이루어진 TreeSet과의 차이점은 TreeSet은 그냥 값만 저장한다면 TreeMap은 키와 값이 저장된 Map, Etnry를 저장한다는 점입 coding-factory.tistory.com ※ [a1, a2, a3, a4] 일 때 앞에서 부터 차례대로 뺀 것이 답일 경우 [a2-a1, a3-a1, a4-a1] -> [a3-(a2-a1)-a1, a4-(a2-a1)-a1] -> [a3-a2, a4-a2] -> [a4-(a3-a2)-a2] -> [a4-a3] ※ 모든 시행은 an - ..
[Codeforces Round #779 (Div. 2)] B. Marin and Anti-coprime Permutation ※ 1과 2를 항상 포함하기 때문에 1은 무조건 2번째 자리 이상에 가야한다. ※ 홀수는 무조건 짝수 번 째 자리에 와야 한다. (훌수 * 홀수 = 홀수, 홀수 * 짝수 = 짝수) ※ n이 홀수라면 홀수가 무조건 홀수 자리에 들어갈 수 밖에 없어 최대공약수가 존재하지 않는다. 1. n이 짝수 일 때 홀수의 수 = n/2 순서를 고려하여 n/2 개의 홀수를 뽑는 경우의 수 (n/2) ! 2. 짝수의 수 = n/2 경우의 수 (n/2)! 3. (n/2)! * 2 % 998244353 4. 998244353을 넘어가면 %998244353을 해준다(마지막 결과에도 적용해줘야함 998244353을 넘어갈 수 있음) import java.io.BufferedReader; import java.io.IOExcepti..
[CodeTON Round 1] C. Make Equal With Mod ※ 가장 큰 수부터 나누면 큰 수 만 0으로 만들고 모든 수가 그대로 남음 [2, 5, 6, 8] -> [2, 5, 6, 0] ※ 1이 있다면 (가장 큰 수 - 1) 로 나누면 큰 수 만 1로 만들고 모든 수가 그대로 남음 [1, 5, 8] -> [1, 5, 1] 1. 1이 없다면 무조건 yes 2. 1이 있고 0도 있다면 무조건 no 3. 1이 있고 0이 없다면 위의 조건을 만족해야 한다. (정렬 한 뒤 arr[i]-1 == arr[i] 1 차이나면 no) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.A..
[백준] 1074 Z [자바] https://st-lab.tistory.com/230 [백준] 1992번 : 쿼드트리 - JAVA[자바] www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문 st-lab.tistory.com https://www.acmicpc.net/board/view/82431 글 읽기 - (java) 메모리초과 질문입니다 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net https://www.acmicpc.net/board/view/64976 글 읽기 - [Python] 시간 초과가 납니다. 더 줄일 방법이 있을..
[백준] 1707 이분 그래프 [자바] https://jellyinghead.tistory.com/14 [백준 1707] 이분 그래프 (자바) https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그 jellyinghead.tistory.com import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.StringTokenize..
[백준] 4195 친구 네트워크 [자바] https://brenden.tistory.com/33 [알고리즘] 유니온 파인드 (Union-Find) 유니온 파인드(Union-Find) ① 유니온 파인드란? ▷ 대표적 그래프 알고리즘으로 '합집합 찾기'라는 의미를 가지고 있습니다. ▷ 상호 배타적 집합(Disjoint-set)이라고도 합니다. ▷ 여러 노드가 존재 brenden.tistory.com https://steady-coding.tistory.com/111 [BOJ] 백준 4195번 : 친구 네트워크 (JAVA) 문제 민혁이는 소셜 네트워크 사이트에서 친구를 만드는 것을 좋아하는 친구이다. 우표를 모으는 취미가 있듯이, 민혁이는 소셜 네트워크 사이트에서 친구를 모으는 것이 취미이다. 어떤 사이 steady-coding.tistory.com..