HDU 1466 计算直线的交点数

动态规划解决线交点问题
本文介绍了一道关于计算平面内线段交点数量的动态规划问题,并详细阐述了解题思路与具体实现过程,包括如何通过动态规划递推公式求解不同线段数量下的所有可能交点数。

 

http://acm.hdu.edu.cn/showproblem.php?pid=1466

 

解题思路:这道题是一道动态规划的题目,从4根线开始都是在之前N根线的组合的基础上演化而来的。其实N根线有多少的交点,就是看线的排布决定的。假设有N根线要相交,我们假设这N根线中有N-i条线是平行的,则有i条线是自由的,不跟这N-i条线平行,则这i条线中的每一条一定跟N-i条相平行的线有N-i个交点,所以i条自由线至少跟N-i条线有,i*(N-i)个交点,其中这i条线又有各自不同的相交情况,所以我们就可以看出其实这是个动态规划的问题了。最后我们只要根据线的数量分别用插入排序排好交点数就好,最好输出就是了。

 

根据上面所说,我们可以有以下的公式:

 

tem = (N-i)*i

val = tem+dp[i][k]

 

dp[i][k]表示的是i条边,它的k种交点个数。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值