简单数论、计算几何及其应用.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单数论、计算几何及其应用.ppt

所以当n排在第k位时共有Dn-2+Dn-1种错排方法,又k有从1到n-1共n-1种取法,我们可以得到: Dn=(n-1)(Dn-1+Dn-2) 在研究很多排列组合问题时,我们都会使用类似的一一对应性来将问题降阶或转化。 求N的全排列中有多少种满足刚好有k个在对应位置上。 正好有k个在对应位置上,也就是正好有n-k个不在对应位置上。 那么我们选择出哪些位置没有填上对应的点,共有C(n,n-k)种方案,选出来以后剩下的位置填其对应的点即可。 现在的问题就在于选出的n-k个点要求没有一个点在其对应位置上,因此就是f(n-k),f表示错排公式。最终答案为C(n,n-k)*f(n-k)。 常见的组合递推式还有卡特兰数、第二类斯特林数等等,下面仅作简单介绍不作展开,有兴趣的同学可以自己查阅。 令h(0)=1,h(1)=1,catalan数满足递推式:  h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2) ,并有h(n)=C(2n,n)/(n+1) Cn表示所有在n × n格点中不越过对角线的单调路径的个数。一个单调路径从格点左下角出发,在格点右上角结束,每一步均为向上或向右。 Cn表示N个节点所能组成的不同二叉树个数。 一个栈(无穷大)的进栈序列为1,2,3,…,n,有Cn个不同的出栈序列. …. s(n,m)表示把n个有区别的球放到m个相同的盒子中(即{1,2,3}{4,5}方法和{4,5}{1,2,3}是相同的),且无一空盒,其不同的方案数。 s(n,m)=ms(n-1,m)+s(n-1,m-1)???? (n>=m) s(n,m)=0?? (n<m) s(0,0)=1; 该公式的证明方法是这样的:考虑第一个元素,如果其是被归入后N-1个元素的集合中的话,那么考虑其归入的集合(有m个集合可以选),可以得到方案为m*s(n-1,m),如果自成集合的话就是s(n-1,m-1),加起来就可以得到s(n,m)。 下面来介绍一些计算几何的知识,由于计算几何在联赛中出现频率较低且很可能不会考很难的知识,所以下面会选择一些比较基础的讲解。 作为计算几何最基本问题,要解决他先介绍一些东西. 向量: 为一个从(0,0)出发到某个点(x,y)的有方向的一条线段. 叉积:对于向量A(x1,y1)和B(x2,y2),定义叉积=x1y2-x2y1, 即|A||B|sin(a,b)(叉积其实是一个向量,不过在联赛中我们取他的长度就可以了) 叉积有个神奇的性质,就是A*B如果为正,则B在A左边,为负在右边,为0共线.这里定义A的逆时针180度内为左边。 叉积的绝对值也有个性质,就是等于平行四边形OABC(C:向量B沿着向量A移动到(x1,y1)后另一端的点即为C)的面积. 判断相交方法: 可以证明AB与CD相交充要条件为:C和D在AB异侧,B和A在CD异侧,这就对应了叉积的正负,所以直接用叉积判断即可,当然实际操作的时候我们需要将线段平移至原点来变成向量。 注意这里由于计算机实数操作精度问题,<0不要写<0而是写<-1e-6,>0要写>1e-6,=0写-1e-6~1e6之间,上面的1e-6是一个比较标准的值,随着题目变化是需要变化的,一般1e-6是足够的。 对于求交点,一般采用列方程方法即可。 多边形面积的求法也可以利用叉积,做法是: 我们连接原点到所有的点构成N个向量,然后将多边形上相邻两个点的向量进行叉积运算,最后将叉积的和取绝对值除2就是答案。 这样做的原理就是利用了叉积的有向面积性质,由于点的位置关系叉积结果会有正负之分,因此对应的四边形面积也会有正负之分,所以可以利用这点求多边形面积,详细的证明这里不会给出,有兴趣的同学可以自己画图试试这个结论。 对于这个问题,我们可以随机一条从询问点出发的很长的线段,然后求出这条线段与多少条多边形的边有交,若有交的边数为奇数个则点在内部,为偶数个则在多边形外部。 由于我们随机了向量,因此可以不用考虑诸如交点在顶点上之类的问题,如果遇到了交点在顶点上的情况,可以重新随机,否则会影响答案。 对于凸多边形,我们可以以某个点为原点进行三角剖分来做到每次询问Olgn的时间回答,由于超出NOIP难度此处仅作科普。 欢迎提问 那么如何找出<=(p的最小素因子)的所有素数呢?枚举到p的时候,我们可以按数值大小从小到大枚举当前已经找出的所有素数,显然这些素数都是小于p的,当枚举到某个素数q满足q|p的时候,就对后面的素数不再操作即可。此时的q就是p的最小素因子,因此我们也可以在On时间内快速找到每个数的最小素因

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档