随笔分类 - 模板
摘要:#include #include #include #include #include using namespace std;const double eps = 1e-6;const int MAXN = 100010;const double INF = 1e20;struct Point{...
阅读全文
摘要:struct point{ double x,y,angel;} p[N],stack[N];int top,n;double dis(point a,point b)//求距离{ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));...
阅读全文
摘要:先理解下凸包说凸包首先要说凸性的定义,简单点说就是平面邻域中任意两点所在的线段上的点都在该邻域中,则该邻域具有凸性。简单推敲一下,就可以发现如果邻域中存在一阶导数不连续的点一定无法被某点集线性表示出来。再往下的内容属于数学分析了,对我们的算法设计帮助不大,暂时先不管。一般的计算几何问题都是处理的离散...
阅读全文
摘要:for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { for(k=1; k<=n; k++) c[i][k]+=a[i][j]*b[j][k...
阅读全文
摘要:问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.解法1:最长公共子序列法这个问题可以转换为最长公共子序列问题。如例子中的数组A{5,6,...
阅读全文
摘要:Bone Collector IITime Limit: 5000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1842Accepted Submission(s): 952Problem DescriptionThe title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup" competition,you must have
阅读全文
摘要:统计难题Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 15521Accepted Submission(s): 6640Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统
阅读全文
摘要:最大连续子序列Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16819Accepted Submission(s): 7387Problem Description给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 using namespace std;int main(){ int n,i,s[10001],a[10001],f[10001],max,st
阅读全文
摘要:Greatest Common Increasing SubsequenceTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3365Accepted Submission(s): 1062Problem DescriptionThis is a problem from ZOJ 2432.To make it easyer,you just need output the length of the subsequence.InputEach
阅读全文
摘要:#include#include#includeusing namespace std;double x[3],y[3];int main(){ while(~scanf("%lf%lf",&x[0],&y[0])) { scanf("%lf%lf",&x[1],&y[1]); scanf("%lf%lf",&x[2],&y[2]); double c=sqrt((x[0]-x[1])*(x[0]-x[1])+ (y[0]-y[1])*(y[0]-y[1])); double a=sqr
阅读全文
摘要:int pow(int a ,int k) { int rec = 1; while( k ) { if (k & 1) rec *= a; a *= a; k >>= 1; } return rec; }
阅读全文
摘要:void fun(){ vit[1]=false; vit[2]=true; for(int i=3; i<=M; i++) { if(i%2) vit[i]=true; else vit[i]=false; } for(int i=3; i<=M; i+=2) { if(vit[i]) { for(int j=i*2; j<=M; j+=i) vit[j]=false; } } cat=0; for(int i=2; i<=M; i++) { if(vit[i]) vis[++cat]=i; }}
阅读全文

浙公网安备 33010602011771号