森森最近想让自己的朋友圈熠熠生辉,所以他决定自己写个美化照片的软件……
看了这位兄弟的才看得懂是怎么回事,要学会大概怎么做看他的就够了。
https://blog.csdn.net/Solitarily/article/details/79473754
接下来的是我总结的一些小细节和知识点:
1.为什么要让初始点和结束点的坐标都加上1呢? 只是用来方便观察的吗? 见如下代码段:
next_k.x = now.x + dir1[i][0];
next_k.y = now.y + dir1[i][1];
next_k.dis = fdis[now.x][now.y] + score[next_k.x][next_k.y];
如果next_k的坐标在没有经过判定的前提下去取值(fdis score), 如果是从0开始存放的,那么会面临非法访问存储位置的风险。
2.memset对浮点数组赋值的时候不能使用0x3f3f3f3f,否则赋出来的值会是0.000476792279412。
https://www.luogu.org/discuss/show/46724
3.计算几何初探
int cross(point A, point B, point P)
{