2023년 7월 24일 알고리즘 문제 풀이 보고서
문제 T1: XOR과 K의 인수
시험 중에는 정해를 생각하지 못하고 브루트포스로 풀었습니다. 브루트포스는 접두사 XOR을 미리 계산한 후, 모든 구간을 순회하며 구간 XOR이 K의 약수인지 확인하는 방식입니다. 복잡도는 높지만 80점을 받을 수 있었습니다.
#include <bits/stdc++.h>
#define int long long
#define N 1000100
using namespace std;
int n, k, arr[N], p ...
8월 20일 04:39에 게시됨
C 언어에서 변수 교환 방법 3가지
프로그래밍을 하다 보면 두 변수의 값을 서로 교환해야 하는 상황이 빈번하게 발생한다. 가장 일반적인 방법은 임시 변수를 사용하는 것이지만, 면접이나 코딩 테스트에서 임시 변수 없이 값을 교환하는 방법을 물어보는 경우도 많다. 본 글에서는 C 언어를 기준으로 변수 교환의 세 가지 방법을 살펴보도록 한다.
1. 임시 변수 방식 (Three-Variable Method)
가장 기본 ...
7월 23일 11:44에 게시됨
선형 기저(Linear Basis)를 활용한 XOR 최적화 문제 분석
2024 CCPC Online Contest: 최댓값의 최소화 문제
2024 CCPC 인터넷 예선 J번 문제는 두 시퀀스의 XOR 합을 조정하여 그 중 최댓값을 최소화하는 문제입니다. 길이 $n$인 두 수열 $a, b$가 주어지며, 동일한 인덱스 $i$에 대해 $a_i$와 $b_i$를 교환하는 연산을 원하는 만큼 수행할 수 있습니다. 이때 $f(a) = \bigoplus_{i=1}^n a_i$와 $f(b) = \bigoplus_{i=1}^n b_i$를 ...
7월 23일 08:18에 게시됨
KMP 알고리즘과 문자열 검색 패턴 매칭 기법 종합 정리
문자열 접두사-접미사 매칭 문제 개요
여러 문자열의 접두사와 접미사를 매칭하는 문제는 일반적으로 전처리 과정을 통해 해결한다.
고정된 단어 개수를 가진 문자열 배열 s[n]이 주어졌을 때, 각 문자열을 cin으로 입력받아 처리한다.
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
// 여러 문자열 매칭을 위한 전처리 연산
}
}
...
7월 17일 02:04에 게시됨
Buuctf - findKey
Reverse Engineering을 통해 키를 찾는 방법
LRESULT __stdcallWndProc(HWND hWndParent, UINT Msg, WPARAM wParam, LPARAM lParam)
{
// 각종 변수와 버퍼 선언
HDC hdc;
struct tagPAINTSTRUCT Paint;
CHAR Buffer[100];
struct tagRECT Rect;
// 문자열 로드
LoadStringA(hInstance, 0x6Au, Buffer, 100);
if (Msg > 273) {
if (Msg == 517) { ...
7월 15일 03:36에 게시됨
XOR 선형 기저(Linear Basis)의 이해와 구현
1. 선형 기저(Linear Basis)의 정의와 성질
집합 $S$에 대한 XOR 선형 기저 $B$는 $S$의 부분집합 XOR 합으로 만들 수 있는 모든 값의 집합을 동일하게 생성할 수 있는 최소 크기의 집합입니다. 선형 대수학에서의 기저(Basis) 개념을 XOR 연산과 벡터 공간 $GF(2)^n$으로 가져온 것이라 이해할 수 있습니다.
선형 기저는 다음과 같은 핵심 성질을 가집니다.
원래 수 ...
5월 24일 16:01에 게시됨