-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
265 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: md-to-pages | ||
concurrency: md-to-pages | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Ensure build dir exists | ||
run: mkdir -p build | ||
|
||
- name: Copy images directory (if exists) | ||
run: if [[ -d img ]]; then cp -R img build/img; fi | ||
|
||
- name: Marp Build (README) | ||
uses: docker://marpteam/marp-cli:v3.0.2 | ||
with: | ||
args: README.md -o build/index.html | ||
env: | ||
MARP_USER: root:root | ||
|
||
- name: Check if slides folder exists | ||
id: slides-folder-exists | ||
run: bash -c "[[ -d slides ]] ; echo \"has_slides=\$?\" >> \"$GITHUB_OUTPUT\"" | ||
|
||
- name: Marp Build (slides folder, if exists) | ||
if: steps.slides-folder-exists.outputs.has_slides == '0' | ||
uses: docker://marpteam/marp-cli:v3.0.2 | ||
with: | ||
args: -I slides/ -o build/slides/ | ||
env: | ||
MARP_USER: root:root | ||
|
||
- name: Deploy production | ||
if: ${{ github.event_name == 'push' }} | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
with: | ||
branch: gh-pages | ||
folder: ./build/ | ||
clean-exclude: pr-preview/ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
marp: true | ||
--- | ||
|
||
# 2024-2 기초 연습 | ||
진민성 | ||
|
||
--- | ||
|
||
# 진행방식 | ||
- 1주에 문제가 10~20문제 정도 제공됩니다. | ||
- 화 (개념강의 & 문제풀이), 목 (문제 풀이) | ||
- 개념 강의 | ||
- 기초 강의와 같이 [jhnah917님의 자료](https://github.com/justiceHui/SSU-SCCC-Study)를 바탕으로 개념을 가르칩니다. | ||
- 문제 풀이 | ||
- 스터디 전 문제를 미리 풀어옵니다. | ||
- 문제마다 풀어온 사람중 랜덤하게 자신의 풀이를 발표합니다. | ||
- 마지막으로 제가 문제의 접근 방식과 풀이를 설명합니다. | ||
|
||
--- | ||
|
||
# 문제 | ||
https://www.acmicpc.net/group/21908 | ||
백준 그룹 연습에서 문제를 확인하실 수 있습니다. | ||
|
||
--- | ||
|
||
# 일정 | ||
![w:600](../../img/2024-autumn-schedule.png) | ||
https://sccc.kr/study/2024/2 | ||
|
||
|
||
--- | ||
|
||
# 한국정보올림피아드위원회 공식 유튜브 채널 | ||
[IOI KOREA](https://youtu.be/8cSjBQtqEXY) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
--- | ||
marp: true | ||
--- | ||
|
||
# Recursion | ||
소프트웨어학부 진민성 | ||
|
||
--- | ||
|
||
# 쿼드트리 | ||
|
||
### 문제요약 | ||
- $2^n \times 2^n$ 흑백 영상이 주어짐 | ||
- 주어진 영상이 모두 같으면 "0" 혹은 "1"로 압축이 가능 | ||
- 만약 0과 1이 섞여 있으면 4개의 구역으로 나누어 압축 | ||
- 압축 결과를 출력하는 문제 | ||
|
||
--- | ||
|
||
### 풀이 | ||
- 4개의 구역으로 나누어 재귀적으로 처리한뒤 모두 합친 결과를 반환 | ||
- 결과가 "0000" 혹은 "1111"형태라면 "0"혹은 "1"로 압축한뒤 반환 | ||
|
||
--- | ||
|
||
# Z | ||
|
||
### 문제요약 | ||
- 크기가 $2^N × 2^N$인 2차원 배열을 Z모양으로 탐색 | ||
- $2\times2$배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양 | ||
- 정수 $N, r, c$ $(1 ≤ N ≤ 15, 0 ≤ r, c < 2^N)$가 주어졌을 때, $r$행 $c$열을 몇 번째로 방문하는지 출력하는 문제 | ||
|
||
--- | ||
|
||
### 풀이 | ||
- 크기 $2^n$의 이차원 배열을 4개의 구역으로 나누었을때 r, c가 각 사분면에 속하는 경우 | ||
- 방문순서가 최소 $ka$이상이라는 것을 알 수 있다. $(k \in \set{0,1,2,3}, a=2^{n-1}\times2^{n-1})$ | ||
- 1사분면 a=$1\times a$ | ||
- 2사분면 a=$0\times a$ | ||
- 3사분면 a=$2\times a$ | ||
- 4사분면 a=$3\times a$ | ||
- 재귀적으로 $r,c$가 어느 사분면에 있는 지 확인하고 각 $ka$들을 답에 더해가면 답을 구할 수 있다. | ||
|
||
--- | ||
|
||
# 레밸 햄버거 | ||
### 문제요약 | ||
- 패티를 $P$, 번을 $B$, 레밸-$L$버거를 $A_L$이라 하자 | ||
- $A_0 = P$ | ||
- $A_L = BA_{L-1}PA_{L-1}B$ | ||
- 정수 $N, X$가 주어짐 ($1 ≤ N ≤ 50, 1 ≤ X ≤ A_N 버거에 있는 레이어의 수$) | ||
- $N$-레밸 버거의 아래 $X$장을 먹었을때 먹은 패티의 개수를 구하는 문제 | ||
|
||
--- | ||
|
||
### 풀이 | ||
- $A_L$의 패티 개수를 $P(L)$, 길이를 $len(L)$라고 하고 | ||
- $f(N,X)$를 $N$레벨버거의 아래 $X$장의 패티의 개수라고 하자. | ||
- $f(0,X) = 1$ | ||
- $f(N,X)$를 구하기 위해 5가지 경우로 나눌 수 있다. ($A_L = BA_{L-1}PA_{L-1}B$) | ||
- $X == 1$ -> $0$ | ||
- 첫번째 버거 안에 속하는 경우 -> $f(N-1, X-1)$ | ||
- X가 정확히 중간 패티까지인 경우 -> $P(L-1) + 1$ | ||
- 두번째 버거 안에 속하는 경우 -> $P(L-1) + 1 + f(N-1, X-1-len(N-1))$ | ||
- 마지막 번을 가르키는 경우 -> $2 \times P(L-1)+1$ | ||
|
||
--- | ||
|
||
# 랭퍼든 수열쟁이야! | ||
### 문제요약 | ||
- 랭퍼드 수열은 두 개의 n 사이에는 정확히 n개의 수가 있는 길이 2n의 수열 | ||
- n이 주어졌을 때, x번째 수와 y번째 수가 같은 길이 2n의 랭퍼드 수열의 개수를 구하는 문제 | ||
- 세 자연수 $n, x, y$가 주어진다. $(2 ≤ n ≤ 12, 1 ≤ x < y ≤ 2n, 1 ≤ y-x-1 ≤ n)$ | ||
|
||
--- | ||
|
||
### 풀이 | ||
- x, y번째 수가 같다는 것은 x, y번째 수가 모두 y-x+1 | ||
|
||
- 현재 탐색중인 인덱스를 i라고 하자. | ||
- 만약 i가 2n이라면 수열을 모두 채운 것이기 때문에 정답을 1 증가시킨다. | ||
- 만약 i번 인덱스가 아직 채워지지 않았다면, 사용하지 않은 수 중 i번째 인덱스에 삽입가능한 수를 채우고 다음인덱스부터 재귀적으로 탐색 | ||
- i번 인덱스가 채워져 있다면 바로 다음 인덱스에서 탐색을 다시 시작 | ||
|
||
--- | ||
|
||
# 무한 수열 | ||
### 문제요약 | ||
|
||
무한 수열 A가 다음과 같이 정의 된다. | ||
- $A_0 = 1$ | ||
- $A_i = A_{⌊i/P⌋} + A_{⌊i/Q⌋} (i ≥ 1)$ | ||
- $N, P$와 $Q$가 주어질 때, $A_N$을 구하는 문제 | ||
- $0 ≤ N ≤ 10^{12}, 2 ≤ P, Q ≤ 10^9$ | ||
|
||
--- | ||
|
||
### 풀이 | ||
- $A_{j \in \set{⌊i/P⌋, ⌊i/Q⌋}}$를 모를 경우 재귀적으로 구할 수 있다. | ||
- $N$의 크기가 int 범위를 벗어나기 때문에 long long을 사용해야 한다. | ||
- map<long long,long long>을 이용하면 $10^9$크기의 배열을 선언하지 않고 구할 수 있다. | ||
|
||
--- | ||
|
||
# 별찍기 - 11 | ||
### 문제요약 | ||
- $N = 3\times 2^k$가 주어질 때 대충 이런 모양의 별을 찍으면 된다. | ||
- $0 ≤ k ≤ 10, k \in \mathbb{Z}$ | ||
``` | ||
* | ||
* * | ||
***** | ||
* * | ||
* * * * | ||
***** ***** | ||
``` | ||
|
||
--- | ||
### 풀이 | ||
- $N$의 크기가 $3\times 2^{10}$보다 작으므로 $N\times 2N$짜리 이차원배열을 만들어서 배열을 채우고 출력하면 된다. | ||
- 삼각형을 그릴 시작 좌표와 크기를 기준으로 재귀를 돌면 된다. | ||
- n이 3일때 배열에 삼각형에 해당하는 위치에 *을 넣어주고 출력하면 된다. | ||
|
||
--- | ||
|
||
# 사분면 | ||
- Todo | ||
|
||
--- | ||
|
||
# Messi Gimossi | ||
- Todo | ||
|
||
--- | ||
|
||
# 프랙탈 평면 | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# Palindrome Type | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# 나무늘보 | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# 피이보나치 트리 | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# IQ test | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# (재미있고 웃기고 센스있고 깔끔한 제목) | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# 잘생긴 GCD | ||
|
||
- Todo | ||
|
||
--- | ||
|
||
# Subseqeuence Sum Queries | ||
|
||
- Todo |