
C/C++
文章平均质量分 57
guoxianzhuang
青青子衿,悠悠我心,但为君故,沉吟至今!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++语言中的表达式求值
裘宗燕:C/C++ 语言中的表达式求值 经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?” m = 1; n = m+++m++; 最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5: a = 4; cout C++ 不是规定 要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量转载 2012-11-28 10:59:41 · 662 阅读 · 0 评论 -
poj1094----拓扑排序
// Creat By 郭仔 2015年3月29日9:12:52 //画图演示一遍就能很好的理解了 /*题意:输入n, m,n表示26个大写字母组成的字母表中前n个字母,m表示将输入m对字母的大小关系式, (ch1 (1)如果出现ch1 ch2则表示这n个字母是inconsistency。 (2)能确定有惟一这n个的字母的拓扑序。 */ //(3)不能根据输入的原创 2015-03-29 09:15:33 · 707 阅读 · 0 评论 -
pku2528----区间染色成段更新
// Creat By 郭仔 2012年3月29日10:16:59 区间染色的变形,不过比区间染色问题要难一些~ 用到区间染色成段更新,hash,离散化,蛋疼的提 题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报 思路:这题数据范围很大,直接搞超时+超内存,需要离散化: 离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2原创 2015-03-29 10:20:32 · 1438 阅读 · 0 评论 -
pku3468----成段更新区间求和
小心越界 每次在修改节点的sum值时,如果每次都下放到叶子节点,那么复杂度会变成nlogn,还不如直接暴力(树状数组还sqrt(n)呢,虽然我不会),而且对于某些修改一大段值的问题,用线段树动态维护的时候,如果找到了要修改的大区间,可以直接在这个大区间上标记,然后改掉sum值,等下次修改或者查询时再修改或者查询它的标记值,这样就可以做到每次查询或修改都为logn,大大节省了时间。 #inclu原创 2015-03-27 18:11:25 · 742 阅读 · 0 评论 -
poj2484----简单博弈
// Creat By 郭仔 2015年3月29日9:08:33 #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-03-29 09:12:11 · 1165 阅读 · 0 评论 -
三出口函数:解决计算几何中的精度问题
一个三出口函数很地解决精度的问题。 int dblcmp(double d) { if(fabs(s) return 0; return (d>0)?1:-1;//对于给定的精度的左右偏离方向。。 }原创 2015-03-25 19:10:48 · 527 阅读 · 0 评论 -
计算几何算法概览
计算几何算法概览 超全的计算几何的算法啊。。。。真是老牛啊。。。。 http://dev.gameres.com/Program/Abstract/Geometry.htm http://dev.gameres.com/Program/Abstract/Geometry.htm http://dev.gameres.com/Program/Abstract/Geometry.htm原创 2015-03-25 19:07:20 · 600 阅读 · 0 评论 -
叉积模板
double det(double x1,double y1,double x2,double y2)//经常用的叉积模板 { return x1*y2-x2*y1; } double cross(point a,point b,point c)//经常用的叉积模板。。 { return det(a.x-c.x,a.y-c.y,b.x-c.x,b.y-c.y);原创 2015-03-25 19:13:13 · 593 阅读 · 0 评论 -
poj1269直线相交,平行,重合模板
直线相交,平行,重合模板。。 一、判断是否共线 相当于判断三点是否共线,叉积等0是即为共线。二、判断是否平行 设向量A=(a,b) 向量B=(c,d) 若向量A与B平行则a/c=b/d;三、求交点 这里也用到叉积的原理。假设交点为p0(x0,y0)。则有: (p1-p0)X(p2-p0)=0 (p3-p0)X(p2-p0)=0 展开后即是原创 2015-03-25 19:14:42 · 708 阅读 · 0 评论 -
计算几何:规范相交模板
规范相交模板 struct point { double x,y; }; double det(double x1,double y1,double x2,double y2) { return x1*y2-x2*y1; } double cross(point a,point b,point c) { return det(a.x-c.x,a.y-c.y,b.x-c.x,b原创 2015-03-25 19:01:18 · 796 阅读 · 0 评论 -
poj1654叉积求多边形面积
叉积求多边形面积 题意:以二维坐标的原点为起点,每次只走一步,每步只走根号2的长度或1的长度,且每步走的方向八个:上/下/左/右/左上/左下/右上/右下,而且每个方向用一个数字代替,1 2 3 4 6 7 8 9,5代表终止,即最后一步回到了原点,构成了多边形。现在给定一个以数字组成的字符串,字符串的每一个数字字符代表了走的方向,问走的路线构成的多边形的面积是多少? 算原创 2015-03-25 19:19:00 · 822 阅读 · 0 评论 -
poj1654叉积求多边形面积
叉积求多边形面积 #include int a[10][2]={{0,0},{-1,-1},{0,-1},{1,-1},{-1,0},{0,0},{1,0},{-1,1},{0,1},{1,1}};//方向向量,想起了广搜的方向向量。。。 int main(){ __int64 area; int i,n; char ch; int x1,y1,x2,y2;原创 2015-03-25 19:17:53 · 563 阅读 · 0 评论 -
hdu1392标准求凸包模板
标准求凸包模板 #include #include #include #include using namespace std; #define N 103 #define EPS 1e-8 struct point { double x; double y; }p[N]; point cur; int s[N]; int top; int dblcmp(doubl原创 2015-03-25 19:09:26 · 553 阅读 · 0 评论 -
Xcode中实现函数指针调用和结构体排序
① 创建一个Teacher数组,利用上面的sortTeachers(Teacher teacher[ ] ,int count,CompareFunctionPointer cfp)函数,调用函数(使用switch…case,通过控制台输入的数字与枚举值匹配实现调用不同的函数)来分别实现按姓名、员工编号、评分排序,其中每种排序的升、降方式都要实现。比如:分别实现对年龄按照升序、降序排列。②原创 2015-03-25 17:35:13 · 2645 阅读 · 0 评论 -
C++继承中构造函数和析构函数的调用顺序
C++继承中父类构造函数和析构函数的调用顺序原创 2014-04-09 15:39:54 · 3844 阅读 · 0 评论 -
有点不懂留个时间看看
#include main(){ int i = 10; printf("%d,%d,%d,%d\n",--i,--i,--i,--i); getchar(); } 结果是 6 6 6 6 让我很无语。。。呵呵,改天看看。。。 #include main(){ int i=10;原创 2012-11-27 22:22:59 · 745 阅读 · 4 评论 -
判断两线段相交的模板
判断两线段相交的模板 蛋疼死了,编了半天还是WA,。 # include # include struct Node{ double x,y; }point1[105],point2[105]; double Cross(Node p1,Node p2,Node p3) { return (p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.原创 2015-03-25 19:06:15 · 579 阅读 · 0 评论