摘要:
偶然碰到这个算法,学习下。 这样可以在O(n^3)的时间内找出非二分图的最大匹配。 #include <cstdio> #include <algorithm> #include <set> #include <vector> using namespace std; const int NMax= 阅读全文
摘要:
1.普通素数筛选模板 最普通的方法。。。 2.快速素数筛选 这种方法经证明只需要2n的复杂度,但是因为有*,/,%等运算,所以只比一般素数筛选快3倍左右。 关于复杂度的证明,用整体的思路就很好证明,算法由一层循环O(n)再加上所有产生的合数,可以证明每个合数都会被产生一次且仅一次。 所以这个算法每一 阅读全文
摘要:
题意无比诡异。 http://acm.timus.ru/problem.aspx?space=1&num=1716 俄罗斯的英文简直把我吓尿。 题意是对于输入:X1X2X3X4(Xi为YES或NO) 装变为 Y X1X2X3 然后问xi对应的错误的期望个数。 每种情况都是等概率的。 然后用dp做 d 阅读全文
摘要:
妹的,一直没有想清楚无解的情况到底是如何判断的。 偷来一个模板。 半平面交的结果:1.凸多边形(后面会讲解到)2.无界,因为有可能若干半平面没有形成封闭3.直线,线段,点,空(属于特殊情况吧) 算法:1:根据上图可以知道,运用给出的多边形每相邻两点形成一条直线来切割原有多边形,如果多边形上的点i在有 阅读全文
摘要:
/*给出三维空间中的n个顶点,求解由这n个顶点构成的凸包表面的多边形个数. 增量法求解:首先任选4个点形成的一个四面体,然后每次新加一个点,分两种情况: 1> 在凸包内,则可以跳过 2> 在凸包外,找到从这个点可以"看见"的面,删除这些面, 然后对于一边没有面的线段,和新加的这个点新建一个面,至于这 阅读全文
摘要:
/*给出三维空间中的n个顶点,求解由这n个顶点构成的凸包表面的多边形个数. 增量法求解:首先任选4个点形成的一个四面体,然后每次新加一个点,分两种情况: 1> 在凸包内,则可以跳过 2> 在凸包外,找到从这个点可以"看见"的面,删除这些面, 然后对于一边没有面的线段,和新加的这个点新建一个面,至于这 阅读全文
摘要:
//求两条直线之间的关系(三维) //输入:两条不为点的直线 //输出:相交返回XIANGJIAO和交点p,平行返回PINGXING,共线返回GONGXIAN int LineAndLine(Line3D L1,Line3D L2,Point3D &p) { Point3D px,py; px = 阅读全文
摘要:
#include #include #include #include #include #include #include using namespace std; #define MAX_N 110 /*------------------常量区-------------------*/ const double INF = 1e10; // 无穷... 阅读全文
摘要:
简单的题意,要注意z2 = h2*0.9-r2 #include <iostream> #include <cmath> #include <vector> #include <string.h> #include <stdlib.h> #include <algorithm> using name 阅读全文
摘要:
void CirAndCut(Point psn[],int n,Point psm[],int m) { int nid=0,mid=0; for(int i=1;i<n;i++) if(psn[i].y>psn[nid].y) { nid=i; } for(int i=1;i<m;i++) if 阅读全文