您的位置:首页 > 运维架构 > 网站架构

uva 工具网站 顶 顶!!!

2012-07-27 21:34 549 查看

Online Judge System

源起

「Association for Computing Machinery (ACM) 」是一個致力於電腦科學教育的協會,出版大量專業期刊、文獻,舉辦重大的計算機科學會議,在資訊界舉足輕重、名聞遐邇。

ACM 每年度都會舉辦一次「The ACM-ICPC International Collegiate Programming Contest (ACM-ICPC) 」,是一個給全世界大專院校學生參加的演算法程式設計比賽,比賽目的在於考驗選手臨場時的演算法設計能力、程式編寫能力。 ACM 首先在世界各地舉辦初賽,然後從各個賽區選拔出表現優秀的隊伍,角逐世界總決賽。台灣主要大專院校近十幾年來不遺餘力,積極爭取到台灣賽區的舉辦權和承辦權,並鼓勵學生參與比賽。另外台灣教育部也創辦了類似的「全國大專電腦軟體設計競賽」,藉此發掘優秀的選手,賦予為國爭光的使命。

ACM-ICPC 帶動了演算法程式設計的風氣。世界上許多大專院校的資訊系所,仿照 ACM-ICPC 的比賽模式,紛紛自行開發出即時線上比賽系統,能夠自動批改、評分、計時、統計。學生不必齊聚一堂,藉由網際網路,就可以相互切磋程式設計技巧。比賽結束之後,便將比賽題目編列題庫,並開放線上批改程式的功能,供學生賽後練習檢討。這套系統大家一般稱之為「 Online Judge System 」,或直接稱為「 Online Judge 」、「 OJ 」。

最古老、也是最有知名度的 OJ ,是由西班牙知名的瓦雅多利大學「Universidad de Valladolid (UVa) 」開發的「UVa Online Judge 」。 UVa Online Judge 是台灣人最熟悉的一個 OJ :資訊相關科系的學生,常利用它來磨鍊程式設計技巧;教師將它當作課程教材使用;有許多個人網站從事題目翻譯,提供測試資料集等等。

UVa Online Judge 亦和 ACM 合作,成為 ACM 推廣的一個 OJ ,藉此向大眾提倡程式設計。因此, UVa Online Judge 除了收集自行舉辦的比賽的題目,也嘗試收錄世界各地重大程式設計比賽的題目,以臻豐富完整。有趣的是,歷年來大家口耳相傳、以訛傳訛,便將 UVa Online Judge 誤植為 ACM 了,把 UVa Online Judge 的題庫稱作「 ACM 題目」,利用 UVa Online Judge 訓練程式設計技巧時稱作「寫 ACM 」,約定俗成。

知名的 Online Judge

UVa Online Judge,UVa Online Judge: Electronic Board

西班牙Valladolid大學的Online Judge。

是最古老也是全世界最知名的Online Judge,題庫目前約有3000+題。

題目類型非常廣泛。絕大部分的題目難度偏易,適合初學者磨練程式設計功力。

有專業的審題團隊。另外也有許多工具網站、相關書籍。

ACM-ICPC Live Archive

與ACM協會合作,專門收集ACM-ICPC的比賽題目,

依照年份與賽區進行編目,可惜的是題庫尚未收集完整。

很久以前,ACM-ICPC Live Archive的題庫,

是跟UVa Online Judge的題庫捆在一起的,共用一套OJ。

後來在2003年的聖誕節,站方決定將ACM-ICPC Live Archive獨立出來成為一個網站。

雖然現在兩個網站各自運作,但實際上兩者都是UVa Online Judge的小組在維護的。

PKU JudgeOnline

中國北京大學的Online Judge,是中國規模最大的一個Online Judge,

題目類型偏向演算法競賽,可以找到比賽常見題型。

好處是可以在網路上輕鬆找到中文的解題資訊。

Timus Online Judge

俄國Ural大學的Online Judge,是俄國最大的Online Judge。

有比較進階的演算法題目,難度偏高。

有專業的審題團隊。

Sphere Online Judge

波蘭Sphere實驗室建立的Online Judge,是波蘭最大的Online Judge。

會員可自創題目,題目很有特色,但是品質良莠不齊。

支援多種程式語言。

Polish Olympiad in Informatics

波蘭用來訓練國際資訊奧林匹亞競賽選手的網頁。

收錄近年來IOI的題目、以及培訓營隊的題目。

題型幾乎都是演算法設計,而非演算法應用。

程度很高,不是平常人能夠接觸的領域。

台灣的 Online Judge

高中生程式解題系統 ZeroJudge

由高師大附中所開發的Online Judge,

是第一個使用繁體中文介面的系統,實乃台灣人之福。

