14658번: 하늘에서 별똥별이 빗발친다 최대 50만*50만의 2차원 평면 위에 k개 최대 10만*10만의 L*L 정사각형으로 가장 많은 점을 포함시키려고 할때, 이 정사각형에 포함되지 않는 점의 개수를 구한다 정사각형의 모서리에 포함되어도 포함된 것으로 인정한다 ---------------------------------------------------------------------------------------------------------------------------------------------- 문제의 조건을 만족하는, 평면 위에 가장 많은 점을 포함하는 정사각형의 배치는 반드시 존재할 수 밖에 없다. 그러한 최적 배치에 들어가있는 모든 별을 포함할 수만 있다면, 정사각형의 배치는 ..
1. 문제 2458번: 키 순서 1번부터 n번까지 번호가 붙여진 학생들의 키 순서가 주어진다. 예를 들어 1번 이 결과로 모든 학생중 키가 가장 작은 학생부터 자신이 몇번째 학생인지 알 수 있는 학생도 있고, 그렇지 못한 학생들도 있다. 이러한 결과가 주어질때 자신의 키가 몇번째 학생인지 정확히 알 수 있는 학생 수를 구한다 ------------------------------------------------------------------------------------------------------------------------------------------------ 상식적으로? 먼저 생각해보면 i번이 몇번째 순서인지 알고 싶다면 i번보다 키가 큰 학생의 수, 키가 작은 학생의 수를 찾..
25634번: 전구 상태 뒤집기 전구의 밝기들이 배열로 주어지고, 초기에 켜져있는지, 꺼져있는지가 주어진다. 연속하는 구간내의 모든 전구들의 상태를 뒤집으면 켜진 전구는 꺼지고, 꺼진 전구는 켜진다. 이 연산을 정확히 1번 해야할때, 전구 밝기들의 합의 최댓값을 구한다. ---------------------------------------------------------------------------------------------------------------------------------------------------- n이 최대 20만인데, 연속하는 구간의 상태를 뒤집어야한다? 구간 dp로 하자니 O(N^2)일텐데 그리고 연산을 무조건 1번은 해야한다는거까지 굉장히 어렵다 처음 상태에서..
1757번: 달려달려 n분 동안 달리는데 1분 달리면 지침 지수가 1 올라간다 1분 쉬면 지침 지수가 1 내려간다 지침 지수가 m보다 커지면 달릴 수 없다 한번 쉬면 지침 지수가 0이 될 때까지 쉬어야한다 또한 달리기가 끝난 n분에 지침지수가 0이 되어야한다 i분에 달릴 수 있는 거리가 주어진다. D = [5,3,4,2,10]이면 1분에 달리면 5만큼 뛰고 2분에 달리면 3만큼 뛴다는 소리 이때 가장 멀리 달릴 수 있는 거리는? ------------------------------------------------------------------------------------------------------------------------------------------------- i번째 시간에 지침..
6506번: 엘 도라도 주어진 배열에서 길이가 K인 증가하는 부분 수열의 개수를 찾는 문제 [1,2,3,4,5,6,7]에서 [2,4,6]은 증가하는 부분 수열이지만 [4,1,2]는 부분 수열이 아니다. ----------------------------------------------------------------------------------------------------------------- dp[i][x] = i번째 원소까지 봤을때, 길이가 x인 증가하는 부분 수열의 개수라고 정의해서, O(N^3)에 가장 긴 증가하는 부분 수열의 길이를 구하듯이 구해봤는데 틀리더라고 어디선가 꼬인건지 근데 dp[i][x] = "마지막 원소가 i번째 원소이면서" 길이가 x인 증가하는 부분 수열의 개수 라고 정..
15966번: 군계일학 주어진 배열에서 ai = a1 + (i-1)을 만족하는 부분 수열 a의 길이의 최댓값을 구하는 문제 -------------------------------------------------------------------------------------------------------------------------------------------------- 그런데 가장 긴 증가하는 부분 수열을 찾는거니까 O(N^2)인가? 근데 N이 10만인데? 그러면 O(N)에 찾을 수 있다는건가? 한참 고민했다.. 갑자기 번뜩이는?아이디어가 떠올랐다 먼저 핵심은 ai = a1 + (i-1)을 만족하는 수열은 무엇을 의미하는가? a1 = 1이면 a2 = 2, a3 = 3,.... a1 = 2이..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.