본문 바로가기

분류 전체보기

(181)
Educational Codeforces Round 111 (Div. 2) Dashboard - Educational Codeforces Round 111 (Rated for Div. 2) - Codeforces codeforces.com 2시간 동안 고작 3문제 푼 게 끝인데 지금까지 받아보지 못했던 퍼포를 받았다. 에듀 치고는 어려운 셋이었나 보다. 상승 폭을 보니 맥스 레이팅을 찍을 것 같아서 조금은 기쁘다. 퍼플은 언제쯤 갈 수 있을까... Prob. A $ ans^{2}\geq n $ 인 $ ans $를 구하면 된다. 왠지는 모른다. ㅋㅋ 인터넷 문제로 제출이 1분 정도 늦어져서 슬펐다. Prob. B 처음에는 case work인 줄 알고 a, b의 범위를 나눠서 생각하고 있었다. 하지만 쓸데없는 짓이었고, a가 항상 n번 더해진다는 것을 알면 b의 범위만 고려해주면 ..
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; ..