Double 2 int8
将范围double映射到Int8

解释PPT:除开int8的映射,还考虑了误差的计算,和重新计算M+空间的double并排序。

注释:
- 采用的是欧式距离(两点直线距离),不是切比雪夫距离(
max(delta x, delta y)) C_2^n,由于目标函数是所有边的距离和,所以要乘以边的数量。C_2^n是从n个点中取两个点的组合数,也就是边的数量。C_k^n, k是支撑点个数,n 是总个数。- 修正M个,因为题目要求求TopM,由于第M个可能是
+delta来的,M+1个可能是-delta导致的,所以要修正M个后面2*delta的范围。

上面不知道具体怎么实现的(需要看代码)。下面同时要注意溢出的处理。int8溢出加法,可以转化为int16, 再相加。

_mm256_cvtepi8_epi16
AVX的操作Int寄存器也是分有无符号
_epi8 signed char, or _epu8 unsigned char

去年决赛冠军-上交队的思路

这是我搜集这么多PPT里的,少有的思路