請大家記得懷著感恩的心,謝謝系統設計者。

Temporary Infor Online Judge

建國中學資訊社的Online Judge。

有很多學生自行設計的創意題目。

NTU Online Judge

台灣大學的Online Judge。

目前只用於培訓校內的ACM-ICPC參賽選手,並未對校外人士開放。

UVa Online Judge 工具網站

Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 Mirror

這個站專門提供UVa Online Judge中譯題目。非常棒!非常棒!非常棒!

我在搜尋引擎輸入過上百次的Luckycat!

Ruby兔的ACM園地

這個站也是專門提供UVa Online Judge中譯題目。後繼有人矣!

UVa Online Judge: Electronic Board

UVa Online Judge的問題討論版。

由於主頁上沒有放連結,所以可能有人不知道。

發問時請遵守板規,

善用搜尋功能,找到問題的討論串,發問時採用回覆文章方式。

讓後人可以容易找到相關討論。

UVA toolkit

站長將他寫過的UVa Online Judge的題目整理成表,

每一題都貼心的寫下了解題提示,

也提供了執行檔,供大家自行測試自己的測試資料。

是個很好用的網站!

Felix Halim .Net,UVa Hunting

這個站製作了一些網頁小工具,

讓使用者可以查詢自己在UVa Online Judge的解題進度,

以及比對自己和別人的解題清單。相當好用!

此站站長和World of Seven的站長是兄弟關係。

World of Seven: Methods to Solve

站長熱愛程設解題,在新加坡大學當學生時,憑著熱情而創立了這個網站。

站長現在已經是新加坡大學的教授,而且有在教授程式解題的課程,

最近還出版了一本程式解題的教科書:Competitive Programming。

站長也將自己寫過的題目做了清楚的分類,

留下了簡短的提示,供後人參考。

Algorithmist

這個網站屬於wiki性質,

旨在收集各個OJ的題目分類、釋意、測試資料,

另外還有一些資料結構和演算法的教學文章。

UVa Online Judge 解題資訊

中山大學「高等程式設計與實作」課程

2003,2004,2006,2007,2008,2010,2011

2008集訓,2009集訓,2010集訓

歷年的課程主頁裡面,可以找到一些解題報告。

Waterloo Programming Contests

加拿大滑鐵盧大學所舉辦的線上比賽,題目於賽後都歸入UVa Online Judge的競賽題庫。

可以找到UVa Online Judge競賽題庫中許多題目的測試資料、解答程式碼。

Bal4u

一位日本人Bal4u的個人部落格。

過去曾有許多強大的演算法教學文章,以及UVa Online Judge一些難題的解法。

Bal4u曾在UVa Online Judge排名第三名。

UVa Online Judge 題目分類

Programming Challenges 的習題

歸類方式、難度高低都是十分詭異。不過這些題目相當有特色,值得一試。

New Comer

★ 100 The 3n + 1 problem

★ 10189 Minesweeper

★ 10137 The Trip

★ 706 LCD Display

★ 10267 Graphical Editor

★★ 10033 Interpreter

★ 10196 Check The Check

★ 10142 Australian Voting

Data Structure

★ 10038 Jolly Jumpers

★★ 10315 Poker Hands

★★ 10050 Hartals

★★ 843 Crypt Kicker

★ 10205 Stack 'em Up

★★ 10044 Erdos Numbers

★ 10258 Contest Scoreboard

★★★ 10149 Yahtzee

String

★ 10082 WERTYU

★★ 10010 Where's Waldorf?

★ 10252 Common Permutation

★★ 850 Crypt Kicker II

★ 10188 Automated Judge Script

★★ 10132 File Fragmentation

★★★ 10150 Doublets

★★ 848 Fmt

Sorting

★ 10041 Vito's Family

★★ 120 Stacks of Flapjacks

★★★ 10037 Bridge

★ 10191 Longest Nap

★★ 10026 Shoemaker's Problem

★★ 10138 CDVII

★★ 10152 ShellSort

★ 10194 Football (aka Soccer)

Arithmetic and Algerba

★ 10035 Primary Arithmetic

★ 10018 Reverse and Add

★ 701 The Archeologists' Dilemma

★★ 10127 Ones

★★★ 847 A Multiplication Game

★ 10105 Polynomial Coefficients

★ 10077 The Stern-Brocot Number System

★★★★ 10202 Pairsumonious Numbers

Combinations

★ 10183 How Many Fibs?

★★ 10213 How Many Pieces of Land ?

★★ 10198 Counting

★★ 10157 Expressions

★★ 10247 Complete Tree Labeling

★★ 10254 The Priest Mathematician

★★ 10049 Self-describing Sequence

★★ 846 Steps

Number Theory

★ 10110 Light, More Light

