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 · 624 阅读 · 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 · 676 阅读 · 0 评论 -
pku2528----区间染色成段更新
// Creat By 郭仔 2012年3月29日10:16:59区间染色的变形,不过比区间染色问题要难一些~用到区间染色成段更新,hash,离散化,蛋疼的提题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2原创 2015-03-29 10:20:32 · 1409 阅读 · 0 评论 -
pku3468----成段更新区间求和
小心越界每次在修改节点的sum值时,如果每次都下放到叶子节点,那么复杂度会变成nlogn,还不如直接暴力(树状数组还sqrt(n)呢,虽然我不会),而且对于某些修改一大段值的问题,用线段树动态维护的时候,如果找到了要修改的大区间,可以直接在这个大区间上标记,然后改掉sum值,等下次修改或者查询时再修改或者查询它的标记值,这样就可以做到每次查询或修改都为logn,大大节省了时间。#inclu原创 2015-03-27 18:11:25 · 710 阅读 · 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 · 1140 阅读 · 0 评论 -
三出口函数:解决计算几何中的精度问题
一个三出口函数很地解决精度的问题。int dblcmp(double d){ if(fabs(s) return 0; return (d>0)?1:-1;//对于给定的精度的左右偏离方向。。}原创 2015-03-25 19:10:48 · 508 阅读 · 0 评论 -
计算几何算法概览
计算几何算法概览超全的计算几何的算法啊。。。。真是老牛啊。。。。http://dev.gameres.com/Program/Abstract/Geometry.htmhttp://dev.gameres.com/Program/Abstract/Geometry.htmhttp://dev.gameres.com/Program/Abstract/Geometry.htm原创 2015-03-25 19:07:20 · 563 阅读 · 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 · 570 阅读 · 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 · 677 阅读 · 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 · 772 阅读 · 0 评论 -
poj1654叉积求多边形面积
叉积求多边形面积题意:以二维坐标的原点为起点,每次只走一步,每步只走根号2的长度或1的长度,且每步走的方向八个:上/下/左/右/左上/左下/右上/右下,而且每个方向用一个数字代替,1 2 3 4 6 7 8 9,5代表终止,即最后一步回到了原点,构成了多边形。现在给定一个以数字组成的字符串,字符串的每一个数字字符代表了走的方向,问走的路线构成的多边形的面积是多少?算原创 2015-03-25 19:19:00 · 797 阅读 · 0 评论 -
poj1654叉积求多边形面积
叉积求多边形面积#includeint 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 · 534 阅读 · 0 评论 -
hdu1392标准求凸包模板
标准求凸包模板#include#include#include#includeusing namespace std;#define N 103#define EPS 1e-8struct point{double x;double y;}p[N];point cur;int s[N];int top;int dblcmp(doubl原创 2015-03-25 19:09:26 · 529 阅读 · 0 评论 -
Xcode中实现函数指针调用和结构体排序
① 创建一个Teacher数组,利用上面的sortTeachers(Teacher teacher[ ] ,int count,CompareFunctionPointer cfp)函数,调用函数(使用switch…case,通过控制台输入的数字与枚举值匹配实现调用不同的函数)来分别实现按姓名、员工编号、评分排序,其中每种排序的升、降方式都要实现。比如:分别实现对年龄按照升序、降序排列。②原创 2015-03-25 17:35:13 · 2603 阅读 · 0 评论 -
C++继承中构造函数和析构函数的调用顺序
C++继承中父类构造函数和析构函数的调用顺序原创 2014-04-09 15:39:54 · 3805 阅读 · 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 · 725 阅读 · 4 评论 -
判断两线段相交的模板
判断两线段相交的模板蛋疼死了,编了半天还是WA,。# include# includestruct 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 · 549 阅读 · 0 评论