P2789 直线交点数】的更多相关文章

P2789 直线交点数分成两种情况,一种是平行直线,一种是自由直线,在自由直线中可以存在平行直线,但是不能和第一组的直线平行.自由直线和平行直线的交点是i*(n-i). #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime> #include<set> #include&l…
题目传送门 题目描述 平面上有N条直线,且无三线共点,那么这些直线能有多少不同的交点数? 输入格式 一个正整数N 输出格式 一个整数表示方案总数 输入输出样例 输入 #1 4 输出 #1 5 说明/提示 N<=25 分析: 给定你$n$条直线,如果其中有$i$条平行,其他的不平行,那么交点数就是$(i*(n-i))$+($n-i$条直线的交点数).那么我们就可以递归求出$n$条直线所有可能的方案(因为$n$很小),然后记录方案数就行了. 其实也就等价于把这$n$条直线分成若干个平行的直线组,然后…
1.HDU-1466   计算直线的交点数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1466 3.总结:不会推这个,看了题解.. 状态转移: m条直线方案数=(m-r)条平行直线与r条直线相交数+r条直线自身方案数 #include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algorithm> #…
计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8234    Accepted Submission(s): 3705 Problem Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数.比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行).   Input 输入数据包含多…
将n 条直线排成一个序列,直线2和直线1最多只有一个交点,直线3和直线1,2最多有两个交点,......,直线n 和其他n-1条直线最多有n-1个交点.由此得出n条直线互不平行且无三线共点的最多交点数: Max = 1 +2 +....(n-1)=n(n-1)/2; 但本题不这么简单,这些直线有多少种不同的交点数?   容易列举出i=1,2,3的情况如下图所示,来分析n=4的情况: 1.       四条直线全部平行,无交点 2.       其中三条平行,交点数: (n-1)*1 +0=3:…
题意:平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数.比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行). 思路:动态规划,想办法记忆化搜索,当前状态和之前状态结合起来 dp[i][j] i是有i条直线 j代表交点个数 假设有n条直线,前n-1条直线的所有交点都知道 假设第n条线段与前n-1条平行 n条平行    交点数   0 假设第n条线段与前n-2条平行 n-1条平行 交点数   1*(n-1) (剩下那一条与n-1的平行线都有一个交点但是那两条直线有dp[1]…
计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9357    Accepted Submission(s): 4226 Problem Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数. 比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行).   Input 输入数据包…
题意: 平面上有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…
http://acm.hdu.edu.cn/showproblem.php?pid=1466 N条直线的交点方案数 = c 条直线交叉的交点数与(N-c)条平行线 + c 条直线本身的交点方案 = (N - c) * c  + c 条直线之间的交点数. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ][]; void inti() { ; i<=; i+…
题目描述 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数. 比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行). 输入 输入数据包含多个测试实例,每个测试实例占一行,每行包含一个正整数n(n<=20),n表示直线的数量. 输出 每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数,每行的整数之间用一个空格隔开. 样例输入 2 3 样例输出 0 1 0 2 3 题解:我们可以从n-1条直线相交的情况推导出n条直线的相交情况,考虑到直线的关系不是相…