摘要: 1. 内存的分配方式内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的 整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函 数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集 中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意 多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存 期由我们决定,使用非常灵活,但... 阅读全文
posted @ 2014-01-22 14:57 sky0917 阅读(167) 评论(0) 推荐(0)
摘要: 。。。 阅读全文
posted @ 2014-01-22 14:56 sky0917 阅读(89) 评论(0) 推荐(0)
摘要: A.Coder题意:给出一个n*n的grid 现在要在上面尽量多的放棋子,问最多能放多少个,满足不存在任意两个棋子相邻。分析:n是奇数:能放n*n/2 n是偶数:能放(n*n+1)/2/***************************************** File Name: 225a.cpp* Author: sky0917* Created Time: 2014年01月20日 23:28:39****************************************/#include #include #include #include #include #in... 阅读全文
posted @ 2014-01-21 09:45 sky0917 阅读(387) 评论(0) 推荐(0)
摘要: --常用链表操作总结--(转)1.求单链表中结点的个数2. 将单链表反转3. 查找单链表中的倒数第K个结点(k > 0)4. 查找单链表的中间结点5. 从尾到头打印单链表6.已知两个单链表pHead1 和pHead2 各自有序,把它们合并成一个链表依然有序7. 判断一个单链表中是否有环8. 判断两个单链表是否相交9. 求两个单链表相交的第一个节点10. 已知一个单链表中存在环,求进入环中的第一个节点11. 给出一单链表头指针pHead和一节点指针pToBeDeleted,O(1)时间复杂度删除节点pToBeDeleted 1 /****************************** 阅读全文
posted @ 2014-01-20 21:18 sky0917 阅读(874) 评论(0) 推荐(0)
摘要: A.Ksenia and Pan Scales题意:给出一个字符串,中间用|分割开,再给一个字符串,字符串中的数字要选一下放到左边,剩下的全放右边,使得最后两边字符串等长。分析:直接模拟。/***************************************** File Name: 224a.cpp* Author: sky0917* Created Time: 2014年01月17日 23:28:18****************************************/#include #include #include #include #include #incl 阅读全文
posted @ 2014-01-18 16:08 sky0917 阅读(364) 评论(0) 推荐(0)
摘要: A.Sereja and Dima题意:两个人从序列两端取大的一个值,轮流取,问最后各自的和。分析:直接模拟。/***************************************** File Name: 223a.cpp* Author: sky0917* Created Time: 2014年01月12日 22:59:43****************************************/#include #include #include #include #include #include using namespace std;const int maxn 阅读全文
posted @ 2014-01-13 10:46 sky0917 阅读(385) 评论(0) 推荐(0)
摘要: A.Playing with Dice题意:每个人选一个1到6之间的数,掷骰子一次,接近谁谁就赢,问第一个人赢和平手和第二个人赢的情况数。分析:直接模拟。/***************************************** File Name: 222a.cpp* Author: sky0917* Created Time: 2014年01月10日 8:37:05****************************************/#include #include #include #include #include #include using namespa. 阅读全文
posted @ 2014-01-12 22:54 sky0917 阅读(224) 评论(0) 推荐(0)
摘要: 一. 二叉平衡树问题引入: 用计算机随机生成了N个0到1000000000(包含0和1000000000)之间的随机整数(N≤5000000),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再把这些数从小到大排序。 请你完成“去重”与“排序”的工作思路:我们可以维护一个二叉平衡树,来依次插入这些数,最后中序遍历输出即可。/***************************************** File Name: 1287.cpp* Author: sky0917* Created Time: 2014年01月10日 20:16:49****************... 阅读全文
posted @ 2014-01-10 22:31 sky0917 阅读(141) 评论(0) 推荐(0)
摘要: A.Lever题意:给出下面这种字符串,^是杠杆的支点,问杠杆是否平衡。 9===^==1分析:直接做。#include #include #include using namespace std;char s[1000005];int main(){ long long i, j, k; long long l, r; while (scanf("%s",s)!=EOF){ long long g = 0; l = r = 0; for (i=0; s[i]; i++){ if (s[i] == '^'... 阅读全文
posted @ 2013-12-25 15:26 sky0917 阅读(187) 评论(0) 推荐(0)
摘要: A.Inna and Pink Pony题意:给出如下参数, n, m, i, j, a, b(1 ≤ n, m ≤ 106;1 ≤ i ≤ n;1 ≤ j ≤ m;1 ≤ a, b ≤ 106). 其中n,m表示有一个n*m的grid,起点在(i, j),问从起点移动到四个拐角(1, m),(n, 1),(n, m),(1, 1)之一,最少 的步数是多少,如果在位置(x,y) 那么可以移动到(x - a, y - b)(x + a, y - b)(x - a, y + b)(x + a, y + b) 四个 位置之一。分析:四种情况(走到一个角)处理的方式相同,首先... 阅读全文
posted @ 2013-12-23 23:20 sky0917 阅读(358) 评论(0) 推荐(0)