C语言刷题心得

C语言刷题心得,第1张

C语言刷题心得

1.sqrt()函数的结果是double型的数据,形参也要是double型的,所以当形参不是double型的时候要强制转换为double型

2.洛谷原创:求凸多边形对角线交点个数

  公式法:n (n-1) / 2 (n-2) / 3 * (n-3) / 4

  一般法:

首先,将该凸多边形的顶点依次标上序号,如六边形六个顶点依次为:1,2,3,4,5,6

然后,选出能构成对角线的两个点的组合,构成一个二位列表,经过推断可知,构成对角线的条件为:

1,两个数字的差不能为1,也就是两个点不能相邻。

2,因为1号点与n号点也相邻,但是之间的差值却不是1,所以应该将这种情况排除。

例:六边形经过第一次的筛选可以得到二维列表

[[1, 3], [1, 4], [1, 5], [2, 4], [2, 5], [2, 6], [3, 5], [3, 6], [4, 6]]([1,3]代表点1和点3的连线)

最后一步,我们应该寻找能构成焦点的两条线的关系,经过推导可知:

对于两条对角线[a,b],[c,d]。(a

如果a(这里解释一下为什么要这样,因为只有当其中一条对角线的一个端点(只能是一个)在另一条对角线的两个端点之间时,两对角线才能相交)

即可构成一个交点


该思路转自CSDN博主「见白头」的原创文章
原文链接:https://blog.csdn.net/jianbaitou/article/details/110309451

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5097857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存