作者:yxc
链接:https://www.acwing.com/blog/content/32/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
时间限制 1ms->1e7~1e8
空间限制 64MB => 一般int数组总元素个数不超过6e7 long long 不超过 3e7
int => 64MB/4B >> 16M = 16*(1<<20)
常数时间->语句执行次数
1e9->常数在3以内
1e8 ->常数在10以内
1e7 ->常数在100以内
[]运算符只接受int类型
PS:之前版本太烂 删掉又啥也不剩了所以就再适当加点
$$
int~ 2^{31}-1=2,147,483,648 \rightarrow~ 2e9\\\\
long~long 2^{63}-1 = 9223372036854775807 \rightarrow ~9e18\\\\
float ~ 7\sim8位有效位\\\\
double ~ 15\sim16位有效位\\\\
$$
如果学过组成原理的话就了解浮点数是基于ieee754是牺牲精度换取的范围
同样的由于整数基于补码 浮点数基于754标准
整数和浮点数的类型转换就只能通过显式强转了
使用printf scanf 赋值运算符等都是直接进行二进制复制会产生数据溢出
int不是占用4个字节吗,那64MB=65536KB=67108864B 那就可以定义67108864/4=16777216 也就是最多1e7个int吗
不知道是不是这样算的 求大佬解答
没错 好久之前写的 现在看问题太多了
好的
我好像bool开3e9就爆掉了
我之前计算有误 实际 [] 应该是只能接收int类型数据所以2e9以上都会爆