computer 8

[백준] 1492 - 합 (C++)

1. 문제 소개 2. 풀이 Berlekamp-Massey 알고리즘 Berlekamp-Massey 알고리즘Berlekamp-Massey 알고리즘은 특정한 DP의 점화식을 찾아주는 알고리즘이다. $10^{18}$ 번째 피보나치 수를 찾기 위해서 행렬 곱셈을 짜고, 타일 채우기 문제를 풀기 위해서 수많은 점화식과 씨름하던koosaga.com Berlekamp-Massey 알고리즘을 사용했다. 위의 글을 읽어보면 친절하게 설명돼 있는데, 한 30% 이해한 것 같다. #include #include #include #include #include using namespace std;const int MOD = 1e9 + 7;using lint = long long;lint ipow(lint x, lin..

computer/PS 2025.05.12

[백준] 4179 - 불! (C++)

1. 문제 소개 2. 해결 방안과 알고리즘 BFS로 최단거리를 계산할 수 있다. 근데 불이랑 지훈이의 움직임을 둘 다 계산해야 한다. 만약에 fire가 먼저, 지훈이가 지나가야 할 특정 칸에 닿으면(즉, 기록하는 숫자가 fire 3. 코드 #include #include #include #include #include using namespace std;int dx[] = {1, 0, -1, 0};int dy[] = {0, 1, 0, -1};string board[1002];int fire[1002][1002];int escape[1002][1002];queue> qf;queue> qe;int main(){ ios::sync_with_stdio(false); cin.tie(nullpt..

computer/PS 2025.05.10

[백준] 3015 - 오아시스 재결합 (C++)

1. 문제 소개 2. 생각해야 할 거 키 같으면 볼 수 있음 이런식으로 들어간다 이렇게 생각하면 더 큰 '벽'을 만나기 전 광선이 어디까지 가느냐 묻는 문제라고 해도 본질적으로 같다 (상관은 없지만) 3. 알고리즘 활용 monotone stack을 활용한다.모노톤 스택은 정리가 끝난 후가 아니라 각종 operation을 반복하면서 거기서 발생하는 정보가 유의미하다. 예를 들어서 이 문제에서는 stack안의 원소들을 내림차순(정확히는 non-increasing) 으로 유지하면서, pop 하기 전에 수를 카운트한다. 작은 키는 뒤에서 더 큰 키를 만나면 영원히 가려져서 쓸모 X -> 팝(pop).같은 키는 서로 다 볼 수 있음 -> 키 같은 경우 카운트하고 합쳐서 처리 더 큰 키 가려지지 않아서..

computer/PS 2025.05.09

[AI/ML] Attention is all you need

서론 나는 ML/AI 라는 필드를 전혀 모른다. 내가 경험해본 것들은 다음과 같다 챗봇 파인튜닝하고 놀아봄 (친구가 없음)stable diffusion LoRA 만들기 보이스 트레이닝 후 AI 목소리 만들기 그럼에도 내 귀에 들어올만큼 자주 얘기되는 논문이 있다. Transformer를 소개한 Attention is all you need 라는 논문이다.  [1706.03762] Attention Is All You Need Attention Is All You NeedThe dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder confi..

computer/AI 2024.12.03

[CTF] wwctf 2024 - floats

서론 대회에서는 풀지 못했지만, 요즘 리버싱에 집중하고 있기도 하고, 늦게 참가했더니 거의 유일하게 건든 문제라, 간단하게 기록해놓으려 한다.  풀이 열면 엄청난 코드가 나를 반긴다../floats asdfasdfasdfasdfWrong :( input을 받고 검사하는데, 잘 보면 32 바이트짜리 input을 16:16으로 나누어 각각 check1 함수, check2 함수에 전달하는 것을 알 수 있다.  이 코드 블럭은 비트가 0이면 0x8000000, 1이면 0x00000000로 할당해준다. 0x80000000는 -0.0, 0x00000000는 +0.0이다.  그다음에는 각종 연산을 한다. 대회때는 핵심 아이디어까지만 파악하고 다른 분에게 넘겼었다. 연산에는 +, -밖에 존재하지 않는다. -0.0 또는..

computer/CTF 2024.12.02

[알고리즘] BFS/DFS와 동적 계획법

1. BFS, DFS에 대해 BFS의 기본 원리는 아주 간단하다. 그래프의 시작점에서 닿을 수 있는 모든 곳을 탐색하는 것이다. DFS는 이의 반대다. 그래프에서 가능한만큼 깊이 탐색하는 것이다.  [알고리즘-4]그래프 – IREALISM [알고리즘-4]그래프『Disclaimer: 본 글은 대학원의 데이터과학 알고리즘 수업 및 데이터과학 입문서적에 관한 공부 내용을 정리하는 시리즈입니다.  본 내용은 필자가 전부 직접 요약하여 적은 개인 노트이며, 개인irealist.org 두가지 개념을 정확히 이해하고 싶다면 위의 글을 먼저 읽고 오자. BFS의 predecessor subgraph는 이렇게 나타낸다.  \(G_\pi = (V_\pi, E_\pi),\)\(\quad \text{where} \)\(\qu..

computer/PS 2024.12.02