★★ 10006 Carmichael Numbers

★ 10104 Euclid Problem

★★ 10139 Factovisors

★★ 10168 Summation of Four Primes

★ 10042 Smith Numbers

★ 10090 Marbles

★★ 10089 Repackaging

Backtracking

★★ 861 Little Bishops

★★★ 10181 15-Puzzle Problem

★★ 10128 Queue

★★ 10160 Servicing Stations

★★ 10032 Tug of War

★★ 10001 Garden of Eden

★★★ 704 Colour Hash

★★★ 10270 Bigger Square Please...

Graph Traversal

★ 10004 Bicoloring

★★ 10067 Playing with Wheels

★★★ 10099 The Tourist Guide

★★ 705 Slash Maze

★★★ 10029 Edit Step Ladders

★★★ 10051 Tower of Cubes

★★★ 10187 From Dusk Till Dawn

★★★ 10276 Hanoi Tower Troubles Again!

Graph Algorithm

★★ 10034 Freckles

★★★ 10054 The Necklace

★★ 10278 Fire Station

★★★ 10039 Railroads

★★★ 10158 War

★★★ 10199 Tourist Guide

★★★★ 10249 The Grand Dinner

★★★ 10092 The Problem with the Problem Setter

Dynamic Programming

★★ 10131 Is Bigger Smarter?

★★★ 10069 Distinct Subsequences

★★★ 10154 Weights and Measures

★★★ 116 Unidirectional TSP

★★ 10003 Cutting Sticks

★★★ 10261 Ferry Loading

★★★ 10271 Chopsticks

★★★ 10201 Adventures in Moving - Part IV

Grid

★ 10161 Ant on a Chessboard

★★★ 10047 The Monocycle

★★ 10159 Star

★★ 10182 Bee Maja

★★★ 707 Robbery

★★ 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?

★★ 10233 Dermuba Triangle

★★★ 10075 Airlines

Geometry

★ 10310 Dog and Gopher

★★ 10180 Rope Crisis in Ropeland!

★★ 10195 The Knights Of The Round Table

★★★ 10136 Chocolate Chip Cookies

★★ 10167 Birthday Cake

★★ 10215 The Largest/Smallest Box ...

★★★ 10209 Is This Integration ?

★★★ 10012 How Big Is It?

Computational Geometry

★★ 10135 Herding Frosh

★★ 10245 The Closest Pair Problem

★★★ 10043 Chainsaw Massacre

★★★ 10084 Hotter Colder

★★★ 10065 Useless Tile Packers

★★ 849 Radar Tracking

★★★ 10088 Trees on My Island

★★★★ 10117 Nice Milk

USACO 論壇上有人提供的題單

-----------------------------------

Flood Fill:

-----------------------------------

352 - The Seasonal War

469 - Wetlands of Florida

572 - Oil Deposits

657 - The die is cast

705 - Slash Mazes

776 - Monkeys in a Regular Forest

782 - Contour Painting

784 - Maze Exploration

785 - Grid Colouring

830 - Shark

852 - Deciding victory in Go

10279 - Mine Sweeper

10336 - Rank the Languages

10592 - Freedom Fighter

10946 - You want what filled?

-----------------------------------

Max Flow / Max Bipartite Matching:

-----------------------------------

259 - Software Allocation

563 - Crimewave

663 - Sorting Slides

670 - The Dog Task

753 - a plug for unix

820 - Internet Bandwidth

10080 - Gopher II

10092 - The Problem with the Problem Setter

10122 - Mysterious Mountain

10249 - the grand dinner (Max Flow too slow for TLE)

10330 - Power Transmission

10380 - Shogi Tournament

10511 - Councilling

10746 - Crime Wave - The Sequel

10779 - Collectors Problem

10804 - Gopher Strategy

-----------------------------------

Games:

-----------------------------------

847 - Multiplication Game

10368 - Euclids Game

10404 - Bachet's Game

10578 - The Game of 31

-----------------------------------

Dynamic Programming:

-----------------------------------

108 - Maximum Sum

111 - History Grading

116 - Unidirectional TSP

147 - Dollars

164 - String Computer

231 - Testing the CATCHER

348 - Optimal Array Multiplication Sequence

357 - Let Me Count The Ways

442 - Matrix Chain Multiplication

481 - What Goes Up

497 - Strategic Defense Initiative

507 - Jill Rides Again

526 - String Distance and Edit Process

531 - Compromise

562 - Dividing Coins

674 - Coin Change

711 - Dividing Up

836 - Largest Submatrix

10003 - Cutting Sticks

10032 - Tug Of War

10051 - Tower of Cubes

10066 - The Twin Towers

10069 - Unidirectional TSP

10081 - Tight Words

10100 - Longest Match

10130 - SuperSale

