Eau de Cologne
문제: (oj.uz) https://oj.uz/problem/view/IOI24_message (acmicpc.net) https://www.acmicpc.net/problem/32265문제의 풀이의 설명은 여러 Editorial에도 많이 설명이 되어 있기에, 생각 과정 위주로 시간 순으로 적어보겠습니다. 보내야하는 정보의 양"길이 $N$ 이하의 메세지를 보낼 수 있다." 라는 말은 "길이 $N+1$의 메세지를 보낼 수 있다" 라는 말과 거의 비슷합니다. $2^0 + 2^1 + 2^2 + \cdots + 2^N = 2^{N+1} -1$이고, 보통 다음과 같이 인코딩/디코딩을 하는 것 같습니다.길이 $K$의 메세지를 보내기 위해서는 $K$번째 비트를 $1$로 채우고, 하위 비트를 길이 $K$의 메세지로 채..
더보기술, 특히 위스키와 꼬냑은 단순한 음주가 아니라 맛을 탐구하고 경험을 쌓는 중요한 취미이자 삶의 기쁨이다.하지만 알코올 의존, 우울증과 지방간 등으로 인해 즐거움과 건강 사이에서 진지한 고민의 지점에 서게 되었다.술을 줄이기로 결심하며, 술 그 자체보다 "함께하는 취미와 관계"를 다른 방식으로 이어가려 한다. 0. 글을 쓰다보니 너무 구체적인 술의 종류를 많이 쓰게 되었다... 이 글을 대충 훑는데는 필요가 없지만 그래도 술을 알면 좀 더 재밌게 읽을 수 있지 않을까?하면서 굳이 고치지는 않았다. 밤이라서 좀 날것의 글일 수도 있지만 어딘가에는 꼭 말하고 싶었고 블로그는 완벽한 곳이었다. 참고로 이 문단은 6번 문단을 쓸때쯤 썼다. 1. 나의 지금 가장 큰 취미가 무엇인지 물어보면, 좀 더 구체적..
최근에 3개의 점을 지나는 원 (외심과 반지름), 5개의 점을 지나는 원뿔곡선의 방정식을 찾는 것에 대해 구할 일이 생겼는데 생각보다 간단한 트릭이 존재해서 블로그에 써보기로 했습니다.행렬식 (Determinant)행렬식은 $\textrm{det}$이라고 쓰이는, $n \times n$ (실수) 행렬에 대해 값이 실수인 함수입니다.행렬식은 다음과 같은 조건을 만족하도록 정의되는 함수이며, 해당 정의를 만족하는 함수는 $n$에 따라 유일합니다. $A$의 행렬식은 $\textrm{det}(A) = |A|$ 로 작성하기도 합니다.$|I_n| = 1$. 여기서 $I_n$는 항등행렬입니다.행렬식은 다중 선형사상입니다. 행렬의 한 열을 $r$배 하면, 행렬식의 값도 $r$배가 됩니다. $j$번째 열만 다른 두 행렬..
예전에 "나는 PS로 돈을 벌 수 없다 (https://cologne.tistory.com/78)" 라는 글을 작성했습니다. 그리고 잠수를 탔습니다... 저 시점이 몰로코 인턴을 하고 2025년에 넥슨 코리아에 근무를 하면서 블로그를 쓸 시간도 많이 없었습니다. 대충 저 글을 1년 반쯤 비공개로 돌렸는데 제가 넥슨 코리아에서 일을 하면서 돈을 벌고 있습니다. PS로 돈을 벌 수 있는 것 같습니다. 최근에 Goodbye, BOJ 2025! 에서도 스폰서 세션을 했었는데 회사인 넥슨코리아 소개도 했습니다. 결국 회사에서는 node.js도 쓰고 있고 Rust도 쓰고 있고 C#도 쓰고 있습니다. 완전히 알고리즘 문제풀이만 하고 있지는 않지만 관련된 것은 하고 있습니다. 하지만, 알고리즘 문제풀이를 대회로 예전처..
문제는 https://nypc.github.io/2025 에서 확인하실 수 있습니다.제가 짠거 올립니다. 공통적으로 다음 FastIO 코드를 썼습니다.더보기mod fio { use std::{ cell::RefCell, convert::TryInto, fmt::Debug, io::{stdin, stdout, BufRead, BufWriter, StdinLock, StdoutLock}, str::FromStr, }; thread_local! { pub static STDIN: RefCell> = RefCell::new(stdin().lock()); pub static STDOUT: RefCell>> = ..
문제는 https://nypc.github.io/2025 에서 확인하실 수 있습니다.제가 짠거 올립니다. 공통적으로 다음 FastIO 코드를 썼습니다.더보기mod fio { use std::{ cell::RefCell, convert::TryInto, fmt::Debug, io::{stdin, stdout, BufRead, BufWriter, StdinLock, StdoutLock}, str::FromStr, }; thread_local! { pub static STDIN: RefCell> = RefCell::new(stdin().lock()); pub static STDOUT: RefCell>> = ..