Skip to content

secti6n/oj-solutions

Repository files navigation

Online Judge解题报告

主要就是记录一下解题思路,以及证明的思路。假如题目很长,也会有一个简单的概述。不会有任何实际代码,代码随便搜就有了。

除了解题报告以外,还有按主题排列的知识点。

Online Judge 解题报告
Google Code Jam GCJ
PKU JudgeOnline POJ
Sphere online judge SPOJ
USACO Traning USACO
UVa Online Judge UVA
习题集 解题报告
Competitive Programming 3 CP3
CS 97SI CS97SI
POJ訓練計劃Moon修訂298道題 MOON298

要生成HTML,请在git clone后运行make。

标签定义

dp Dynamic Programming
manacher Manacher's Algorithm
suffix Suffix Array

符号定义

解题报告中所使用的符号

NOT \neg
FORALL \forall
EXISTS \exists
{} \emptyset
<- \in
</- \notin
= =
=/= \neq
|x| |x|
< <,\subset
=< \leq,\subseteq
/\ \cap
\/ \cup
\ \setminus
=> implies
<=> iff
a**b a^b
{x FOR x <- S} \{x | x \in S\}
<= assignment

类型定义

解题报告中所使用的类型

整数

Integer()

集合

若元素类型为X,则集合类型为Set(X)。比如,元素类型为整数的集合为Set(Integer())

1 <- {1,2,3}
4 </- {1,2,3}
{1} \/ {2} = {1,2}
{1,2} /\ {2,3} = {2}
{1,2} \ {2,3} = {1}
{1,2} = {1,2}
{1,2} =/= {1,2,3}
{} < {1}
{1} < {1,2}

数组

若元素类型为X,则数组类型为Array(X)。比如,元素类型为整数的数组为Array(Integer())

从数组中取元素的符号与Python一致

[1,2,3] = [1,2,3]
[1,2,3] + [4] = [1,2,3,4]
([1,2,3])[0] = 1
([1,2,3])[:2] = [1,2]

字符串

String() = Array(Integer())

字符串就是普通的整数数组

函数定义

解题报告中所使用的函数

min

求参数中的最小值

min(1,2,3) = 1
min(2,3) = 2

max

求参数中的最大值

max(1,2,3) = 3
max(1,2) = 2

range

类似Python中的range

range(1,4) = [1,2,3]

size

size([1,1,1]) = 3
size({1,2,3}) = 3

reduce

类似Python中的reduce

reduce(+, [1,1,1]) = 3
reduce(+, [1,2,3]) = 6

powerset

powerset({1,2,3}) = {{},{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}}
powerset([1,2,3]) = {[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]}
powerset([1,1,2]) = {[],[1,1],[1,2],[1,1,2]}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published