본문 바로가기
반응형

Problem Solving232

[다이나믹 프로그래밍/파이썬] 백준 2533번 : 사회망 서비스(SNS) / 골드 3 https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망 www.acmicpc.net import sys sys.setrecursionlimit(10**7) n = int(input()) graph = [[] for _ in range(n+1)] for i in range(n-1): u, v = map(int, sys.stdin.readline().split()) graph[u].append(v) graph[v].append(u) dp = [[0, 1] for _ in ran.. 2022. 4. 7.
[세그먼트 트리/파이썬] 백준 6549번: 히스토그램에서 가장 큰 직사각형 / 플래5 https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net import sys sys.setrecursionlimit(10**5) input = sys.stdin.readline def merge(left, right): if left[0] < right[0]: return left else: return right def build(node, left, right): if left == right.. 2022. 4. 6.
[세그먼트 트리/파이썬] 백준 2357번: 최솟값과 최댓값 / 골드 1 https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = [] for _ in range(n): nums.append(int(input())) s_tree = [[0 for _ in range(2)] for _ in range(4*n)] def merge(left, right):.. 2022. 4. 5.
[기하학/파이썬] 백준 20149번 : 선분 교차 3 / 플래4 https://www.acmicpc.net/problem/17387 17387번: 선분 교차 2 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net x1, y1, x2, y2 = map(int, input().split()) x3, y3, x4, y4 = map(int, input().split()) p1 = [x1, y1] p2 = [x2, y2] p3 = [x3, y3] p4 = [x4, y4] if min(x1, x2) > max(x3, x4) or min(x3, x4) > max(x1, x2) or \ min(y1, y2) > max(y3, y4) or min(y3, y4) > max(y1, y.. 2022. 4. 5.
[누적합, 부분합] 백준 10986번 : 나머지 합 / 골드 3 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net n, m = map(int, input().split()) nums = list(map(int, input().split())) remain_count = [0 for _ in range(m)] remain_count[0] = 1 a = 0 for i in range(1, n+1): a += nums[i-1] a %= m remain_count[a].. 2022. 4. 4.
[위상 정렬/파이썬] 백준 2623번 : 음악프로그램 / 골드2 https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net import collections n, m = map(int, input().split()) graph = collections.defaultdict(list) indegree = [0 for _ in range(n)] for _ in range(m): lst = list(map(int, input().split())) for i in range(2, lst[0]+1): a =.. 2022. 4. 4.
반응형