Processing math: 100%

그리디 3

[알고리즘] 매트로이드

매트로이드(matroid)란 다음 성질을 만족하는 구조이다. M=(X,I)인 매트로이드 M이 존재한다고 하자. 1. X 는 유한집합이다. 2. IX의 부분집합이면서 independent set이다. 공집합은 independent set이다. 3. A,B가 independent일 때 |A|<|B|이면 xBA에 대해 A{x}도 independent인 x가 존재한다. 위와 같은 성질을 만족하면 매트로이드라고 한다. 1번은 쉽게 이해할 수 있지만 2, 3번에 나오는 independent가 아직 와닿지 않는다. "어떤 규칙" 정도로 이해하고 넘어가자. 예를들어 X={1,2,3,4,5}이고 I의 크기가 3보다 작은 집합이..

[알고리즘] Codeforces Round #772 (Div. 2)

이번에 4솔을 하여 민트로 복구할 수 있었다. 코드포스가 있던날 백준, 앳코더도 함께 진행해서 좀 힘든하루였다.(백준 4시간, 앳코더 1시간, 코드포스 2시간..) A - Min Or Sum [Solved!] 배열 a에서 서로 다른 원소 ai,aj를 뽑아 ai|aj=x|y를 만족하면서 ai=x,aj=y인 연산을 반복할 때 가능한 배열의 합의 최솟값을 찾는 문제이다. x=ai|aj,y=0으로 두면 위 조건을 만족한다. 이 연산을 반복해서 하나의 원소에 적용하면 결국 배열은 a1|a2||an,0,0,,0모양이 될 것이다. 이 때가 최소가 된다. B - Avoid Local Maximums [Solved!] 배열의 ..

[알고리즘] Codeforces Global Round 19

이번에 본대회를 참가할 수 없어서 버추얼에 참가했다. A - Sorting Parts [Solved!] 길이가 n인 배열이 주어질 때 1in1를 정해 [a1,,ai],[ai+1,,an]를 정렬하여 이어붙일 때 내림차순이 아닌 배열을 만들 수 없는지 묻는 문제이다. (오름차순이 아닌 배열을 만들 수 있는지 묻는 문제) 주어진 배열이 이미 오름차순이라면 내림차순이 아닌 배열(오름차순)을 만들 수 있다. B - MEX and Array [Solved!] 배열을 k개의 구간으로 적당히 나누어 cost=c+ci=1mex({bli,bli+1,,bri}) 라고 하자. 배열의 모든 부분배..

1