본문 바로가기

분류 전체보기

(175)
21.07.13 요즘 너무 해이해졌다. 갑작스럽게 집에 왔기 때문일까? 성적으로 터진 멘탈은 어느 정도 회복된 것 같지만 여전히 공부는 하지 않고 있다. 평소 같았으면 새로운 알고리즘을 배우느라 정신없었을 텐데, 지금은 재밌는 게임과 웹툰을 찾는 데에 온종일 시간만 허비하고 있다. 당장 NYPC와 정올 2차 준비를 해야 한다는 것을 잘 알고 있지만, 코딩을 안 하다 보니 실력도 떨어지고 그래서 더 안 하게 되는 것 같다. 그래서 지금부터라도 마음 먹고 다시 시작해보려 한다. 솔직히 폰만 보지 않으면 시간은 넘쳐난다. 하루 목표는 다음과 같다. - 브론즈 10문제, 실버 10문제 해결, 골드 5문제, 플레 1문제 해결 21.07.14 수정 : 무리였다;; 5/5/5/1로 정정한다. 21.08.06 추가 : 역시나 이것도 ..
경로 가중치 합 hld 구현 코드 특징 : 맞는지 모름 앳코더에서 Proof by AC 성공 #include using namespace std; #define fastio cin.tie(0)->sync_with_stdio(0) #define X first #define Y second typedef pair pii; const int N=1e5+1; struct Segment { int a[N]; int tree[4*N],lazy[4*N]; void init(int l,int r,int i) { if(l==r) { tree[i]=a[l]; return; } int m=l+r>>1; init(l,m,i
Diamond I 달성 '다이아 2 달성' 글을 올린 지 대략 한 달 만에 다시 글을 쓰게 되었다. 시험 기간을 제외하면 2~3주 정도 걸린 것 같다. 내 solved.ac 히스토리를 보면 시험이 언제였는지 한눈에 찾을 수 있을 듯하다. 시험 기간 중에는 코딩을 거의 하지 않았지만 풀고 싶거나 배우고 싶은 문제와 알고리즘들을 따로 모아 두고 틈틈이 고민했다. 이 문제들을 시험이 끝나자마자 쭉 풀어버렸고, 그래서 레이팅이 급상승한 것 같다. (물론 아직 풀지 못한 문제들도 많다.) 마지막으로 푼 문제는 제곱수의 합 2 (More Huge)으로, 출제자가 소멤 블로그에 쓴 글을 참고하여 해결했다. 세 달 전에 제곱수의 합 (More Huge)를 해결했을 때부터 풀고 싶었고 최근에 학교에서 (개인적으로) 가우스 정수를 공부하고 나서..
Miller–Rabin primality test && Pollard's rho algorithm [BOJ 4149]의 코드로 설명을 대신하겠다. 왜 클래스의 이름을 거창하게 'number theory' 라고 지었는지는 비밀이다. :) #include using namespace std; #define fastio ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) typedef long long ll; typedef __int128 i128; typedef vector vec; struct int_nt { ll mul(ll x,ll y,ll mod) { return (i128)x*y%mod; } ll gcd(ll x,ll y) { for(;y;x%=y,swap(x,y)); return x; } ll lcm(ll x,ll y) { return x/gcd(x,y)*y; ..
근황 뭐... 어찌저찌해서 시험이 끝났다. 코딩은 생각도 안 날 정도로 열심히 공부했지만, 성적이 잘 나오지 않았다. 특히 영어.. 영어는 내가 뭘 공부한 건가 싶을 정도로 개 망했다. 영어 때문에 원하는 대학에 가지 못할 것이라는 생각이 강하게 들지만 뭐 어쩌겠는가.. 그래서 이번 방학에는 (이미 늦은 것 같긴 하지만) 영어 공부를 집중적으로 해보려고 한다. 시험이 끝나자마자 코드업을 주구장창 풀었다. 당장 수행 3개가 밀려있기는 한데, 이 글만 쓰고 하러 갈 예정이다. 이제 외부 대회 준비도 하고, 교내 알앤이, 창개연 등을 시작해야 할 것 같다. 시험이 끝나면 배우고 싶은 알고리즘이 많았는데 이번 방학 내로 배울 수 있을지는 미지수다. 하고 싶은 말이 많았는데 막상 컴퓨터 앞에 앉으니 다 사라졌다! 나중..