안녕하세요 aim_higher 입니다. 코드포스 Round #804 (Div. 2) 코드리뷰 및 업솔빙입니다. A. The Third Three Number Problem https://codeforces.com/contest/1699/problem/A Math(수학) 문제의 요지는 n이 입력으로 들어오면, (a ⊕ b)+(b ⊕ c)+(a ⊕ c) = n 을 만족하는 a, b, c를 출력하면 됩니다. 먼저 저희는 a, b, c의 마지막 비트에 주목해야합니다. 즉, a, b, c가 홀수인지 짝수인지에 따라 나오는 결과값의 홀/짝 유무를 확인해봅시다. i) 홀수가 0개일 때 (0 ⊕ 0)+(0 ⊕ 0)+(0 ⊕ 0) = 짝 ii) 홀수가 1개일 때 (1 ⊕ 0)+(0 ⊕ 0)+(1 ⊕ 0) = 짝 iii..
안녕하세요 aim_higher 입니다. 조금 여담이지만 아는 지인이 저희 집에 방문하였는데, 도메인이 블록체인이신 분이라 그분의 지식의 단편을 조금 들을 수 있었습니다. 그로 인해 약간의 흥미가 동하게 되어 블록체인 개념을 작성하게 되었습니다 언제까지 갈진 모르지만 닿는데까지 해보겠습니다 :) 블록체인은 "데이터를 담고 있는 블록들"이 각각 연결된 분산 데이터 처리 기술입니다. 블록체인은 블록에 거래 내용을 담음. 시간이 지나며 새로운 블록이 생기게 되고 블록들은 순차적으로 서로 연결됨. 기존 데이터 관리와 블록체인의 차이는 데이터를 저장하는 주체가 '하나'가 아닌 '다수'임 블록체인은 다수가 같은 데이터를 갖고 있기에 데이터를 변조하기 어려워 신뢰성을 가질 수 있음 블록에는 헤더(Header)와 거래가..
안녕하세요 aim_higher 입니다. 백준 13977번 : 이항 계수와 쿼리 코드리뷰입니다. Baekjoon Online Judge 11758번: CCW https://www.acmicpc.net/problem/13977 Number Theory(정수론) 문제가 정말 짧네요. nCk를 1,000,000,007로 나눈 나머지를 구하는 문제입니다. 쿼리가 총 M개(M ≤ 100,000), N과 K가(N ≤ 4,000,000, K ≤ N)으로 주어지므로 일반적인 메모이제이션과 재귀를 이용한 방법으로는 TLE를 받게 됩니다 해결기법은 다음과 같습니다 우선, 옛날에 배웠던 조합의 성질을 더듬어보며 다음의 식을 떠올립니다. nCr = n! / r! * (n-r)! nCr이 모두 x! 와 같은 팩토리얼의 형태로 변..