题意:

平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。

比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。

分析:

DP

设状态:f[i][j]表示i条直线能否产生j个交点。

有不同的交点数--->n条直线中有平行线。;n个点最多有n(n-1)/2个交点。

i条直线中j(j<=i)条平行线,i-j条自由线。

则此种交法的交点数就为(i-j)*j+k((i-j)*j为i-j条自由线与j条平行线的交点数,k为i-j条自由线的交点数  )

则状态转移方程:f[i][j] = f[(i-j)*j+k]( f[i-j][k]为真 )


code:

#include <stdio.h>
#include <string.h>
const int maxn = 21;
int f[maxn][191];
void init()
{int i, j, k;memset(f,0,sizeof(f));for(i=1; i<maxn; i++)f[i][0] = 1;for(i=1; i<maxn; i++)for(j=0; j<i; j++)for(k=0; k<=(i-j)*(i-j-1)/2; k++)if(f[i-j][k])f[i][(i-j)*j+k] = 1;
}
int main()
{int n, i;init();while(~scanf("%d",&n)){printf("0");for(i=1; i<=n*(n-1)/2; i++)if(f[n][i])printf(" %d",i);printf("\n");}return 0;
}

hdu1466 计算直线的交点数相关推荐

  1. HDU1466 计算直线的交点数

    计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  2. 杭电1466计算直线的交点数

    计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  3. 两直线交点坐标c语言,【计算直线的交点数】 (C语言代码)

    解题思路: 将n条直线排成一个序列,直线2和直线1最多只有一个交点,直线3和直线1,2最多有两个交点,--,直线n 和其他n-1条直线最多有n-1个交点.由此得出n条直线互不平行且无三线共点的最多交点 ...

  4. C++ 计算直线的交点数(动态规划)

    问题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1466 Problem Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同 ...

  5. hdu 1466 计算直线的交点数 递推

    以前做这道题目的时候,花了好长时间找规律,感觉十分高大上,今天回顾这个题目的时候,突然有了顿悟, 有了递推的思想就容易解决了. 题意:给你n条直线,问:输出这些直线所有相交情况下的交点个数(升序输出) ...

  6. python直线交点数量_计算直线的交点数

    0 1 0 2 3 n条直线两两相交最多有n*(n-1)/2个交点 n最大为20 交点最多为190 假设f(n)为n条直线的交点方案  有k条不互相平行的直线 那么f(n)=k*(n-k)(n-k条互 ...

  7. 【HDOJ7079】Pty loves lines(计算直线的交点方案数,打表)

    Pty loves lines 题意: 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数,输出方案,n<=700 思路: 原题是HDOJ1466,不过数据只有20. 首先考虑原本简 ...

  8. opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值

    opencv计算直线的斜率.截距,与水平线弧度值.角度值 发布时间:2018-07-10 12:56, 浏览次数:1324 , 标签: opencv 1.输入一堆直线,返回每条直线的斜率和截距 斜率和 ...

  9. 计算直线和平面的交点

    平面的法向量N和平面上点P1可以确定一个平面 直线的方向向量N1和直线上一个点P0确定一条直线 已知P0不在平面上,计算直线和平面的交点P2 很容易理解,向量P0P1和向量P0P2在平面法线上的投影长 ...

最新文章

  1. java sql编码_java+sql 编码 UTF-8、ISO-8859-1、GBK
  2. 惊:FastThreadLocal吞吐量居然是ThreadLocal的3倍!!!
  3. C++_STL——unordered_map、unordered_multimap、unordered_set、unordered_multiset
  4. 一篇文章7.4万,Nature 33种期刊开放获取新政引争议,社区斥其「寄生虫」
  5. 小姐姐在硅谷生活了三年,实现了理想的生活模式
  6. [转载]婚姻不只是娶一个女人那么简单
  7. feign.RetryableException null executing post
  8. 千万商家的智能决策引擎AnalyticDB
  9. 基于.NET Compact Framework的应用程序和库汇总
  10. Docker 安装常用软件记录
  11. JavaScript面试题整理
  12. 数字图像处理理论课件(清华大学计算机科学与技术系)
  13. 开发一个类似美团的外卖小程序多少钱
  14. python写金字塔(数字金字塔)
  15. python方位角计算
  16. setDaemon python守护进程,队列通信子线程
  17. 基于asp.net181艺术品在线交易系统
  18. java 蓝桥杯 天干地支
  19. node.js菜鸟问题—— data被报无定义
  20. TS 类型备忘 音视频格式

热门文章

  1. it专员职责_网络IT专员岗位职责
  2. poj1509最小表示法
  3. UVA11624大火蔓延的迷宫
  4. 【Linux 内核 内存管理】Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )
  5. 【设计模式】备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  6. 【错误记录】Android 应用 release 打包报错处理 ( 关闭语法检查 | 日志处理 | release 配置 )
  7. 【错误记录】Android NDK 错误排查记录 ( Could not get version from cmake.dir path ‘xxx\cmake\3.6.4111459‘. )
  8. 【集合论】有序对 ( 有序对 | 有序三元组 | 有序 n 元祖 )
  9. vue切换路由时动画
  10. 如何将Android的AOSP仓库放置到自己的gitlab服务器上?