Online judge

OJ 介紹

甚麼是 OJ

線上評測系統

是一個自動化的程式設計題目評測平台

平台上有五花八門的的題目

有水題、有難題、有怪題

這是一個建中的OJ,叫做 TIOJ

程式設計的部分,通常是用 C++、C、Python來寫

可以幹嘛

練習題目可以增加對程式語言的熟練度

進階的題目通常都是演算法題目跟怪題

對於像 APCS,校內能競之類的比賽能充當預先練習的作用

OJ 版面介紹

題目版面講解

Description: 題目敘述,裡面會有題目的情境,通常也會有此題目的一些要求,但大部分都是一堆幹話跟作文

Input Format: 輸入的格式,可以是一些數字,也可以是好幾個字串

Out Format: 輸出的格式,與上面類似

Sample Input/Output: 題目給的一個範例輸入,同時對應一個範例輸出。也就是此題希望你的程式在得到此範例輸入時,能得到與範例輸出相同的輸出

Hints: 提示,字面上的意思,但有時候也會變成題敘的延伸

題目版面講解

subtasks: 有些題目會把輸入資料的難度做區分

像此題的難度會隨著輸入的 N 增加而跟著增加

而此題目有五個子題

每個子題的難度(N 的大小)都不一樣

每題能拿到的分數也都不一樣

Testdata and Limits:

對於每個測資,都會給一個時間限制與記憶體限制

每個測資也會對應一個子題

題目版面講解

submit: 上傳程式碼,讓 OJ 驗證該程式是否能在指定的時間與空間限制內輸出正確的答案

VERdicts

WA 了

sumbit後...

在上傳程式後,評測系統會給出幾種評測結果:

AC: 你全對你是大電神

WA: 你的答案錯了

TLE: 你程式跑太久了

MLE: 你程式用太多記憶體了

RE: 你程式結束後的回傳值怪怪的

SIG: 你程式跑到一半被 kill 了

OLE: 你輸出太多東西了

CE: 程式還沒開始就報錯了

此題能夠讓你更了解 OJ 的一些特性

還有一些出題人的心理狀況

各類OJ

有好的也有不好的

有歷屆APCS題能寫

特點是極其抽象的版面

還有超老的評測系統

還有各類缺失的功能

特點是送出要等冷卻 120 秒

特點是行尾不能輸出空白

特點是看不到自己的扣

日本的OJ

有強大的運算速度:

\(O(\sqrt N log N), N = 1e18\) 都能一秒內過---- by roychuang

每個禮拜五的晚上八點到九點都會有一場比賽,會有新鮮的題目可以練習

有豐富的題庫(如 DP contest 裡有一堆 DP 題)

有一大坨題目的題庫

官解很抽象

有分類,但不一定分的很正確,例如出現在 DP 類題的圖論題

不能直接複製程式碼,要下載再上傳

俄羅斯的 OJ

會在死人時間(晚上十點半開始之類的)辦一些比賽

有分等級,數字越小越難

建中的 OJ

有歷屆的資訊能力競賽題

有很多怪題

🔥🔥🔥🔥🔥🔥😭😭😭😭😭😭

Minimal

By ck11300768鄭博軒