10131 - Is Bigger Smarter?

10154 - Weights and Measures

10192 - Vacation

10201 - Advantures in Moving Part IV

10259 - Hippity Hopscotch

10261 - Ferry Loading

10280 - Old Wine into New Bottles

10304 - Optimal Binary Search Tree

10379 - Pit Stop Strategy

10400 - Game Show Math

10405 - Longest Common Subsequence

10465 - Homer Simpson

10482 - The Candyman Can

10529 - Dumb Bones

10549 - Russian Dolls

10558 - A Brief Gerrymander

10559 - Blocks

10593 - Kites

10599 - Robots (II)

10604 - Chemical Reaction

10617 - Again Palindrome

10635 - Prince and Princess

10645 - Menu

10664 - Luggage

10690 - Expression Again

10721 - Bar Codes

10723 - Cyborg Genes

10739 - String to Palindrome

10755 - Garbage Heap

10759 - Dice Throwing

10817 - Headmaster's Headache

10819 - Trouble of 13-Dots

10827 - Maximum Sum on a Torus

10860 - Many a Little Makes a Mickel

10874 - Segments

10898 - Combo Deal

10912 - Simple Minded Hashing

10913 - Walking on a Grid

-----------------------------------

Graphs:

-----------------------------------

117 - The Postal Worker Rings Once

125 - Numbering Paths

280 - vertex

709 - Formatting Text (the shortest path)

793 - Network Connections

10239 - The Book-shelver's Problem (the shortest path)

10265 - Toroidal Chess Queens' Problem (tree rounds ???)

10266 - Surveying (connected components)

10054 - euler problem

10178 - count the faces

10608 - Friends

10731 - Test

-----------------------------------

Connectivity:

-----------------------------------

459 - Graph Connectivity

10147 - Highways

10397 - Connect the Campus

-----------------------------------

Big Integer:

-----------------------------------

324 - Factorial Frequencies

424 - Integer Inquiry

495 - Fibonacci Freeze

623 - 500!

713 - Adding Reversed Numbers

10013 - Super long sums

10018 - Reverse and Add

10035 - Primary Arithmetic

10106 - Product

10220 - I Love Big Numbers !

10515 - Powers Et Al.

-----------------------------------

Counting:

-----------------------------------

357 - Let Me Count The Ways

369 - Combinations

10219 - Find the ways !

10338 - Mischievous Children

-----------------------------------

Josephus:

-----------------------------------

151 - Power Crisis

440 - Eeny Meeny Moo

-----------------------------------

Math:

-----------------------------------

106 - Fermat vs. Pythagoras

113 - Power of Cryptography

579 - ClockHands

834 - Continued Fractions

847 - A Multiplication Game

10071 - Back to High School Physics

10079 - Pizza Cutting

10161 - Ant on a Chessboard

10302 - Summation of Polynomials

10408 - Farey sequences

-----------------------------------

Matrix:

-----------------------------------

108 - Maximum Sum

348 - Optimal Array Multiplication Sequence

541 - Error Correction

836 - Largest Submatrix

10189 - Minesweeper

-----------------------------------

Number Conversion:

-----------------------------------

344 - Identifying Concurrent Events

446 - Kibbles ``n'' Bits ``n'' Bits ``n'' Bits

575 - Skew Binary

10469 - To Carry or not to Carry

-----------------------------------

Number Theory:

-----------------------------------

136 - Ugly Numbers

138 - Street Numbers

160 - Factors and Factorials

256 - Quirksome Squares

294 - Divisors

350 - Pseudo-Random Numbers

382 - Perfection

406 - Prime Cuts

408 - Uniform Generator

543 - Goldbach's Conjecture

686 - Goldbach's Conjecture (II)

10200 - Prime Time

-----------------------------------

Simulation:

-----------------------------------

10346 - Peter's Smoke

10409 - Die Game

-----------------------------------

Sorting & Searching:

-----------------------------------

299 - Train Swapping

331 - Mapping the Swaps

499 - What's The Frequency, Kenneth?

10008 - What's Cryptanalysis?

10107 - What is the Median?

10295 - Hay Points

10327 - Flip Sort

-----------------------------------

String:

-----------------------------------

272 - TEX Quotes

401 - Palindromes

444 - Encoder and Decoder

458 - The Decoder

483 - Word Scramble

490 - Rotating Sentences

492 - Pig-Latin

494 - Kindergarten Counting Game

576 - Haiku Review

739 - Lost in Space

10082 - WERTYU

10222 - Decode the Mad man

10260 - Soundex

10293 - Word Length and Frequency

10340 - Peter's Smoke

10361 - Peter's Smoke

10424 - Love Calculator

10508 - Word Morphing

-----------------------------------

Tree:

