摘要:首先呢,讲讲数组 数组就是一连串的地址对不对?所以它们的地址是紧挨着的 1 | 2 | 3 | 4 | 2 | 0 1 2 3 4 那我们把一个数组的首地址赋给一个指针变量 我们输输*p,很容易就能发现它是数组的0号下表 那如果要利用p去输输a[1]怎么输呢? 运行结果是2,说明指针类型可以被强转成 阅读全文
posted @ 2016-07-11 22:04 阿波罗2003 阅读 (42) 评论 (0) 编辑
摘要:指针算是一种特殊的变量,它存储的是一个内存地址,你既可以通过它来给制定内存地址赋值 (可能会被操作系统收回或者与其它程序冲突),又可以提高运行速度 First Step: 声明一个指针变量 貌似只用在变量后面加一个*就行了 那这又有什么区别: 虽然这样没有什么区别, 但是,这样的话,编译器看起来就不 阅读全文
posted @ 2016-07-11 21:42 阿波罗2003 阅读 (44) 评论 (0) 编辑
摘要:背景 Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们. 描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使 阅读全文
posted @ 2016-07-11 21:14 阿波罗2003 阅读 (172) 评论 (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 阅读 (138) 评论 (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 阅读 (69) 评论 (0) 编辑