菜鸡的根源:细节决定成败,每一次都因为这些与优秀擦肩而过
让每一份代码都成为无需修改的精品,是OIer应该具有的品质
1、注意输出字符串的大小写,复制复制!!!
现场:100==>0
2、注意该输出什么(不为0的,不为负的...)
现场:输出且仅输出所有能被看到颜色(100==>20)
3、排序时注意有几个数
现场:100==>80
//sort(a+1,a+n+1,cmp);
sort(a+1,a+n+2,cmp);
4、数据结构题的下标意义
现场:100==>30
inline int newnode(int x)
{
val[++tot]=x;
si[tot]=1;
pri[tot]=rand();//tot==>x
return tot;
}
5、斜率优化时的精度
现场:100==>80
inline double SL(int i,int j)//double==>int
{
return (double)(Y(i)-Y(j))/(X(i)-X(j));
}
6、工具数组的初始化要从0开始
现场:100==>0
for(int i=0;i<=3000;i++) b[i]=rand()%mod;
//Hash的随机数组,没有初始化b[0]
7、线段树四倍四倍四倍空间!
现场:100==>30
const int maxn=1e5+10;
int n,Q;
int mx[maxn*4],mn[maxn*4],a[maxn*4];//maxn*4==>maxn
8、空间要依照题意严格设置!!
现场:40==>0
const int maxn=22;
const int maxm=1e3+10;//1e3==>1e5
//此处省略若干大小为maxm的数组
struct TMP
{
int now,mxx;
int aa[maxn][maxn];
}op[maxm];
即使空间512MB也不能任性想开多大就开多大