-----------------------------------

536 - Tree Recovery

10223 - How many nodes ?

10410 - Tree Reconstruction

-----------------------------------

Variable Range:

-----------------------------------

10055 - Hashmat the Brave Warrior

-----------------------------------

Greedy:

-----------------------------------

10020 - Minimal Coverage

10382 - Watering Grass

10440 - Ferry Loading (II)

10563 - Least Squares

10665 - Diatribe

不知道是誰整理的題單

http://webdocs.cs.ualberta.ca/~contest/club/class.txt

------------------------------------------------------------

Graph Theory:

------------------------------------------------------------

- Topological Sorting:

00200 Rare Order Find the correct ordering of an alphabet

10305 Ordering Tasks Provide some ordering of tasks

- Trees

00112 Tree Summing Navigate through a LISP encoded binary tree

00115 Climbing Trees Figure out the relationships between people

00122 Trees on the level Produce level-order traversals of binary trees

00615 Is It A Tree? Determine whether or not the graph is a tree

10308 Roads in the North Find the longest distance (diameter) of a tree.



- Eulerian Graphs

00117 The Postal Worker... Minimize a cost tour for a postman

(Simplified Chinese Postman problem)

- Cycles

00125 Numbering Paths Count number of paths in a directed graph

00626 Ecosystem Find/Print all cycles of size 3

- Polygon Intersection

00137 Polygons Find the XOR of two polygon areas

- Maximum Flow

00563 Crimewave Solve the escape problem

- Minimum Spanning Trees

10307 Killing Aliens in Bor.. Find least cost way to assimilate all

------------------------------------------------------------

Dynamic Programming:

------------------------------------------------------------

- Memotization

00101 The 3n + 1 Problem Find the size of the longest sequence

00371 Ackermann Functions Find the size of the longest sequence

00547 DDF Output the longest Decimal-Digit Factor

- Longest Asc/Desc Subsequence

00103 Stacking Boxes Find the longest desc. subsequence in n-dims.

00111 History Grading Find marks for a chronologic ordering question

- Longest Common Subsequence

00531 Compromise Find the LCS for two texts

- 1D Minimize/Maximize

00222 Budget Travel Minimize the cost of a road trip

- 2D Minimize/Maximize

00104 Arbitrage Find a successful arbitrage sequence

00108 Maximum Sum Find the sub-rectangle with largest sum

00116 Unidirectional TSP Find the minimal path through a 2D field

00585 Triangles Find the largest triangle in a trianglular field

00590 Always on the run Find the minimum cost for flying city to city

00526 String Distance & Transform... Find the string distance and path

10285 Longest Run on a Snowboard Find the longest snowboarding path in a 2D field

10306 E-coins Find minimum number of 2D coins to get certain sum

- Change Making

00147 Dollars Count # of ways to make change

------------------------------------------------------------

Modelling/Simulation:

------------------------------------------------------------

- Object State Modelling

00102 The Blocks Problem Manipulation of blocks with robot arm



- Planar World Modelling

00114 Simulation Wizardry Simulate a idealized pinball machine

00118 Mutant Flatworld Explorers Simulate robots moving on a plane

00407 Gears on a Board Simulate gears on a plane

00411 Centipede Collisions Simulate centipedes on a plane

00824 Coast Tracker Simulate coastal robots on a plane

- Geometric Structure Modelling

00201 Squares Count the number of squares in a grid

00209 Triangular Vertices Model triangular coordinates

- Record Keeping / Bookkeeping

00119 Greedy Gift Givers Keep track of everyone's net gain/loss

00123 Searching Quickly Keep track of keywords in titles of books

00139 Telephone Tangles Keep track of telephone bill

00145 Gondwanaland Telecom Keep track of telephone bill

00405 Message Routing Keep track of where routing goes

00603 Parking Lot Keep track of cars in a parking lot

00645 File Mapping Print out a file directory



- Josephus Rings

00130 Roman Roulette Find the survivor

00133 The Dole Queue Find the order of selected people

00144 Student Grants Find the order of students getting grants

00151 Power Crisis Find the step such that a certain region survives

- Card Games

00127 "Accordian" Patience Simulate Accordian Patience (Solitaire)

00131 The Psychic Poker Player Determine the best Poker hand

00451 Poker Solitaire Evaluate some Poker hands

00462 Bridge Hand Evaluator Evaluate some Bridge hands and suggest a move

00635 Clock Solitaire Count winning Clock solitaire games

- Board Games

00141 The Spot Game Figure out who wins the Spot game

00633 A Chess Knight Figure out how many moves for a dynamic knight

00647 Chutes and Ladders Figure out who wins a game of Chutes and Ladders

10284 Chessboard in FEN Figure out number of unattacked squares



