2017/8/24训练日记(long long 以及 int ,long使用范围)

来源:互联网 发布:怎么做一个软件 编辑:程序博客网 时间:2024/05/29 12:47

今天上午在火车上度过没a题但是又看了看知识点;

中午到学校忙忙活活下午就兴致满满的到实验室a题;

然而理想很丰满现实很骨干。。。。。。

a题是a了一下午一个题。。。。。。菜哭

关于双向队列的一个题 ,

问一个双向队列从前从后都可以出数,每个数的价值是它输出的顺序数乘以它本身的价值,求能输出的最大价值数是多少;

关于这个题,开始是打算采用队列写的,后来直接堆到数组里了感觉更直接一些,然后光写动态转移方程我就写了n久

后来。。。后来wa了,以为是方程推错了,后来发现。。。。max函数自己写错了0.0,忘记return了。。。。然后a了,浪费时间了。

所以的题目都弄出来了,但是三个题交了三发tle....我也很绝望啊。。。。

还又个题是单调队列的原题,看自己右边比自己身高低的牛的个数的总和,交了一发wa,改成long long 过的。

之前也又过错在long long上的时候。



关于long long 和 int 的使用范围:转自:http://blog.csdn.net/u011415955/article/details/38177023

unsigned   int   0~4294967295   

int   2147483648~2147483647   (21亿,10位)
unsigned long 0~4294967295
long   2147483648~2147483647
long long的最大值:9223372036854775807   (19位)
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615  (20位)
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。
%ld用于long类型,%lld用于long long类型。
%x标识的数会被当成int进行读取,所以long long类型的数如果超过int的范围会被截断,得不到正确的结果。而且因为它多占了4个字节,还会影响后面的其它标识符的输出。
另外%f标识的数会被当成double读取,即取出8个字节读取。


就这么多了,这几天着实没怎么a题。。QAQ