共15页: 首页 上一页 7 8 9 10 11 12 13 14 15 
摘要: 首先呢,讲讲数组 数组就是一连串的地址对不对?所以它们的地址是紧挨着的 1 | 2 | 3 | 4 | 2 | 0 1 2 3 4 那我们把一个数组的首地址赋给一个指针变量 我们输输*p,很容易就能发现它是数组的0号下表 那如果要利用p去输输a[1]怎么输呢? 运行结果是2,说明指针类型可以被强转成阅读全文
posted @ 2016-07-11 22:04 阿波罗2003 阅读(32) 评论(0) 编辑
摘要: 指针算是一种特殊的变量,它存储的是一个内存地址,你既可以通过它来给制定内存地址赋值 (可能会被操作系统收回或者与其它程序冲突),又可以提高运行速度 First Step: 声明一个指针变量 貌似只用在变量后面加一个*就行了 那这又有什么区别: 虽然这样没有什么区别, 但是,这样的话,编译器看起来就不阅读全文
posted @ 2016-07-11 21:42 阿波罗2003 阅读(37) 评论(0) 编辑
摘要: 背景 Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们. 描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使阅读全文
posted @ 2016-07-11 21:14 阿波罗2003 阅读(144) 评论(0) 编辑
摘要: 快速幂基于分治,同底幂数的乘法:$a^{m}\times a^{n} = a^{m + n}$。所以我们可以得到$a^{n} = a^{\frac{n}{2}}\times a^{\frac{n}{2}}$,看起来好像没有错。不过不要忘了,我们的快速幂貌似不怎么支持一个数的小数次幂。 所以需要进行讨阅读全文
posted @ 2016-07-11 15:30 阿波罗2003 阅读(125) 评论(3) 编辑
摘要: 1.转圈游戏: 解析部分略,快速幂就可以过 Code: 1 #include<iostream> 2 #include<fstream> 3 using namespace std; 4 ifstream fin("circle.in"); 5 ofstream fout("circle.out")阅读全文
posted @ 2016-07-11 14:28 阿波罗2003 阅读(57) 评论(0) 编辑
摘要: 描述 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。对于一个分数a/b,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。 如:19/4阅读全文
posted @ 2016-07-10 17:45 阿波罗2003 阅读(447) 评论(0) 编辑
摘要: 深度优先搜索不可以解决深度未知的题,例如埃及分数(vijos 1308) 如果用广度优先搜索的话,每一层的节点数都可以是无穷个,怎么找? 这样通常就会用迭代加深来处理 迭代加深相当于是广搜和深搜的结合,它是限定下界的深搜,首先搜索 第K层,若无目标解,则搜索第(K+1)层,直到找到目标解为止 [特点阅读全文
posted @ 2016-07-10 17:29 阿波罗2003 阅读(39) 评论(0) 编辑
摘要: 深度优先搜索(dfs)是利用递归完成的以搜索深度优先的搜索 通常大概是这样的: 特点: 1.内存消耗小(不像广搜需要保存节点数) 2.题目的数据范围较小(例如noip普及组某年的一道题“子矩阵”) 3.耗时较长(函数的调用和返回会耗时,盲目地去枚举所有情况) 4.无法处理深度不能确定的题(例如vij阅读全文
posted @ 2016-07-10 11:25 阿波罗2003 阅读(49) 评论(0) 编辑
摘要: 今天又复习了一下高精度(高精度减、加、乘) 仍然用结构体来存储 数据结构: typedef struct HP{ int w[10001] //储存数据,0下标储存有多少位 }HP; 注意:高精度为了进位需要反着存储 例如:原数 a 123 -int 高精度数 b 3 |2|1 –int[] 先将最阅读全文
posted @ 2016-07-10 11:02 阿波罗2003 阅读(375) 评论(1) 编辑
共15页: 首页 上一页 7 8 9 10 11 12 13 14 15