- Parsing:

00134 Loglan-A logical Language Check to see if sentences are in the grammar

00171 Car Trialling Check to see if sentence is valid instruction

00620 Cellular Structure Identify the type of organism.

00622 Grammar Evaluation Evaluate/Parse a [+,*,(,)] math expression

- Calendar/Time Modelling

00150 Double Time Convert between two calendars

00419 Matching Meetings Find suitable meeting times for department

- Sports Games

00584 Bowling Calculate a bowling game score

- Data Type Modelling

00540 Team Queue Implement a efficient TeamQueue (buddy system)

- Print/Font Formatting

00403 Postscript Implement "fonts" with formatting

00416 LED Test Determine if there is a valid LED countdown

00426 Fifth Bank of Swamp County Output the bank record sorted in 3 columns

00433 Bank (Not Quite O.C.R) Check LED version of bank number

- Text Manipulation

00373 Romulan Spelling Fix some spelling mistakes

00444 Encoder and Decoder Encode/Decode according to certain rules

00464 Sentence/Phrase Generator Generate phrases according to grammar rules

00625 Compression Compress some source code

00628 Passwords Rule replacement

00641 Do the Untwist Untwist an encrypted string

- Assembler Modelling

00448 OOPS! Convert hexcode to assembly code

------------------------------------------------------------

Arithmetic:

------------------------------------------------------------

- Fractions

00202 Repeating Decimals Figure out length of repeat period of fraction

00834 Continued Fractions Convert fraction to a continued fraction

- Pythagorean Triples

00106 Fermat vs. Pythagoras Generating/Counting Pythagorean triples

- Additive/Multiplicative Series

00107 The Cat in the Hat Calculate the number of cats in the hat

00138 Street Numbers Find special house numbers

10302 Summation of Polynomials Find the sum of the first N cubes

- Exponentiation/Logarithms

00113 Power of Cryptography Find integer roots of large numbers

00545 Heads Find 2^-n = x.xxxE-y for large n

- Polynomials

00126 The Errant Physicist Multiply polynomials of x and y

00586 Instant Complexity Calculate the complexity of a program

- Long Division/Multiplication

00128 Software CRC Calculate the CRC value for a string of text(divide)

00550 Multiplcation by Rotation Find shortest factor with rotamult-property

00465 Overflow Determine whether numbers overflow an int

- Combinatorics:

00135 No Rectangles Find a suitable block design

00146 ID Codes Find the next permutation

00153 Permalex Convert between indices and words sorted in lex. order

00580 Critical Mass Count number of binary strings with 3 consecuive 1's

00527 The partition of a cake Count the number of partitions made by cake cutting

10294 Arif in Dhaka (First Love pt2) Count the number of necklace/bracelets of size N with T colors

10303 How Many Trees? Count the number of binary trees (Catalan numbers)

- Primes/Factorization

00136 Ugly Numbers Find the 1500th ugly number factors(2,3,5)

00583 Prime Factors List the prime factorization of a number efficiently

10311 Goldbach and Euler Determine if a number is sum of 2 primes

- Probability

00542 France '98 Figure out the probability that a team will win

10288 Coupons Figure out probability that you will win



- Number Bases

00619 Numerical Speaking Convert between words and numeric index

- Partitioning

00668 Parliament Find maximum distinct partition product

------------------------------------------------------------

Direct:

------------------------------------------------------------

- Counting:

00102 Ecological Bin Packing Find minimum number of bottles to move

00154 Recycling Find station that minimizes items moving

00278 Chess Count number of non attacking pieces

00413 Up and Down Sequences Count the number of up and down runs

00613 Numbers that Count Find out if numbers are self-inventorying

00637 Booklet Printing Figure out which pages go where in a fold-over booklet

00696 How Many Knights Find max # of knights to place on n*m board

10293 Word Length and Frequency Count length and freq of words

10300 Ecological Premium Count premiums for farmers



- Sorting:

00110 Meta-Loopless Sorts Produce Pascal programs that do sorting

00120 Stacks of Flapjacks Sort a stack of flapjacks using flips

00514 Rails Sort a train using a station

00538 Balancing Bank Accounts Figure out who owes who what

00612 DNA Sorting Sort some DNA based on some trait

00632 Compression (II) Perform a Burrows Wheel Transform



- Recursion

00155 All Squares Count number of squares surrounding a point

00432 Modern Art Generate some modern triangular art

- Palindromes

00401 Palindromes Determine the type of the word

- String manipulation/comparision

00644 Immediate Decodability Determine if the code set is immediately decodable

------------------------------------------------------------

Geometry:

------------------------------------------------------------

- Z-Buffering

00105 The Skyline Problem Construct a skyline vector

00142 Mouse Clicks Determine which windows was clicked

