摘要:描述 在古埃及,人们使用单位分数的和(形如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 阅读 (511) 评论 (0) 编辑
摘要:深度优先搜索不可以解决深度未知的题,例如埃及分数(vijos 1308) 如果用广度优先搜索的话,每一层的节点数都可以是无穷个,怎么找? 这样通常就会用迭代加深来处理 迭代加深相当于是广搜和深搜的结合,它是限定下界的深搜,首先搜索 第K层,若无目标解,则搜索第(K+1)层,直到找到目标解为止 [特点 阅读全文
posted @ 2016-07-10 17:29 阿波罗2003 阅读 (49) 评论 (0) 编辑
摘要:深度优先搜索(dfs)是利用递归完成的以搜索深度优先的搜索 通常大概是这样的: 特点: 1.内存消耗小(不像广搜需要保存节点数) 2.题目的数据范围较小(例如noip普及组某年的一道题“子矩阵”) 3.耗时较长(函数的调用和返回会耗时,盲目地去枚举所有情况) 4.无法处理深度不能确定的题(例如vij 阅读全文
posted @ 2016-07-10 11:25 阿波罗2003 阅读 (59) 评论 (0) 编辑
摘要:今天又复习了一下高精度(高精度减、加、乘) 仍然用结构体来存储 数据结构: typedef struct HP{ int w[10001] //储存数据,0下标储存有多少位 }HP; 注意:高精度为了进位需要反着存储 例如:原数 a 123 -int 高精度数 b 3 |2|1 –int[] 先将最 阅读全文
posted @ 2016-07-10 11:02 阿波罗2003 阅读 (464) 评论 (1) 编辑