1 优先队列默认大根堆
2 和差化积
sinA+sinB=2sin((A+B)/2)cos((A-B)/2)
cosA+cosB=2cos((A+B)/2)cos(A-B)/2)
3double输出问题
在long long运算中会出现小数,在将结果的double输出时出现了问题
首先应该四舍五入floor(x+0.5),之后再强制转换为longlong类型。
如果不加强制转换,double默认只保留5位有效数字,于是结果就变成了不精确的科学记数法。
如果不加floor直接转换,强制转换默认是截断,于是会出现(long long)(-2.9)=-2的情况
还有如果用cout<<fixed<<setprecision(0)<<x;的话会出现神奇的错误x=-0.1时输出-0
double实在是tkpl