분류 전체보기 147

C++ sync_off - 입출력 처리 속도

1. ios::sync_with_stdio(false);C++의 cin/cout은 기본적으로 C의 scanf/printf와 동기화되어 있음이 동기화는 성능을 대가로 안정성과 예측 가능성을 높여줌ios::sync_with_stdio(false)를 하면 이 동기화를 비활성화하여 cin/cout을 훨씬 빠르게 만듦.보통 2~10배 이상 빨라질 수 있다. C의 stdio와 C++의 iostream의 동기화 비활성화, C++ 독립 버퍼 사용으로 수행 속도 증가 2. cin.tie(NULL); cout.tie(NULL); 기본적으로 cin과 cout은 묶여(tie) 있음. 특히 cin을 호출하기 전에 cout이 자동으로 flush됨.한 스트림이 다른 스트림에서 각 IO 작업을 진행하기 전 자동으로 버퍼를 비워주는..

CS/C++ 2025.07.07

백준 2785번: 체인 - C++ 탐욕(Greedy)알고리즘

https://www.acmicpc.net/problem/2785   문제를 이해하는데 시간이 좀 걸렸다. 주어진 체인들의 고리를 풀어서 연결하여 하나의 긴 체인으로 만들어야 한다.가장 적은 수의 고리를 사용하려면 가장 짧은 체인의 고리를 풀어 가장 긴 체인들을 묶는데 사용해버리는 것이 유리. 가장 짧은 체인부터 사용하게 될 경우 결과적으로 연결해야하는 체인의 수가 줄어들어 더 적은 고리를 사용할 수 있다.체인을 모두 연결했을 때, 사용하던 체인의 고리가 남아버리는 것은 상관 없다. 길이가 각각 7 3 1 8 9 4 인 체인 6개가 입력으로 들어왔을 때,제일 앞에서부터 순서대로 묶어버리는 경우길이가 7인 체인의 고리 하나를 사용해 3 1을 묶고,그 다음 8 체인과, 3과 1이 묶여서 4가 된 체인을 또 ..

CS/코딩테스트 2025.03.24

게임 수학 - 삼각 함수