- Convex Hulls

00109 SCUD Busters Determine regions with power after a war

00132 Bumpy Objects Find a stable position for shapes

- Circles

00121 Pipe Fitters Calculate the most pipes that can fit

00149 Forests Determine viewable trees in an infinite forest

10301 Rings and Glue Determine number of intersecting circles

- Points in Polygons

00143 Orchard Trees Determine numbers of points in triangles

00634 Polygon Determine if a point is in a polygon

- Distance

00152 Tree's a Crowd Generate a histogram of tree distances

10310 Dog and Gopher Find out if the golpher can get to hole

- Art Gallery Problem

00588 Video Surveillance Determine if a camera can see all walls

- Spheres/Globes

00535 Globetrotter Find distance between two points on earth

- Polar/Azimuth Coordinates

00404 Radar Scopes Figure out warnings for planes using radar

- Area of polygons

00428 Swamp County Roofs Calculate area of trapezoidal roof tiles

- Pure Geometry

10283 The Kissing Circles Determine areas associated with circles in circles

10286 Trouble with a Pentagon Find the length of largest square in a pentagon

10287 Gifts in a Hexagon Box Fit circles inside a regular hexagonal box

- Center of gravity

10291 Cut the Legs Cut a table so that it balances

- Line intersection

00834 Water Falls Figure out where water will land

----------------------------------------------------------------------

Searching:

----------------------------------------------------------------------

- Constraint Satisfaction

00124 Following Orders Find all consistent orderings

00129 Krypton Factor Find special "hard" sequences



- Brute Force Searching (no pruning)

00140 Bandwidth Check all 8! sequences

00418 Molecules Find the largest molecule that can be made

00565 Pizza Anyone? Satisfy all topping requests if possible

00616 Coconuts, Revisited Find the maximum number of people on island.

00629 Test Find all "non different" sets

00638 Finding Rectangles Find all rectangles in alphabetical order

- Search with pruning

00624 CD Find set of songs which fit best on tape

10309 Turn the Light Off Find min. # of pushes to turn off lights

- Anagrams

00148 Anagram Checker Find possible anagram sentences from dictionary

00630 Anagrams(II) Find possible anagrams for words

00642 Word Amalgamation Find possible anagrams for words

- Word Searches

00581 Word Search Wonder Find words in a grid

00409 Excuses, Excuses! Find key "excuses" in a sentences

00425 Enigmatic Encryption Find the password from a text

00604 The Boggle Game Find matching words in 2 Boggle boards

- Greedy Algorithms

00410 Balance Station Minimize Imbalance for a centrifuge

USACO

USACO Training Program Gateway

http://train.usaco.org

USACO = USA Computing Olympiad 美國資訊奧林匹克。這個網頁是美國用來訓練國際資訊奧林匹亞競賽選手的網頁,同時亦開放給大眾使用。

這個網站非常有趣!首先註冊一個帳號,進入網站後,會看到一個任務表,完成前面的任務,才會開啟後面的任務──循序漸進,學習更精深的課題。有些任務是只是一些文字資料,講述方法或概念,只要讀完,就算是解決了任務。讀完資料後,接下來的任務,通常都是一連串程式設計的題目,正好學以致用。

有些困難的題目,都會貼心的附帶提示,讓使用者不至於無所適從。每當解決了一個問題之後,便可以觀看該題的解析、解法、解答,讓自己有檢討和進步的空間。這個網站可說是一個非常完整的教學網站!

USACO Contest Gateway

http://ace.delos.com/contestgate

USACO的活動時間是每年十月到隔年三月。十月好像是新生入學,而四月就是資訊奧林匹克競賽的時間(一個全世界天才高中生參與的資訊競賽)。USACO過了三月之後就會沉寂,一直到十月才又有新一季的活動。

每一季開始時,USACO會舉辦資格賽,以鑑定新人的實力。接下來每個月都會舉辦月賽,參訓選手依照實力,獲邀參加對應等級的賽事。月賽的用意,一方面當作是成效驗收,一方面也是在激勵選手邁向更高的等級。USACO也不藏私,所有月賽都對外界開放,也因此USACO也就成了全世界天才高中生相互較勁與成長的場所,而一般民眾也有了動動腦的時間。

比賽說明

USACO的比賽區分為金銀銅三種等級。每個人預設都是銅等級,隨時都可以參加銅等級的比賽。通過金、銀等級的資格賽,鑑定為金、銀等級的人,每個月才能獲邀參加金、銀等級的比賽。

如果沒有參加資格賽,又想要晉升等級,就必須在賽事中有傑出表現。每次月賽結束後,USACO會主動寄送升級的邀請函,給表現優異的選手。

