일단 자를 수 있는 지점이 무수히 많다는 가정 하에, C회 자를 수 있을 때 가장 최적의 해는 통나무를 정확히 C+1등분 하는거임. 그 상태에서 하나를 짧게 만들면 다른 하나가 길어지니까ㅇㅇ
여기서, 최대한 그에 비슷한 상황을 만들자는거지
통나무 길이가 100이라 치면, 3번 자른다고 쳤을 때 4개의 통나무가 만들어지겠지. 25 50 75에서 자르는게 최적해이므로 12.5, 37.5, 62.5, 87.5를 포함하는 놈들에 최대한 가깝게, 다만 중간값
부터 양 옆으로 순차적으로 잡고ㅇㅇ
K가 5 10 15 20 80 90 95같은식으로 주어져 있을 때는
일단 20-80구간을 37.5로 잡고, 10-15구간은 12.5에게. 80-90을 62.5한테 주고, 87.5한테는 90-95구간을 주고. 이런식으로 ㅇㅇ
그 다음에 각각의 통나무들을 이어붙이는거임. 길이/(C+1)가 안 넘는 선에서.
까지 쓰고나서 반례 생각남
개꿀ㅋㅋ
- dc official Cpp
https://www.acmicpc.net/problem/1114
- dc Cpp
강화학습시켜서 AI한테 자르라고함
오 - dc Cpp
파라메트릭 서치 풀이가능. 그 어제 말한 앞 인덱스 확인하는 방법으로 풀면 됨. 뒤에서 부터 lim이하로 자르면 젤 앞 도막 길이가 작음...
풀이 간단해서 화나네
O(n)만에 lim이하로 자르기 가능한지 확인가능하니깐 O(min(K,C) * log K) 되겠지
그렇군... - dc Cpp
너무 간단해서 어이가 없음... 내 3일...
나도 간단한 오류때문에 오늘 오전 통째로 날림ㅋㅋㅋ - dc Cpp
역시 천생연분. 운명의 실로 엮여있다니깐
ㄷㄷ; - dc Cpp
아 왜 안대 95퍼에서 틀렸습니다 나오네
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 어이없다고 배부른소리 하다가 뒤통수맞았노 - dc Cpp
ㄴㄴ 구현이 틀린거 같음... O(K) 이거 ... - dc App
섻스 - dc Cpp