上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 57 下一页

2011年7月11日

sicily 1063. Who's the Boss

摘要: #include<iostream> //排序#include<stdio.h>#include<algorithm>#include<vector>using namespace std;int n,m,q,y,k;struct node{ int id,sala,height; int boss,child; //sub存储第一层下属的位置,child记录所有下属subordinate的数目 vector<int> sub; bool operator<(const node& o)const //降序 { retu 阅读全文

posted @ 2011-07-11 11:08 sysu_mjc 阅读(1041) 评论(0) 推荐(0) 编辑

为什么我们信息学奥赛出了国家一等奖 by:山东省莱州一中 姚 远

摘要: 为什么我们信息学奥赛出了国家一等奖 2005年5月中旬,在犹豫了几个月后,我终于决定退出信息学奥赛。随后我交还了手中所有的图书资料,搬出了601宿舍,停下了所有的辅导课……脑袋空下来之后,过去的事开始不断闯进我的脑海——那不明白的许多事情,还有悬而未决的问题——我真想解决它们啊。至少我也要弄明白有些事为什么会发生,为什么会变成那样,而我错在什么地方。加之我的时间也不像过去那样紧张了,于是我开始慢慢整理过去。这期间,我明白了许多。 2005年11月,我还是参加了第十一届全国信息学奥林匹克联赛。不过参加这次比赛的目的并不是为了争取更好的成绩,我是想重温一下过去。在从日照回莱州的车上我开始写这篇文. 阅读全文

posted @ 2011-07-11 07:17 sysu_mjc 阅读(697) 评论(0) 推荐(1) 编辑

2011年7月10日

sicily 1179. Extrusion

摘要: #include<iostream> //计算多边形面积(利用向量叉乘)#include<stdio.h>#include<cmath>using namespace std;struct Point { double x, y;}p[10000];double polygon_area(int n){ double area=0; for(int i=0;i<n-1;++i) { area+=p[i].x*p[i+1].y-p[i].y*p[i+1].x; } area+=p[n-1].x*p[0].y-p[n-1].y*p[0].x; return 阅读全文

posted @ 2011-07-10 22:46 sysu_mjc 阅读(198) 评论(0) 推荐(0) 编辑

转载:算法导论系列--计算几何(computational geometry)

摘要: 转自:http://blog.csdn.net/daly888/article/details/1486085,略作补充计算几何中的对象可以是点集,线段集,面集等。如果一条线段的端点是有次序之分的,我们把这种线段成为有向线段 (directed segment) 。如果有向线段 p1p2 的起点 p1 在坐标原点,我们可以把它称为向量/矢量 (vector)p2 。矢量运算: 在计算几何问题中,经常要用到矢量的运算。设二维矢量 P = ( x1, y1 ) , Q = ( x2 , y2 ) ,则矢量加法定义为: P + Q = ( x1 + x2 , y1 + y2 ) ,同样的,矢量减法定 阅读全文

posted @ 2011-07-10 21:44 sysu_mjc 阅读(592) 评论(0) 推荐(1) 编辑

sicily 1716. Houses

摘要: 1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int main() 6 { 7 int num[25],n,m,a,b; 8 while(cin>>n>>m&&n) 9 {10 memset(num,0,sizeof(num));11 while(m--)12 {13 cin>>a>>b;14 num[a]++;num[b]++;15 }16 cout<< 阅读全文

posted @ 2011-07-10 21:19 sysu_mjc 阅读(174) 评论(0) 推荐(0) 编辑

sicily 1114. Food Cubes

摘要: //与poj 2882 Food Cubes相同,不过,poj上的时间限制为2s,cube,vis数组要声明为bool类型才不会TLE//一立方体,给出某些填充的三维点,求有多少孔穴 //要注意孔的定义:A hole is a continuous empty space surrounded by food cubes in all six directions.//如果某区域与边界相临,那么它不能算做是孔.宽搜遍历时会忽略掉这种特殊情况,得到的孔数目比答案要多//方法是扩大边界, 题意:all between 1 and 100 inclusive,所以可以扩大到 0-101。最后得到的孔 阅读全文

posted @ 2011-07-10 19:31 sysu_mjc 阅读(408) 评论(0) 推荐(0) 编辑

sicily 1321. Robot

摘要: // 题意:给出一个矩阵表示经过每一点时耗费的油量,可以向上下左右四个方向移动,// 问从起点(x1,y1)到终点(x2,y2)所耗费的最小油量#include <iostream> // 邻接矩阵实现Dijkstra算法#include <stdio.h>#include <cstring> using namespace std; const int MAXN=10000;const int INF=100000; int m,n,cost[MAXN],distD[MAXN],vis[M... 阅读全文

posted @ 2011-07-10 17:29 sysu_mjc 阅读(296) 评论(0) 推荐(0) 编辑

sicily 1039. Phone Home

摘要: // 题意: 求图的色数,即使各相邻顶点的颜色不相同所需的最小色数.// 根据四色定理,色数最大为4.因此数据量小,可以直接枚举+DFS#include<iostream> // 枚举+ DFS#include<stdio.h>#include<cmath>#include<cstring>using namespace std;struct node{ double x,y;}point[12];int n,cnt[12][12],color[12],num,suc; // n 保证不大于 12double dist2(int i,int j) 阅读全文

posted @ 2011-07-10 13:09 sysu_mjc 阅读(236) 评论(0) 推荐(0) 编辑

sicily 1765. 笨小猴

摘要: #include<iostream>#include<stdio.h>#include<cstring>using namespace std;bool prime(int n){ if(n<2) return false; for(int i=2;i*i<=n;++i) if(n%i==0) return false; return true;}int main(){ int fre[26]; char ch[100]; while(scanf("%s",ch)!=EOF) { memset(fre,0,sizeof(fre 阅读全文

posted @ 2011-07-10 11:34 sysu_mjc 阅读(148) 评论(0) 推荐(0) 编辑

sicily 1046. Plane Spotting

摘要: /*题意:给出一个长度为N的非负整数序列(所有数不超过200),还有两个整数M和K,求前M个最优的长度不小于K的连续子序列。连续子序列的优先级如何比较平均值大的序列优于平均值小的长度大的序列优于长度小的结束位置靠前的序列优于结束位置靠后的*/#include<iostream>#include<stdio.h>#include<cmath>#include<algorithm>using namespace std;int n,m,k,arr[310];struct node{ double ave; int len; int st,ed; bo 阅读全文

posted @ 2011-07-10 00:48 sysu_mjc 阅读(481) 评论(0) 推荐(0) 编辑

上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 57 下一页

导航