UVa 11971 Polygon (数学,转化)】的更多相关文章

                                    Polygon  John has been given a segment of lenght N, however he needs a polygon. In order to create a polygonhe has cut given segment K times at random positions (uniformly distributed cuts). Now he has K + 1much sh…
题意:一根长度为n的木条,随机选k个位置将其切成k+1段,问这k+1段能组成k+1条边的多边形的概率. 析:这个题,很明显和 n 是没有任何关系的,因为无论 n 是多少那切多少段都可以,只与切多少段有关.然后我们要转化一下,不能直接做,因为不好做. 转化为一个圆上选 m+1 个点,能不能组成多边形,很容易知道如果一个边大于一半圆的周长,那就组不成多边形.然后位置是随便选的,概率就是1, 然后其他 m-1 个点,就只能放那一半上,每个都有1/2的概率,然后 m 个,就是1/(2^m),然后每个点都…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3122 题意: 有一根长度为n的木条,随机选k个位置把它们切成k+1段小木条.求这些小木条能组成一个多边形的概率. 分析: 不难发现本题的答案与n无关.在一条直线上切似乎难以处理,可以把直线接成一个圆,多切一下,即在圆上随机选k+1个点,把圆周切成k+1段.根据对称性,两个问题的答案…
https://vjudge.net/problem/UVA-11971 有一根长度为n的木条,随机选k个位置把它们切成k+1段小木条.求这些小木条能组成一个多边形的概率. 将木条看做一个圆,线上切k刀等价于圆上切k+1刀 如果能组成多边形,每一段木条的长度都要<圆周长/2 反过来,如果不能组成多边形,有且仅有一段长度>=圆周长/2 如图所示,第一刀可以随便切,接下来的每一刀都要在第一刀所在的那个半圆上 概率=(1/2)^k 每一个切点处,都可以断开成为线,共有k+1种断法 所以不能构成多边形…
题意: 一根长度为n的木条,随机选k个位置将其切成k+1段,问这k+1段能组成k+1条边的多边形的概率? 思路: 数学题.要求的是概率,明显与n无关. 将木条围成一个圆后再开切k+1刀,得到k+1段.组不成多边形就是其中有一段特别长,比其他k段加起来还要长.先算出不能围成多边形的概率,那么就是圆上面必须要有一段的长度大于半个圆周长,且其他的k-1个位置都要在同一边. 第一个点随机选,概率为1,假设这个点就是木条要组成圆的那两端.接下来要选其他的k个点的位置,他们都在同一个半圆上的概率是(1/2)…
题意: 有一根绳子,在上面随机选取k个切点,将其切成k+1段,求这些线段能够成k+1边形的概率. 分析: 要构成k+1边形,必须最长的线段小于其他k个线段之和才行. 紫书上给出了一种解法,但是感觉理解得不是太好,所以又去网上找了其他解法. 知乎上有人问过这个问题,而且给出了很多种严格的解法. 最后代码里将(1LL << i)写成(1 << i),这种细节应当注意. #include <cstdio> typedef long long ll; ll gcd(ll a,…
大致题意:给出几个包裹,每个包裹都包装好了3种大小的杯子.现在要重新包装,使向量 a[1]*(s[1][1],s[1][2],s[1][3])+a[2]*(s[2][1],s[2][2],s[2][3])+.....+a[n]*(s[n][1],s[n][2],s[n][3])=(k,k,k). 就这样转化成了向量问题其中a[i]为非负整数,k为正整数. 虽然转化成了向量问题,但是三维向量和这么多变量有点棘手,所以我们可以先降维,将原等式变化成: a[1]*(s[1][2]-s[1][1],s[…
首先你要明白Polyline是由path对象构成,Polygon是由ring对象构成,因此实现polyline向polygon的转换,思路如下:1.提取polyline中的所有path对象2.将path对象转换成ring对象,由于IRing继承自IPath,因此该转换是合理的3.利用IGeometryCollection.AddGeometry添加ring对象,构成polygon示例如下: //cast the polyline object to the polygon ISegmentCol…
感觉数学期望的和化学里面求元素的相对原子质量的算法是一样的 就是同位素的含量乘上质量然后求和得出 这道题因为等待时机是0到2*l/v均匀分配的,所以平均时间就是l/v 再加上过河的l/v, 最后加上步行的时间就ok了 #include<cstdio> #define REP(i, a, b) for(int i = (a); i < (b); i++) using namespace std; int main() { int n, D, kase = 0; while(~scanf(&…
Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000KB   64bit IO Format: %I64d & %I64u Submit Status Description A closed polygon is a figure bounded by a finite number of line segments. The intersections of the bounding line segments are call…