IT/BOJ117 백준(BOJ) 13328 Message Passing * # 수학우선 수가 크기 때문에 dp로도 안풀린다.-> logn으로 해결해야한다.수학 행렬을 사용하면 된다. 이 문제를 풀기 전에 피보나치수3을 푸는것을 추천한다.https://www.acmicpc.net/problem/2749 피보나치 수은 이전의 2개를 더한다면이번 문제에서는 이전의 d개의 수를 더해주면 된다. 여기서 기존의 d=2 기존의 피보나치의 수와 같은 행렬의 제곱으로 해결할 수 있고d>2의 경우, 다음과 같이 해결이 된다. #include #include #include #include #include #include #include #include #include #define MAX 1005 #define INF 987654321 #define MOD 31991 #pragma warning.. 2018. 8. 11. 백준(BOJ) 14753 MultiMax # 단순 구현양수 음수 0에 대한 경우의 수를 나눠서 해결한다. #include #include #include #include #include #include #include #include #include #define MAX 1005 #define INF 987654321 #define MOD 1000000 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; int n,a; vector v; priority_queue ans; int main() { scanf("%d",&n); for(int i=0;i 2018. 8. 10. 백준(BOJ) 13325 이진트리 * # 트리 #자료 구조 1. 루트에서 리프까지 거리 중 최대 거리를 찾는다.2. 리프에서 루트로 올라오면서 각 노드들을 update 시켜준다. #include #include #include #include #include #include #include #include #include #define MAX 1005 #define INF 987654321 #define MOD 1000000 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; int n,mx=-1,arr[2100000]; void getmax(int node,int h,int sum) // 루프와 리프들의 거리 중 최대값을 구한다. .. 2018. 8. 10. 백준(BOJ) 14754 pizza boxes * # 구현각 가로 축, 세로 축에 대해서 최대 값을 표시해 뒀다가,나중에 더할때 빼고 더해주면된다.더할떄 longlong형 주의^^;; #include #include #include #include #include #include #include #include #include #define MAX 1005 #define INF 987654321 #define MOD 1000000 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; int y,x,box[MAX][MAX]; bool tf[MAX][MAX]; int main() { scanf("%d%d",&y,&x); for(int i=1;i 2018. 8. 8. 이전 1 ··· 7 8 9 10 11 12 13 ··· 30 다음