1. 삼각함수(Trigonometric function)직각삼각형(Right-Angled Triangle)의 삼요소 삼각비(Trigonomertric Ratio)직각 삼각형을 구성하는 세 요소 중 두 요소에 대한 비의 값 직각삼각형의 3개의 변 중 2개의 변에 대한 비를 삼각비라고 하며,총 6가지 중 중요하게 사용되는 것이 사인, 코사인, 탄젠트 3가지.  $sin=\frac{Opposite}{Hypotenuse}$$cos=\frac{Adjacent}{Hypotenuse}$$tan=\frac{Opposite}{Adjacent}$ 컴퓨터 그래픽스에서는 사인함수(Sine)와 코사인함수(Cosine)를 가장 많이 사용함.탄젠트함수(Tangent)의 경우 역함수를 사용해 벡터의 각을 구하는데 활용 삼각함수(Tr..

게임 수학 - 선형 독립

1. 벡터의 생성(Span) 시스템선형 조합(Linear Combination)벡터의 기본 연산을 사용해 새로운 벡터를 생성하는 수식$v' = a_1 v_1+a_2 v_2+a_3 v_3+...+a_n v_n$ 벡터와 스칼라를 곱하면 벡터가 되고, 벡터끼리 더한 것은 벡터가 되기 때문에결과적으로 어떤 새로운 벡터가 만들어지게(span한다) 됨 선형 의존과 선형 독립의 수학적 정의다음 수식을 만족하는 0이 아닌 계수가 존재하면 수식 내 벡터들은 선형 의존이라 함.$a_1 v_1+a_2 v_2+a_3 v_3+...+a_n v_n = \vec{0}$ 다음 수식을 만족하기 위해 모 계수 값이 0이라면 수식 내 벡터들은 선형 독립이라 함.$a_1 v_1+a_2 v_2+a_3 v_3+...+a_n v_n = 0$ 문..

게임 수학 - 벡터

1. 벡터(Vector)의 정의수 직선에서의 표현의 한계수를 점으로 표현한다면 1차원의 도형 수직선 위에 있는 것들만 표현이 가능.1차원 상에서 의미있는 무언가를 표현하기에는 주어진 공간이 너무 부족함.데카르트 좌표계(Cartesian Coordinate System)수의 시스템을 기반으로 영역을 확장해 표현하는 방식.두 실수 집합을 교차시켜서(직교) 평면을 표현하고 오른쪽과 위쪽을 +방향으로 지정한다.이렇게 영역을 확장한 모습은 두 실수 집합을 곱집합으로 확장한 R⨉R (곱집합으로 구성된 평면)로 볼 수 있다.곱집합의 원소는 순서쌍이므로 두 집합의 원소를 각각 미지수 x와 y로 두면 이는 (x, y)로 표현할 수 있다.이를 좌표(Coordinate)라고 함.직교한다: 90도로 배치한다는 의미를 넘어 가..

게임 수학 - 함수

1. 함수(Function)의 기초함수를 왜 배워야 하는가? 게임의 공간을 구성하고 화면에 보여지는 전 과정은 대부분 공간과 공간의 변환으로 구성됨.이러한 변환은 근본적으로 집합과 집합의 대응 관계에 기반하고 있으며, 이러한 메카니즘을 설명하는 이론이 함수.함수에 대한 개념을 제대로 정립하는 것이 게임 공간과 공간의 변환을 올바르게 이해할 수 있는 기본 지식이 됨. 함수의 정의 첫 번째 집합 X의 요소인 x가 두 번째 집합 요소인 y에 대응될 때, y = f(x) 라고 표기 함수의 성립 조건 : 첫 번째 집합의 모든 요소가 사용되어야 한다. 함수가 아닌 대응 관계첫 번째 집합의 어떤 원소에 대한 대응 관계가 빠져 있을 때첫 번째 집합의 한 원소가 두 번째 집합의 두 가지 이상의 원소에 대응할 때  함수에..

게임 수학 - 수의 구조

1. 수의 시각화왜 수에 대해 알아야 하는가?게임 세계는 벡터로 구성된 시스템. 이 시스템 위에서 콘텐츠가 만들어짐.벡터는 수를 사용해 만들어진 대상이므로, 벡터를 정확히 이해하기 위해서는 결국 수가 만들어내는 시스템에 대한 이해가 필요하다.수(Numbers)의 종류다양한 수의 개념이 존재하며, 각각은 대문자를 사용해 집합으로 구분하여 부른다. 실수 집합(The set of real numbers) R실수 집합 R은 수 사이에 빈틈이 없는 연속된 무한의 요소로 구성된 수의 집합임이러한 실수 집합의 개념과 원소의 개념에서의 수를 바라보는 것을 훈련할 필요가 있음. 수 직선(Number Line)실수 집합 R의 요소를 점으로 나열하면 연속성 있는 직선으로 표현할 수 있음.수의 표현하나의 체계에서 대소를 비교..

쾌락의 질적 차이 - 밀의 공리주의, 에피쿠로스의 정신적 쾌락

벤담은 쾌락에는 질적인 차이가 없고 오로지 더 많은 쾌락을 중시.하지만 쾌락에는 질적 차이가 존재한다.밀은 여러 가지 쾌락을 경험한 사람이 선호하는 쾌락이 보다 바람직한 쾌락이라고 주장.그리고 정상적인 인간은 누구나 질적으로 높고 고상한 쾌락을 추구할 것으로 보았음.단순한 감각적 쾌락이 아닌 지적이고 내적 교양이 뒷바침되는 정신적 쾌락이 더 우월하다. "만족하는 돼지가 되기보다는 불만에 찬 인간이 되는 편이 낫고, 만족하는 바보가 되기보다는 불만에 찬 소크라테스가 되는 편이 낫다. 그런데 만일 돼지나 바보라면 이것과는 다른 견해를 보일 것이다. 왜냐하면 그들은 오직 자신이 속한 한 측면밖에 파악할 수 없기 때문이다. 두 측면을 모두 알아야 이들 둘을 비교할 수 있다." - 밀 "공리주의" 인간의 정신적,..

잡동사니 2025.01.17
반응형