上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 29 下一页
摘要: 题目大意: 让你输入一个n边形的n个点的坐标,要你求这个多边形的重心。解题思路: 用叉积的思想把多边形给分割成多个小三角形,就可以搞定啦。 贴公式:C=sigma(Ai * Ci) / A (i=1…N) Ci=Centroid(△ O Pi Pi+1) = (O + ↑Pi +↑Pi+1 )/... 阅读全文
posted @ 2011-11-06 13:04 cchun 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ACM入门之STL简介第二章 STL简介1.STL是什么作为一个C++程序设计者,STL是一种不可忽视的技术。Standard Template Library (STL):标准模板库,更准确的说是 C++ 程序设计语言标准模板库。STL是所有C++编译器和所有操作系统平台都支持的一种库,说它是一种库是因为,虽然STL是一种标准,也就是说对所有的编译器来说,提供给C++程序设计者的接口都是一样的... 阅读全文
posted @ 2011-11-06 11:39 cchun 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 让你逆时针输入一个n边行n个点的坐标,然后判断这个n边形的凹凸性。解题思路: 利用两向量的叉积就可以秒掉。不过一开始对叉积理解得还不是很好。所以调试了20分钟,汗!~~水!~~~ 再看一遍叉积吧:计算矢量叉积是与直线和线段相关算法的核心部分。设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉... 阅读全文
posted @ 2011-11-06 10:51 cchun 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你逆时针n个坐标点,要求求一个多边形的面积(多边形可能为凸多边形or凹多边形)。解题思路: 利用叉积的思想,改进版是只要求一个循环的点的关系。S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1);代码:#includeconst int MAX=105;using namespa... 阅读全文
posted @ 2011-11-06 09:42 cchun 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 在此献上一个牛逼网站:计算机几何概述:http://dev.gameres.com/Program/Abstract/Geometry.htm矢量的概念: 如果一条线段的端点是有次序之分的,我们把这种线段成为有向线段(directed segment)。如果有向线段p1p2的起点p1在坐标原点,我们可以把它称为矢量(vector)p2。 矢量加减法: 设二维矢量P = ( x1, y1 ),... 阅读全文
posted @ 2011-11-06 08:49 cchun 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 背景知识:判断两线段是否相交: 我们分两步确定两条线段是否相交: (1)快速排斥试验 设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T,如果R和T不相交,显然两线段不会相交。 (2)跨立试验 如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2 ,则矢量 ( P1 - Q1 ) 和( P2 - Q1 )位于矢量( Q2 - Q1 ) 的... 阅读全文
posted @ 2011-11-06 02:08 cchun 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 产生数的全排列。速度快,哈,怕超时的时候,试试看。#include#includeint a[1001];int m;void f1(int visited[],int y){ int i; if(y==m+1)//输出函数,历遍一组,输出一组 { /* 要用到全排列的,可以在这里操作 */ ... 阅读全文
posted @ 2011-11-04 03:13 cchun 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 让你输入n,m,n为数字的个数,m为数字的位数(数字可以出现前缀零)。然后要求你用一种规定来从新排列每一个数,比如3257按照(3,2,4,1)的规则就变成了5273.(要求每一个数都按照这种规定),其实规定就是数字的位数的全排列。最后要求输出变换后的数字组合中的最大值减去最小值的差值最小。找出这个最小差值。(n,mn>>di) { memset(sub,0,siz... 阅读全文
posted @ 2011-11-04 03:09 cchun 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有一个n个人的队伍,然后有一个人在其中,这个人说在他的前面的人数不少于a个人,在他后面的人不多于b个人。然后要你求出他可能位置的个数。解题思路:直接模拟下嘛,不过好像我的方法烂得很啊。。。好吧。毕竟还是自己的心血。上代码。代码:#includeusing namespace std;const int MAX=105;int main(void){ int... 阅读全文
posted @ 2011-11-04 03:03 cchun 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 让你输入n,代表有n个数,然后再打一个n(n-1)/2的数表,代表n个数的和。解题思路: 慢慢找规律:代码:#includeusing namespace std;int main(void){ int n,num[2505],tal; cin>>n; tal=n*(n-1)/2; for(int i=1;i>num[i]; int a1=(num... 阅读全文
posted @ 2011-11-02 23:16 cchun 阅读(194) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 29 下一页