책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788996659846
· 쪽수 : 448쪽
· 출판일 : 2011-10-24
책 소개
목차
CHAPTER 1 프로그래밍 콘테스트 (초급편)
1-1 프로그래밍 콘테스트란 무엇인가요?
1-2 어떤 콘테스트가 있나요?
세계적인 규모의 콘테스트 - Google Code Jam(GCJ)
상위 랭크를 목표로! - TopCoder
역사 깊은 콘테스트 - ACM/ICPC
중학생, 고등학생을 위한 정보 올림피아드 - KOI/IOI
웹에서 자동 채점 - online judge
1-3 이 책은?
다루는 내용
사용하는 언어
문제를 다루는 방법
프로그램은
이 책을 다 읽은 후
1-4 어떻게 해답을 제출하나요?
POJ에 제출하는 방법
GCJ에 제출하는 방법
1-5 효율적인 알고리즘을 목표로!
계산량이란?
실행시간이란?
1-6 가볍게 워밍업
먼저 간단한 문제부터
POJ 문제 [Ants]
허들이 높아진 [제비 뽑기]
CHAPTER 2 기초부터 시작하기 (초급편)
2-1 모든 것의 기본 '전全탐색'
재귀함수
스택
큐
깊이 우선 탐색
너비 우선 탐색
특수한 상태의 열거
가지치기
2-2 탐욕 알고리즘
코인 문제
구간 스케줄링 문제
COLUMN 알고리즘의 증명
Best Cow Line
Saruman's Army
Fence Repair
COLUMN 하프만 부호
2-3 값을 기억해서 재활용하는 '동적 설계법'
탐색의 메모화 및 동적 설계법
COLUMN memset
COLUMN 초기화
COLUMN 다양한 DP
점화식 공부
COLUMN 재활용 방법
COLUMN lower_bound
계산 문제에 관한 DP
2-4 데이터를 효율적으로 기억하는 '데이터 구조'
트리·이진트리
우선순위 큐와 힙
이진탐색 트리
Union-Find 트리
2-5 모든 것이 사실은 그래프
그래프란?
그래프의 표현
그래프 탐색
최단경로 문제
연습문제
2-6 GCJ 문제에 도전하기(1)
Minimum Scalar Product
Crazy Rows
Bribe the Prisoners
Millionaire
CHAPTER 3 여기서 차이가 난다 (중급편)
3-1 수학적인 문제를 푸는 요령
유클리드 호제법
COLUMN 증명이나 법칙
소수에 관한 기본적인 알고리즘
나머지 계산
제곱승을 고속으로 계산한다
3-2 값 탐색만이 아니다 '이진탐색'
정렬된 열로부터 값 찾기
해를 가정하고 가능할지 판정
COLUMN 종료 조건
최소 값의 최대화
평균최대화
3-3 엄선 자주 출제되는 유형 테크닉(1)
inchworm 알고리즘
반전
COLUMN 집합 정수 표현
탄성충돌
half 전열거
표준압축
3-4 여러 가지 데이터 구조를 조작해보자
세그먼트 트리
COLUMN Sparse 테이블
BIT란?
버킷 방식과 평방 분할
3-5 동적 계획법을 연구한다!
비트 DP
COLUMN 완벽매칭의 갯수
행렬 거듭제곱
COLUMN 좀 더 고속으로 점화식 계산하기
데이터 구조를 이용한 고속화
3-6 네트워크 플로우
최대흐름
최소절단
COLUMN 여러 가지 그래프에 대한 최대흐름
COLUMN 고속의 플로우 알고리즘
이분매칭
일반매칭
매칭·변 덮개·안정집합·점 덮개
최소비용흐름
COLUMN 여러 가지 그래프에 대한 최소비용흐름
연습문제
3-7 GCJ 문제에 도전해보자(2)
Numbers
No Cheating
Stock Charts
Watering Plants
COLUMN 계산 오차
Number Sets
Wi-fi Towers
CHAPTER 4 좀 더 연구하자! (상급편)
4-1 복잡한 수학적 문제
행렬
mod의 세계
열거
대칭성이 있는 열거
4-2 게임의 필승법을 생각하자!
게임과 필승법
Nim
Grundy 수
4-3 그래프 마스터의 길
강한 연결 성분 분해
2-SAT
LCA
4-4 엄선! 자주 출제되는 테크닉(2)
스택의 사용
데큐의 이용
LogStepDP
4-5 GCJ 문제에 도전해봅시다(3)
Mine Layer
Year of More Code Jam
COLUMN 다배장 연산
Football Team
Endless Knight
The Year of Code Jam