摘要: "题目链接" 题意 在一个两层迷宫内,骑士从起点是否能在给定步数之内找到公主,' '代表传送门,会传送到另一个平面该位置去,' '代表墙,'P'代表公主 解题思路 水题,用bfs模拟即可,就是有个坑 传送门被传到的位置不能是墙(由题意)和传送门(会造成无限传送) AC代码 c++ include i 阅读全文
posted @ 2018-10-18 16:21 django_lf 阅读(124) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 给定N个DNA字符串,找到最短的字符串使N个字符串都是它的子序列(不连续) 解题思路 又是典型的IDA 迭代加深搜索思路,用一个数组保存每次搜索到对于N个字符串的下标,当每个下标都到了字符串的结尾的时候即说明解出了答案。 为防止超时,当此时深度+至少还要加深的深度 限制值时就返回 阅读全文
posted @ 2018-10-16 17:01 django_lf 阅读(212) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 f[0] = 1,f[1] = 2 f[k] = f[i] + f[j] (0 include include include include include include include include include include using namespace std; 阅读全文
posted @ 2018-10-16 12:35 django_lf 阅读(127) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 八数码问题,不过目标状态不定,保证有解 解题思路 和上一题类似,先算一下目标状态在跑IDA 即可,剪枝条件与上一题相同 "参考" AC代码 c++ include include include include include include include include in 阅读全文
posted @ 2018-10-14 15:52 django_lf 阅读(195) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 经典的八数码的题目,还要判断是否有解,wiki "链接" 解题思路 用IDA 算法来解决,先算出当前状态和目标状态的哈曼顿距离,当距离为0时即解出答案。 有两个可以剪枝的条件: 下一个方向和当前的方向不能相反 当前的步数加上当前的哈曼顿距离不能大于初始状态的哈曼顿距离 关于8数码 阅读全文
posted @ 2018-10-14 15:51 django_lf 阅读(395) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 解出N个9x9的数独,(输出一个解即可) 解题思路 用一个二维布尔数组来标记,点(x,y)的行,列,块的数字是否已经出现过,然后直接暴力搜索即可 AC代码 c++ include include include include include include include in 阅读全文
posted @ 2018-10-09 22:58 django_lf 阅读(251) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 A要从(0,0)到(m,n),A有体力值D,每秒都会消耗体力值1,有K座炮塔,每座炮塔都会发射子弹,给出炮塔射击的方向,并且具有一个射击周期,和子弹的速度。 当且仅当子弹在整数坐标(时间以1秒为最小单位)是才能击中A 炮塔会挡住子弹 人可以站着不动 当终点有炮塔的时候不能到达 求 阅读全文
posted @ 2018-10-09 20:48 django_lf 阅读(133) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题意 N个城市M条路径,给定起点A,终点B,求有几条从A到B的最短路(其中每经过的路径不能重复) 解题思路 先用最短路求出A到B的最短路Min,也求出A到每个城市的距离dis[N],然后反向求B到A的最短路,得到B到每个城市的最短距离dis2[N],然后遍历每条路径edge,如果dis 阅读全文
posted @ 2018-10-04 11:47 django_lf 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意 T组样例,N个地点,每个地点有个繁忙度,地点间有M条街道,每条街道要收过路费(目的地繁忙度 起点繁忙度)^3 (3次方),有Q个查询,包含Q个目的地,求从起点1到每个目的地的最小花费。如果花费小于3或者无法到达目的地,则输出"?" 解题思路 由于目的地繁忙度不一定大于起点繁忙度,所以图中有负环 阅读全文
posted @ 2018-10-03 11:34 django_lf 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题意 额,直接看题目吧,反正也是中文题,不好用几句话表述清楚~~~ "题目链接" 解题思路 因为等级差距不能间接交易,所以每个交易的等级都在一个区间内,这个区间必须包含大祭司的等级,可以把区间枚举,设大祭司等级为L,则需要从[L M,L],一直枚举到[L,L+M],保证所有交易的点的等级都在这个区间 阅读全文
posted @ 2018-10-02 11:50 django_lf 阅读(104) 评论(0) 推荐(0) 编辑