1.用scanf printf别用cout cin
2.
-
最大数组规模:
- 如果题目中没有特别说明,经验法则是可以安全地分配大约 10^7 到 10^8 个
int
或long long
的数组(这大约是 40 到 800 MB),当然要看具体的内存限制。 - 对于
bool
类型的数组,由于每个元素只占用 1 个字节,因此可以分配大约 10^8 到 10^9 个元素。
- 如果题目中没有特别说明,经验法则是可以安全地分配大约 10^7 到 10^8 个
一些常见情况:
- 小规模内存限制(例如 256 MB):在这种情况下,你可以分配大约 10^7 个
int
或long long
类型的元素。 - 较大内存限制(例如 512 MB 或 1 GB):在这种情况下,通常可以分配 10^7 到 10^8 个
int
或long long
类型的元素。
3.
1. int
- 大小:通常为 4 字节(32 位)。
- 取值范围:
- 有符号 (
signed int
,默认为有符号):-2,147,483,648
到2,147,483,647
(即-2^31
到2^31 - 1
)。 - 无符号 (
unsigned int
):0
到4,294,967,295
(即0
到2^32 - 1
)。
- 有符号 (
2. long
- 大小:通常为 4 字节(32 位)或 8 字节(64 位),依赖于编译器和平台。
- 取值范围:
- 有符号 (
signed long
):- 32 位系统:
-2,147,483,648
到2,147,483,647
(与int
相同)。 - 64 位系统:
-9,223,372,036,854,775,808
到9,223,372,036,854,775,807
(即-2^63
到2^63 - 1
)。
- 32 位系统:
- 无符号 (
unsigned long
):- 32 位系统:
0
到4,294,967,295
。 - 64 位系统:
0
到18,446,744,073,709,551,615
(即0
到2^64 - 1
)。
- 32 位系统:
- 有符号 (
3. long long
- 大小:通常为 8 字节(64 位)。
- 取值范围:
- 有符号 (
signed long long
):-9,223,372,036,854,775,808
到9,223,372,036,854,775,807
(即-2^63
到2^63 - 1
)。 - 无符号 (
unsigned long long
):0
到18,446,744,073,709,551,615
(即0
到2^64 - 1
)。
- 有符号 (