알고리즘 블로그
[Balkan OI 2011 Day 2] cmp (BOJ 16477) : ~100점
PS 문제들 2025. 2. 12. 20:19

아직 고민중... 오랜만에 어려운 문제 풀고 싶어져서 1년 반 묵혔던 문제를 다시 꺼내봅니다.64점까지의 접근을 https://mathsciforstudent.tistory.com/362 당시에 해뒀었네요.그때는 이 문제가 다야3이었는데 1년 반 사이에 다야2가 되었군요. 일단 문제에서 중요한 점은, 음.. 사용할 수 있는 공간은 굉장히 넓고, 사용해야 하는 쿼리 제한은 매우 작다는 것입니다.그래서, 최대한 "공간을 활용한" 정보 전달을 해줘야 합니다. 이렇게 해준 결과가 당시에 해뒀던 일종의 "미니맵" 사용입니다.적당한 $X$를 잡아서, $X$의 어떤 블록으로 이동하면 되는가와, $X$ 블록 안에서는 구체적으로 어떤 값을 가리키는가를 잘 쪼갰었죠. 하지만 64점 이후로 발전시키지 못한 이유는 역시, 첫..

article thumbnail
[Balkan OI 2011 Day 2] trapezoid(사다리꼴) ★
PS 문제들 2022. 5. 23. 21:38

문제 링크 꾸준히 다이아를 풀고 있어서 기쁘다. Subtask: $N≤5\,000$ (40점) 더보기 단순히 $O(n^2)$ LIS를 돌리면 된다. #include using namespace std; using ii = pair; using ll = long long; void o_o(){ cerr > t[i].se.se; } sort(t+1,t+n+1); rep(i,1,n) { lis[i] = 1, cnt[i] = 1; rep(j,1,n-1) { if (t[j].se.fi < t[i].fi.fi and t[j].se.se < t[i].fi.se) { if (lis[i] < lis[j]+1) { lis[i] = lis[j]+1; cnt[i] = cnt[j]; } else if (lis[i] == lis..

profile on loading

Loading...