문제 링크 : https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net n 의 크기로 말미암아 C/C++ 의 경우 스트링으로 처리해야 한다. 덧셈의 두 항인 스트링의 길이를 고민하기 싫으니 두 스트링의 길이를 같게 만들고 연산한다. #include using namespace std; string dp[10002]; string sAdd(string a, string b){ int alen=a.length(), b..

문제 링크 : https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 출력값의 크기를 보자. 조합 \( {}_{n} C_{m} \) 은 m 이 커짐에 따라 증가하다가 감소하는 단봉(unimodal) 수열이고 대칭적이다. 따라서 주어진 문제에서 가장 큰 값은 \( {}_{100} C_{50} \) 일 것이다. 이미지에서 마지막에서 볼 수 있는 것처럼 C++ 에서 기본적으로 제공되는 int , long long 등으로는 표현이 안된다. 스트링으로 처리해야 한다. 아래 코드의 sAdd 함수는 수를 표현하는 두 스트링을 뒤집힌 형태로 받아서 더한 결과를 스트링으로 반환한다...
- Total
- Today
- Yesterday
- 다익스트라
- RUBY
- fenwick tree
- Aho-Corasick
- bash script
- Vim
- number theory
- JavaScript
- persistent segment tree
- python3
- dynamic programming
- shell
- stack
- 정수론
- Reference
- max flow
- 세그먼트 트리
- math font
- segment tree
- Dijkstra
- script
- nearest common ancestor
- bash
- 백준
- javascript array
- C++ big number
- BOJ
- lazy propagation
- map
- Shell Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |