Loading...
2024. 5. 22. 02:57

floating point와 fixed point 간단하게

1. floating point와 fixed point의 차이 fixed point는 부호(+ , - )와 정수부와 소수부로 나누어서 실수를 저장하는 것 만약 32bit인 경우 예를 들면 정수는 8비트 소수부는 23비트만 저장하겠다고 고정을 하고 실수를 저장함 정수를 표현하고자하는 비트 수를 늘린다면 더 큰 숫자를 표현할 수 있지만  그만큼 소수부 비트가 줄어들어서 정밀한 숫자를 표현하기 어렵다 반면 소수부 비트를 늘린다면 정밀한 숫자를 표현할 수는 있어도 큰 숫자를 표현하기는 어렵다  이런 문제를 해결하기 위해 floating point 방식이 등장했다 모든 실수를 부호(+,-)와 가수부와 지수부로 나누어 저장함   소수점을 옮긴다는 생각은 의미가 없는게  floating point는 12345를 $1..

2024. 4. 14. 02:54

ABC349 D번 복기 - log를 구하는 가장 정확한 방법 - math.log를 기피해야하는 이유

https://atcoder.jp/contests/abc349/tasks/abc349_d D - Divide IntervalAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp  L부터 R-1까지 연속된 정수 수열이 주어질때, 이 수열을 최소 개수의 구간으로 나눌려고 한다 L  $li = 2^{k}(j), ri = 2^{k}(j+1)$을 만족해야한다. 접근은 상당히 잘 했다 현재 시점 L을 기준으로 $L = 2^{k}j$를 만족하는 모든 k를 먼저 찾는다. 이거는 L이 2로 나누어 떨어지면,..

2023. 7. 17. 02:57

데이터 해석학5 -오차와 확률분포-

1. 데이터의 변동 파악 측정 결과가 우연오차에 의해 변동이 생긴다고 하지만, 이 변동을 어떻게 다루어야할까? 몸무게의 참값이 50kg인 A가 몸무게를 10번 측정한 경우를 생각해보자. 편향은 무시하고, 우연오차만 결과에 영향을 미친다고 가정하자. 이 우연오차의 특징을 파악하기 위해 측정을 10000번 반복한다. 결과를 단순히 수직선 위에 그리면 보기 어렵기 때문에 히스토그램을 사용하여 표시 막대의 폭(구간)을 0.02kg으로 설정하고, 그 안에 들어간 데이터의 개수를 높이로 표시한다. 분할된 각 구간을 bin이라고 한다. 예를 들면, 측정된 값이 50.00~50.02kg의 범위에 포함된 횟수가 771번 처럼 전체를 세세하게 나눠서 세고 있다. 이 히스토그램은 산 모양을 나타내고 있는데, 이 측정을 계속..

2023. 7. 16. 02:29

데이터 해석학4 -우연오차와 편향-

1. 오차란 건강관리를 위해 매일 체중을 측정하고 기록하는 상황을 생각해보자. 실제 체중을 가능한한 정확하게 기록하고 싶지만, 정확한 체중계더라도 측정을 여러번 반복해보면 체중 값이 매번 조금씩 달라진다. 이런 상황을 '값에 변동이 있다'고 한다. 이 때, 진짜 체중의 값을 참값(true value)이라고 한다. 이 값은 절대 변하지 않는다. 그러므로 매번 체중계에서는 참값과는 다른 값이 표시되고 있다는 것이 된다. 좀 더 정확하게 측정하고 싶다면 입고 있는 옷의 무게도 빼야 한다는 것도 생각해야 한다. 이렇게 참값과 관측한 값의 차이를 오차(error)라고 한다. 2. 오차가 크면 정보가 사라진다 만일 체중계가 측정값이 측정할때마다 +-10kg씩 변동이 있다고 한다면, 매일 체중 변화를 기록하는데 아무..

시간 다이나믹 프로그래밍 기본 문제 틀리기 쉬운 점 복기하면서 재활

1. 문제 19947번: 투자의 귀재 배주형 (acmicpc.net) 19947번: 투자의 귀재 배주형 2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다. 주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다. 1년마다 5%의 이율을 얻는 투자 ( www.acmicpc.net 2. 풀이 아주 기본적인? 다이나믹 프로그래밍.. 근데 어떻게 하는건지 잠깐 기억이 안났었다는게 함정 dp를 길이가 y+1인 배열 [0]*(y+1) 초기화할테고 dp[0] = h여서.. y년 후의 금액이 dp[y]라고 해서.. 1년,3년,5년 투자 방식중 최댓값을 골라 dp에 저장할텐데 이거 어떻게 하더라... 잠깐 정적.. ------------------------------..

2023. 4. 8. 01:49

되도록이면 실수로 알고리즘을 풀지 말아야하는 이유1

1. 문제 27496번: 발머의 피크 이론 (acmicpc.net) 27496번: 발머의 피크 이론 각 시간에 따른 혈중 알코올 농도는 {0.045, 0.089, 0.133, 0.131, 0.127}이다. 따라서 지금으로부터 2시간 후와 3시간 후, 총 두 시간 동안 혈중 알코올 농도를 유지할 수 있다. www.acmicpc.net 2. 풀이 혈중 알코올 농도는 알코올 양 정수 * 0.001로 정의한다고 하니까, 정수 배열로 주어지는 배열을 왼쪽부터 순회하면서, 0.001을 곱한 다음 합해나가면서, 매 인덱스마다 0.129와 0.138사이에 몇번이나 있었는지 세면 될것 O(N)에 해결하기 위해 prefix sum을 사용한다. 그런데 시간 L 이후에는, L 전에 먹었던 알코올이 사라지므로... 최초로 술을..