金等級滿困難的,水準相當於ACM-ICPC區賽的中上題目。銀等級是基礎演算法的應用。銅等級是只要懂得寫程式就行了。

每次月賽會提供48小時的緩衝期,期間內隨時都可以參加比賽,開啟題目後,才開始計時。比賽時間是兩小時三題,作題時間相當充裕。每一題都有約十組的測試資料,途中可以不斷上傳解答程式碼進行測試,以最後一次上傳的程式碼為正式解答。評分方式採部分給分,每答對一組測試資料都會得到分數。

賽後兩天左右,會公佈成績,提供題目講評與解答。講評與解答都是開放給所有的人,是一個非常好的學習資源。想要提升自我實力的人,一定要多看金、銀等級的講評。

最後是小叮嚀。USACO的題目是有版權的,請不要隨便在公眾網路上張貼題目、張貼解答程式碼,這會讓管理員很頭痛。USACO也嚴禁比賽作弊,被抓到作弊者,將會永久停權,並且成為國際之恥。曾有國家因為不遵守規矩而被禁賽,請各位三思。

TopCoder

TopCoder

http://www.topcoder.com/

這個網站是現下最流行的程式相關網站。網站功能眾多,其中有一個部分是競賽,競賽的其中一個部分是演算法競賽。在這裡舉行的演算法競賽十分多,平均每個禮拜就有一次比賽,Google Code Jam剛開始也是在這裡舉行的。在這裡舉行的演算法競賽也有很多類型,最常舉辦的比賽類型就是Single Round Match,簡稱SRM,至今已舉辦過450+場,是最簡易的競賽類型,其他還有馬拉松競賽、多回合競賽等等。某些大型比賽是有獎金的,例行賽的出題者也有獎金,因而吸引很多網民在TopCoder出沒。

比賽說明

http://www.topcoder.com/wiki/display/tc/Algorithm

大致上分為三個階段:第一個階段是程式解題,自己寫好解答程式碼,自己測試後沒問題就可以上傳,等候批改;第二個階段是找別人程式碼的漏洞,自己擬好測試資料去測別人寫的程式碼,測出漏洞後自己可得到分數、別人會降低分數,但是實施測試卻測不出漏洞,自己就會被扣分;第三個階段是由系統幫大家批改程式碼,並且統計分數。

通常比賽題目會有兩套,分別叫做DIV1和DIV2,積分比較高的使用者會以DIV1進行比賽,積分比較低的使用者則以DIV2進行比賽,想當然 DIV1的題目比DIV2的題目難得多了。兩套題目分別都是三題,但是三題的難度是不同的,有不同的給分,解出難題則會得到比較高的分數。比賽結束後會依該場比賽的答題情況以及排名名次,重新計算個人的積分。大家平時在練習時,可以直接做DIV1分數最高的題目,沒必要做分數低的題目,如此學習效果較好。

演算法競賽的部分,可以從TopCoder網站左邊的選單中找到,路徑是Competition下面的Algorithm。第一個選項Launch Arena是打開TopCoder用於演算法線上競賽的一套軟體,這套軟體叫做Arena,是一支Java程式。Arena跑起來之後,以個人的帳號密碼登入,就會出現一個介面,在上面可以直接參加比賽,也可以瀏覽過去的比賽題庫,也可以進行解題練習,就跟一般的Online Judge提供的功能差不多。另外Arena還有聊天系統,還有一些個人環境設定等等的功能。

Arena還有一套寫程式的介面,使用者也可以直接在Arena上面編寫程式、執行程式、設計測試資料並測試程式。比較麻煩的一點是,解答程式碼必須包裝成class的形式,程式進入點的member function需按照題目規定來撰寫,系統才有辦法幫你批改和測試。也因此有很多人幫Arena寫了外掛,自動幫你處理這些繁瑣的問題,讓這個寫程式的介面更好用。

第二個選項Statistics,有很多關於比賽的資訊,第一個選項Match Archive會列出亙古迄今舉行過的演算法競賽,另外有一個Promblem Arcive則是列出亙古迄今的所有比賽題目。另外還有一個重要的選項是Match Editorial,可以觀看賽後講評,大部分的比賽都會提供詳細的解法以及解答程式碼,是個很好的學習教材。

這裡僅做些拋磚引玉,詳細情形大家可以自行去了解一下。

Project Euler

Project Euler

http://projecteuler.net/

這個網站專門提供能用程式計算出答案的數學問題。每個問題都有固定一個答案,自己撰寫程式計算出解答後,只要在題目下方的表單中將答案輸入進去、上傳答案,就可以看到解題結果了。

回到首頁

Online Judge System

UVa Online Judge工具網站

UVa Online Judge解題資訊

UVa Online Judge題目分類

USACO

TopCoder

Project Euler
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: