第一行:咕咕咕,很久没写博客了。
第二行:没出复试通知一直摆烂,出了复试通知更想摆烂了,毕竟我大概率陪跑人。
第三行:没关系,尽人事待天命。我既然初试能比他们考得高,那复试也能。
第四行:因为复试准备期间不可以泄露消息,所以要等到4.3才可以放出这篇博客。
第五行:4.8:谢谢谢谢,机试真的好重要,我被录取了。
一、一些小技巧
1. 判断三角形类型:
假设c为给出的或算出的最长边。
a^2+b^2>c^2,三角形是锐角三角形。
a^2+b^2=c^2,三角形是直角三角形。
a^2+b^2<c^2,三角形是钝角三角形。
2. 判断三点共线:
a. 根据点的坐标计算斜率(注意分母为0的情况,以及比较大小为double类型时,注意用abs函数令其<=1e-6,‘==’会出现误差)
b. 计算三角形面积,为0则共线。S=(1/2)*(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2) ,注意1.0/2自动转换为double类型,不然默认1/2为0了。
3. 求闰年数
闰年:能被4整除不能被100整除or能被400整除
看某范围内四的倍数减去能被100整除加上被400整除的年份数即可。
cin>>x>>y;//x,y为年份上下限
int ans1 = (x-1)/4-(x-1)/100+(x-1)/400;
int ans2 = y/4-y/100+y/400;
printf("%d\n",ans2-ans1);
二、一些忘记了的函数
1. string库里:memset(a,0,sizeof(a)),而且memset的用时比单写for循环还要浪费时间,可能会t(机试的时候差点因为这个点丢了3.5分,还好反应过来了)
2. algorithm库里:sort(a,a+n,com)【数组的下标应从0开始,com是自定义函数返回ture or false】
3. algorithm库里:lower_bound(起始地址,结束地址,要查找的数值) 返回的是大于等于该数值出现的位置,若全部小于则返回最后一个数值之后的越界位置。upper_bound(起始地址,结束地址,要查找的数值) 返回的是第一个大于待查找数值出现的位置。binary_search(起始地址,结束地址,要查找的数值) 返回的是是否存在这么一个数,是一个bool值。
4. cmath库里,abs()对整型数取绝对值,fabs()对浮点数取绝对值
三、一些复习中的算法
strling数 盒子与球经典题(需要注意组合数过大时的取余过程,步步取余防止爆数据)
欧拉函数 用于求小于n的所有数中与n互质的数的个数
3.23:一道模拟题花了一小时,我可真菜+memset都忘了怎么用了+我以前可是stl熟手的!+湖大竟然还考博弈我人傻了
3.24:怎么会有人模拟写了500行就过了一个样例啊!
3.25:太离谱了,热身还有tarjan算法,这学不上也罢!(bushi,湖大你可一定得要我这个学术垃圾啊
3.26:仔细注意题意,注意一些会忽略的点爆数据、超时、区间开闭、
3.28:复试推迟了,考不上就真的没学上了。我要是考个430+就好了:(
3.31:别人都在晒拟录取了,而我还不知道啥时候复试
4.2:出通知了4.5复试,我这几天都跑路做毕设去了,再见,不准备机试了,我要去背专业课了