acm动态规划入门刘春英.pptxVIP

  • 7
  • 0
  • 约3.3千字
  • 约 37页
  • 2020-02-23 发布于上海
  • 举报
今天,AC你 了吗?每周一星(3):/userstatus.php?user=jiyuanLomen 第四讲动态规划(1) (Dynamic programming)先热身一下——(1466)计算直线的交点数问题描述: 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。输入:n(n=20)输出:每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数。样例输入4样例输出0 3 4 5 6初步分析:我们知道: n条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2, 但本题不这么简单,因为问题问的是:这些直线有多少种不同的交点数?思考2分钟:如何解决?分析思路—— 首先,容易列举出N=1,2,3的情况: 0 0,1 0,2,3然后,假设=n-1的情况都已经知道——重点分析——n的情况:先来看个统计的方法:假设一共有n=a+b条直线(即n条直线分成2组,分别为a条和b条)则总的交点数= a内的交点数 +b内的交点数 +a,b之间的交点数重点分析——n的情况:我们来分析加入第N条直线的情况(这里以N=4为例):(分类方法:和第N条直线平行的在a组,其余在b组)1、第四条与其余直线全部平行 = 0+4*0+0=0;2、第四条与其中两条平行,交点数为0+(n-1)*1+0=3;3、第四条与其中一条平行,这两条平

文档评论(0)

1亿VIP精品文档

相关文档