본문 바로가기

전체 글

BOJ)5849 Cow Crossings 문제: icpc.me/5849N개의 2점이 주어진다.a[i]와 b[i]인데 이 문제는 각 (a[i],0)과 (b[i],1) 두 점을 잇는 N가지 직선들 중 다른 어떤 직선과도 겹치지 않는 직선의 수를 세는 문제이다.N^2으로 완전 탐색을 하는 방법으로는 해결이 불가능하니, 보통 이러한 류의 문제에서는 스위핑을 이용하게 되는데우선 a[i]를 기준으로 정렬을 해보자.그러고 a[i]가 증가하는 순서대로 보면 이러한 생각을 하게 될 수 있다.내가 이전에 본 직선들의 b[x]의 좌표 중에 나의 b[i]보다 하나라도 큰 수가 있다면 나는 이전에 업데이트 된 직선에 의해서 겹치는 직선이 된다는 걸 알 수 있다.이러한 원리로 우선 a[i]가 증가되는 순서로 안되는 직선들을 걸러준다.하지만 이렇게 처리하면 몇가지 직선이.. 더보기
제이크 USB 11번가 이벤트로 100원에 구매하였다.귀엽다. 더보기
BOJ)2023 신기한 소수 문제: icpc.me/2023 N자리의 신기한 소수를 모두 출력하는 문제이다. 문제를 잘 생각해보면 N자리의 신기한 소수는 결국 N-1자리의 신기한 소수로부터 파생된다는 걸 알 수 있다. 게다가 예제를 보면 그 수가 얼마 안되기 때문에 N-1자리의 신기한 소수들에서 파생되는 수들에 대해서만 sqrt(Number)시간에 소수여부 검사를 해주면 빠르게 구해줄 수 있다. 123456789101112131415161718192021222324252627282930#include #include #include using namespace std;vector v[10];bool isp(int x) { for (int i = 2; i 더보기