for i=1~N
for j=1~i
까지 돌았기때문에, 1~N까지의합, 즉 거의 N^2/2의 시간이 걸리죠. 그러므로 시간안에 나오는게 맞습니다.
또한, 궁금하시다면 다른 분들 소스를 참고해보세요. 제가 본 바로는, NlogN으로 푸신분은 일단 못찾았습니다.
2300번 - 기지국
1만이면 어지간해선 n^2 빠르게 나옵니다. 완전 느리게 짠게 아니면.. 그리고 로컬은 보통 느려요.
n^2보다 빠른 풀이가 옛날에 궁금해서 코포 분들에게 물어본게 있는데.. http://codeforces.com/blog/entry/43729
댓글을 작성하려면 로그인해야 합니다.
kalmiaa 7년 전 1
안녕하세요.
가장 기본적인 dp로는 당연히 N^2으로 쉽게 결과값을 낼 수 있는 문제이나,
인풋 크기로 보았을때 N^2으로는 제한시간을 맞출 수 없다고 생각하여, 여러가지 다양한 방법을 생각하였습니다만,
좋은 방법이 떠오르지 않아 그냥 N^2으로 때렸더니 답이 나왔습니다.
로컬에서 인풋 10000개 때리면 제 코드는 3초정도 나옵니다.
최적화를 통해 오버헤드를 약간 줄일 수는 있겠지만, 근본적인 솔루션은 아닌것 같습니다.
혹시 이 문제를 NlgN 으로 풀 수 있는 방법이 있을까요?