- [ZOJ](https://zoj.pintia.cn/home) 浙江大学在线测评系统。
- [NOJ](http://acm.njupt.edu.cn/) 南京邮电大学在线测评系统,自身拥有题目两千余,同时支持对多个国内外 OJ 的提交,可以直接在 NOJ 提交别的 OJ 的题。
- [Lutece](https://acm.uestc.edu.cn/home) 电子科技大学在线测评系统,基于开源项目 [Lutece](https://github.com/lutece-awesome) 。
-- [清澄](www.tsinsen.com) 始于 2005 年,最近挂掉了。
+- [清澄](http://www.tsinsen.com/) 始于 2005 年,最近挂掉了。
### 国外
## 使用方法
-迭代器听起来比较晦涩,其实迭代器本身可以看作一个数据指针。迭代器主要有两个操作:自增和解引用(单目 `*` [运算符](../op.md) ),其中自增用来移动迭代器,解引用可以获取或修改它指向的元素。
+迭代器听起来比较晦涩,其实迭代器本身可以看作一个数据指针。迭代器主要有两个操作:自增和解引用([单目 `*` 运算符](../op.md)),其中自增用来移动迭代器,解引用可以获取或修改它指向的元素。
最常用的使用方法是用迭代器替换普通的 `for` 循环,例如下列代码中两个循环的效果是一致的。(假设已经引用了 `std` 空间中的相关类型)
```cpp
auto result = p -> q; // 获取p指针指向的对象的q成员,等价于 (*p).q
-auto result = &v; // 获取v的指针或引用
+auto result = &v; // 获取指向v的指针
auto result = *v; // 获取v指针指向的对象
```
## 关于 Python
-Python 是一种目前已在世界上广泛使用的解释型面向对象语言,非常适合用来测试算法片段和原型。
+Python 是一种目前已在世界上广泛使用的解释型面向对象语言,非常适合用来测试算法片段和原型,也可以用来刷一些 OJ。
### 为什么要学习 Python
#### 使用 Numpy
??? note "什么是 Numpy"
- [Numpy](https://numpy.org/) 是著名的 Python 科学计算库,提供高性能的数值及矩阵运算。在测试算法原型时可以利用 Numpy 避免手写排序、求最值等算法。 `Numpy` 的核心数据结构是 `ndarray` ,即 n 维数组,它在内存中连续存储,是定长的。此外由于 Numpy 核心是用 C 编写的,因此 Numpy 运算能达到 C 的速度。
+ [Numpy](https://numpy.org/) 是著名的 Python 科学计算库,提供高性能的数值及矩阵运算。在测试算法原型时可以利用 Numpy 避免手写排序、求最值等算法。 `Numpy` 的核心数据结构是 `ndarray` ,即 n 维数组,它在内存中连续存储,是定长的。此外 Numpy 核心是用 C 编写的,运算效率很高。
下面的代码将介绍如何利用 Numpy 建立多维数组并进行访问。