心得随记
心雨臧
前阿里巴巴工程师
展开
-
各种整数型的精度
unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295 long 2147483648~2147483647 long long的最大值:9223372036854775807 long long的最小值:-9223372036854775808 unsigne转载 2015-03-04 09:45:01 · 745 阅读 · 0 评论 -
float double 精度问题
延伸一下: float和double的范围和精度。 1. 范围 float和double的范围是由指数的位数来决定的。 float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符号位) 11bits(指数位) 52bits(尾数转载 2015-03-04 09:44:05 · 339 阅读 · 0 评论 -
二月五号六号 集训第五第六天 线段树
一.一般模板 #include #include struct seg{ int left; int right; int val; int calmid(){ return (left+right)/2; } }tt[50000000]; void build(int left,int right,int idx){ tt[idx].left = left原创 2015-02-06 20:12:56 · 746 阅读 · 0 评论 -
2月三号 集训第三天
主题:背包 背包是利用动态规划 主要形式: 1.一维形式 int v[100],n,w[100],dp[100]; memset(dp,0,sizeof(dp)); for(int i = 1; i for(int j = m; j >= w[i]; j--){ dp[j] = max(dp[j],dp[j - w[i]]+v[i]); }原创 2015-02-03 20:50:54 · 803 阅读 · 0 评论 -
各种数据结构
1。vector (连续的空间存储,可以使用[]操作符)快速的访问随机的元素,快速的在末尾插入元素,但是在序列中间岁间的插入,删除元素要慢,而且如果一开始分配的空间不够的话,有一个重新分配更大空间,然后拷贝的性能开销. 2。deque (小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[],只是速度没有vector快)快速的访问随机的元素,快速的在转载 2015-02-02 21:00:31 · 350 阅读 · 0 评论 -
2014 集训第二天
今天的收获: 一.c++的大致写法 1.头文件:#include #include #include 2. C++中可以在for循环里面直接加int i; 3. swap函数,max函数; 比较两个数之差的中的最大值 int ans = a[1] - a[0]; int原创 2015-02-02 20:20:43 · 297 阅读 · 0 评论 -
2月1号 集训第一天
三大排序 一.快排实现 sort(bigin,end) 复杂度 n*logn 每一层n复杂度,logn层 #include #include #include using namespace std; void Sort(int *a,int l,int m) { int k = 0; int len = m - l; if(len srand(time(NU原创 2015-02-02 22:55:23 · 319 阅读 · 0 评论 -
2月4号 集训第四天
一.结构体排序 对char 和int 类型的排序 #include namespace using std; typedef struct { char a[10]; b }c; int compart(void *e, void *d){ return strcmp(((c*)e)->a,((c*)d)->b); } int main(){ c原创 2015-02-04 20:25:23 · 517 阅读 · 0 评论