许多注意事项

一、

double(表达式)只是把括号内的数转化成double,用于你其实不想用double,但前面的变量确实是double

比如sqrt()里面的数,为了double而double。而你真的想得到double数时要用double()+表达式。

double bi=double(x/y);
double bi=double()x/y;

上面的式子上一个是x/y向下取整都加.000000,下面的才是真正的x/y的值

long long、int啥的与之相同。

还有一个很有用的地方是两个大数相乘后爆int时可以套上一个long long比较。

bool my(ab x,ab y)
{
    return (long long)x.j*y.p>(long long)x.p*y.j;
}

二、

快读的重要性就不多说了,最近才摆脱了cin与cout 

inline void write(int x)  
{  
    if(x<0) putchar('-'),x=-x;  
    if(x>9) write(x/10);  
    putchar(x%10+'0');  
}
inline int read()
{
    int x=0;
    char ch=getchar();
    while(ch>='0'&&ch<='9')
    {
        x=(x<<1)+(x<<3)+ch-'0';
        ch=getchar();
    }
    return x;
}
putchar(10);
putchar(32);

 三、

最近才套出来的关于数组能开多大的计算

//一共536870912的字节,一个int占4个字节,bool占一个

猜你喜欢

转载自www.cnblogs.com/qywyt/p/9177234.html