کتابخانه مرکزی دانشگاه صنعتی شریف
    • [نمايش بزرگتر]
    • [نمايش کوچکتر]
  • صفحه 
     از  0
  • [صفحه قبل]
  • [صفحه بعد]
  • [نمایش تمام صفحه]
  • [بستن]
 
Programming challenges : the programming contest training manual
Skiena, Steven S.

اطلاعات کتابشناختی

Programming challenges : the programming contest training manual
Author :   Skiena, Steven S.
Publisher :   Springer,
Pub. Year  :   2003
Subjects :   Computer programming.
Call Number :   ‭QA 76 .6 .S598 2003

جستجو در محتوا

ترتيب

فهرست مطالب

  • Programming Challenges (1)
  • Contents (13)
  • 1 Getting Started (21)
    • 1.1 Getting Started With the Judge (21)
      • 1.1.1 The Programming Challenges Robot Judge (22)
      • 1.1.2 The Universidad de Valladolid Robot Judge (22)
      • 1.1.3 Feedback From the Judge (23)
    • 1.2 Choosing Your Weapon (24)
      • 1.2.1 Programming Languages (25)
      • 1.2.2 Reading Our Programs (26)
      • 1.2.3 Standard Input/Output (27)
    • 1.3 Programming Hints (29)
    • 1.4 Elementary Data Types (31)
    • 1.5 About the Problems (33)
    • 1.6 Problems (35)
      • 1.6.1 The 3n + 1 Problem (35)
      • 1.6.2 Minesweeper (36)
      • 1.6.3 The Trip (37)
      • 1.6.4 LCD Display (38)
      • 1.6.5 Graphical Editor (39)
      • 1.6.6 Interpreter (41)
      • 1.6.7 Check the Check (43)
      • 1.6.8 Australian Voting (45)
    • 1.7 Hints (46)
    • 1.8 Notes (46)
  • 2 Data Structures (47)
    • 2.1 Elementary Data Structures (47)
      • 2.1.1 Stacks (48)
      • 2.1.2 Queues (48)
      • 2.1.3 Dictionaries (50)
      • 2.1.4 Priority Queues (51)
      • 2.1.5 Sets (52)
    • 2.2 Object Libraries (53)
      • 2.2.1 The C++ Standard Template Library (53)
      • 2.2.2 The Java java.util Package (53)
    • 2.3 Program Design Example: Going to War (54)
    • 2.4 Hitting the Deck (55)
    • 2.5 String Input/Output (57)
    • 2.6 Winning the War (58)
    • 2.7 Testing and Debugging (59)
    • 2.8 Problems (62)
      • 2.8.1 Jolly Jumpers (62)
      • 2.8.2 Poker Hands (63)
      • 2.8.3 Hartals (65)
      • 2.8.4 Crypt Kicker (67)
      • 2.8.5 Stack 'em Up (68)
      • 2.8.6 Erd¨os Numbers (70)
      • 2.8.7 Contest Scoreboard (72)
      • 2.8.8 Yahtzee (73)
    • 2.9 Hints (75)
    • 2.10 Notes (75)
  • 3 Strings (76)
    • 3.1 Character Codes (76)
    • 3.2 Representing Strings (78)
    • 3.3 Program Design Example: Corporate Renamings (79)
    • 3.4 Searching for Patterns (81)
    • 3.5 Manipulating Strings (82)
    • 3.6 Completing the Merger (83)
    • 3.7 String Library Functions (84)
    • 3.8 Problems (86)
      • 3.8.1 WERTYU (86)
      • 3.8.2 Where's Waldorf? (87)
      • 3.8.3 Common Permutation (89)
      • 3.8.4 Crypt Kicker II (90)
      • 3.8.5 Automated Judge Script (91)
      • 3.8.6 File Fragmentation (93)
      • 3.8.7 Doublets (94)
      • 3.8.8 Fmt (95)
    • 3.9 Hints (97)
    • 3.10 Notes (97)
  • 4 Sorting (98)
    • 4.1 Sorting Applications (98)
    • 4.2 Sorting Algorithms (99)
    • 4.3 Program Design Example: Rating the Field (102)
    • 4.4 Sorting Library Functions (103)
    • 4.5 Rating the Field (105)
    • 4.6 Problems (108)
      • 4.6.1 Vito's Family (108)
      • 4.6.2 Stacks of Flapjacks (109)
      • 4.6.3 Bridge (111)
      • 4.6.4 Longest Nap (112)
      • 4.6.5 Shoemaker's Problem (114)
      • 4.6.6 CDVII (115)
      • 4.6.7 ShellSort (117)
      • 4.6.8 Football (aka Soccer) (119)
    • 4.7 Hints (121)
    • 4.8 Notes (121)
  • 5 Arithmetic and Algebra (122)
    • 5.1 Machine Arithmetic (122)
    • 5.1.1 Integer Libraries (123)
    • 5.2 High-Precision Integers (123)
    • 5.3 High-Precision Arithmetic (125)
    • 5.4 Numerical Bases and Conversion (130)
    • 5.5 Real Numbers (132)
      • 5.5.1 Dealing With Real Numbers (133)
      • 5.5.2 Fractions (133)
      • 5.5.3 Decimals (134)
    • 5.6 Algebra (135)
    • 5.6.1 Manipulating Polynomials (135)
    • 5.6.2 Root Finding (136)
    • 5.7 Logarithms (136)
    • 5.8 Real Mathematical Libraries (137)
    • 5.9 Problems (139)
      • 5.9.1 Primary Arithmetic (139)
      • 5.9.2 Reverse and Add (140)
      • 5.9.3 The Archeologist's Dilemma (141)
      • 5.9.4 Ones (142)
      • 5.9.5 A Multiplication Game (143)
      • 5.9.6 Polynomial Coefficients (144)
      • 5.9.7 The Stern-Brocot Number System (145)
      • 5.9.8 Pairsumonious Numbers (147)
    • 5.10 Hints (148)
    • 5.11 Notes (148)
  • 6 Combinatorics (149)
    • 6.1 Basic Counting Techniques (149)
    • 6.2 Recurrence Relations (151)
    • 6.3 Binomial Coefficients (151)
    • 6.4 Other Counting Sequences (153)
    • 6.5 Recursion and Induction (155)
    • 6.6 Problems (157)
      • 6.6.1 How Many Fibs? (157)
      • 6.6.2 How Many Pieces of Land? (158)
      • 6.6.3 Counting (159)
      • 6.6.4 Expressions (160)
      • 6.6.5 Complete Tree Labeling (161)
      • 6.6.6 The Priest Mathematician (162)
      • 6.6.7 Self-describing Sequence (164)
      • 6.6.8 Steps (165)
    • 6.7 Hints (166)
    • 6.8 Notes (166)
  • 7 Number Theory (167)
    • 7.1 Prime Numbers (167)
      • 7.1.1 Finding Primes (168)
      • 7.1.2 Counting Primes (169)
    • 7.2 Divisibility (169)
      • 7.2.1 Greatest Common Divisor (170)
      • 7.2.2 Least Common Multiple (171)
    • 7.3 Modular Arithmetic (172)
    • 7.4 Congruences (174)
      • 7.4.1 Operations on Congruences (174)
      • 7.4.2 Solving Linear Congruences (175)
      • 7.4.3 Diophantine Equations (175)
    • 7.5 Number Theoretic Libraries (176)
    • 7.6 Problems (177)
      • 7.6.1 Light, More Light (177)
      • 7.6.2 Carmichael Numbers (178)
      • 7.6.3 Euclid Problem (179)
      • 7.6.4 Factovisors (180)
      • 7.6.5 Summation of Four Primes (181)
      • 7.6.6 Smith Numbers (182)
      • 7.6.7 Marbles (183)
      • 7.6.8 Repackaging (184)
    • 7.7 Hints (186)
    • 7.8 Notes (186)
  • 8 Backtracking (187)
    • 8.1 Backtracking (187)
    • 8.2 Constructing All Subsets (189)
    • 8.3 Constructing All Permutations (190)
    • 8.4 Program Design Example: The Eight-Queens Problem (192)
    • 8.5 Pruning Search (193)
    • 8.6 Problems (196)
      • 8.6.1 Little Bishops (196)
      • 8.6.2 15-Puzzle Problem (197)
      • 8.6.3 Queue (199)
      • 8.6.4 Servicing Stations (200)
      • 8.6.5 Tug of War (201)
      • 8.6.6 Garden of Eden (202)
      • 8.6.7 Color Hash (204)
      • 8.6.8 Bigger Square Please (206)
    • 8.7 Hints (208)
    • 8.8 Notes (208)
  • 9 Graph Traversal (209)
    • 9.1 Flavors of Graphs (209)
    • 9.2 Data Structures for Graphs (211)
    • 9.3 Graph Traversal: Breadth-First (214)
      • 9.3.1 Breadth-First Search (214)
      • 9.3.2 Exploiting Traversal (215)
      • 9.3.3 Finding Paths (216)
    • 9.4 Graph Traversal: Depth-First (218)
      • 9.4.1 Finding Cycles (218)
      • 9.4.2 Connected Components (219)
    • 9.5 Topological Sorting (220)
    • 9.6 Problems (223)
      • 9.6.1 Bicoloring (223)
      • 9.6.2 Playing With Wheels (224)
      • 9.6.3 The Tourist Guide (226)
      • 9.6.4 Slash Maze (228)
      • 9.6.5 Edit Step Ladders (230)
      • 9.6.6 Tower of Cubes (231)
      • 9.6.7 From Dusk Till Dawn (233)
      • 9.6.8 Hanoi Tower Troubles Again! (235)
    • 9.7 Hints (236)
  • 10 Graph Algorithms (237)
    • 10.1 Graph Theory (237)
      • 10.1.1 Degree Properties (237)
      • 10.1.2 Connectivity (238)
      • 10.1.3 Cycles in Graphs (239)
      • 10.1.4 Planar Graphs (240)
    • 10.2 Minimum Spanning Trees (240)
    • 10.3 Shortest Paths (243)
      • 10.3.1 Dijkstra's Algorithm (243)
      • 10.3.2 All-Pairs Shortest Path (245)
    • 10.4 Network Flows and Bipartite Matching (247)
    • 10.5 Problems (251)
      • 10.5.1 Freckles (251)
      • 10.5.2 The Necklace (252)
      • 10.5.3 Fire Station (254)
      • 10.5.4 Railroads (255)
      • 10.5.5 War (257)
      • 10.5.6 Tourist Guide (259)
      • 10.5.7 The Grand Dinner (261)
      • 10.5.8 The Problem With the Problem Setter (262)
    • 10.6 Hints (264)
  • 11 Dynamic Programming (265)
    • 11.1 Don't Be Greedy (265)
    • 11.2 Edit Distance (266)
    • 11.3 Reconstructing the Path (270)
    • 11.4 Varieties of Edit Distance (271)
    • 11.5 Program Design Example: Elevator Optimization (273)
    • 11.6 Problems (277)
      • 11.6.1 Is Bigger Smarter? (277)
      • 11.6.2 Distinct Subsequences (278)
      • 11.6.3 Weights and Measures (279)
      • 11.6.4 Unidirectional TSP (280)
      • 11.6.5 Cutting Sticks (282)
      • 11.6.6 Ferry Loading (283)
      • 11.6.7 Chopsticks (285)
      • 11.6.8 Adventures in Moving: Part IV (286)
    • 11.7 Hints (287)
    • 11.8 Notes (287)
  • 12 Grids (288)
    • 12.1 Rectilinear Grids (288)
      • 12.1.1 Traversal (289)
      • 12.1.2 Dual Graphs and Representations (290)
    • 12.2 Triangular and Hexagonal Grids (291)
      • 12.2.1 Triangular Lattices (291)
      • 12.2.2 Hexagonal Lattices (292)
    • 12.3 Program Design Example: Plate Weight (295)
    • 12.4 Circle Packings (297)
    • 12.5 Longitude and Latitude (298)
    • 12.6 Problems (299)
      • 12.6.1 Ant on a Chessboard (299)
      • 12.6.2 The Monocycle (300)
      • 12.6.3 Star (302)
      • 12.6.4 Bee Maja (303)
      • 12.6.5 Robbery (304)
      • 12.6.6 (2/3/4)-D Sqr/Rects/Cubes/Boxes? (306)
      • 12.6.7 Dermuba Triangle (307)
      • 12.6.8 Airlines (308)
    • 12.7 Hints (310)
  • 13 Geometry (311)
    • 13.1 Lines (311)
    • 13.2 Triangles and Trigonometry (314)
      • 13.2.1 Right Triangles and the Pythagorean Theorem (315)
      • 13.2.2 Trigonometric Functions (315)
      • 13.2.3 Solving Triangles (316)
    • 13.3 Circles (318)
    • 13.4 Program Design Example: Faster Than a Speeding Bullet (319)
    • 13.5 Trigonometric Function Libraries (322)
    • 13.6 Problems (324)
      • 13.6.1 Dog and Gopher (324)
      • 13.6.2 Rope Crisis in Ropeland! (325)
      • 13.6.3 The Knights of the Round Table (326)
      • 13.6.4 Chocolate Chip Cookies (327)
      • 13.6.5 Birthday Cake (328)
      • 13.6.6 The Largest/Smallest Box (329)
      • 13.6.7 Is This Integration? (330)
      • 13.6.8 How Big Is It? (331)
    • 13.7 Hints (332)
  • 14 Computational Geometry (333)
    • 14.1 Line Segments and Intersection (333)
    • 14.2 Polygons and Angle Computations (335)
    • 14.3 Convex Hulls (336)
    • 14.4 Triangulation: Algorithms and Related Problems (339)
      • 14.4.1 Van Gogh's Algorithm (340)
      • 14.4.2 Area Computations (342)
      • 14.4.3 Point Location (342)
    • 14.5 Algorithms on Grids (344)
      • 14.5.1 Range Queries (344)
      • 14.5.2 Lattice Polygons and Pick's Theorem (345)
    • 14.6 Geometry Libraries (346)
    • 14.7 Problems (347)
      • 14.7.1 Herding Frosh (347)
      • 14.7.2 The Closest Pair Problem (348)
      • 14.7.3 Chainsaw Massacre (349)
      • 14.7.4 Hotter Colder (350)
      • 14.7.5 Useless Tile Packers (351)
      • 14.7.6 Radar Tracking (353)
      • 14.7.7 Trees on My Island (354)
      • 14.7.8 Nice Milk (356)
    • 14.8 Hints (357)
  • A Appendix (359)
    • A.1 The ACM International Collegiate Programming Contest (359)
      • A.1.1 Preparation (360)
      • A.1.2 Strategies and Tactics (361)
    • A.2 International Olympiad in Informatics (363)
      • A.2.1 Participation (363)
      • A.2.2 Format (364)
      • A.2.3 Preparation (365)
    • A.3 Topcoder.com (365)
    • A.4 Go to Graduate School! (366)
    • A.5 Problem Credits (368)
  • References (370)
  • Index (373)
Loading...