随笔分类 -  搜索

摘要:1415: [Noi2005]聪聪和可可 Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号。 接下来E行,每行两个整数,第i+2行的两个整数A 阅读全文
posted @ 2017-04-22 08:51 konjak魔芋 阅读(179) 评论(0) 推荐(0)
摘要:3106: [cqoi2013]棋盘游戏 Description 一个n*n(n>=2)棋盘上有黑白棋子各一枚。游戏者A和B轮流移动棋子,A先走。 l A的移动规则:只能移动白棋子。可以往上下左右四个方向之一移动一格。 l B的移动规则:只能移动黑棋子。可以往上下左右四个方向之一移动一格或者两格。 阅读全文
posted @ 2017-04-11 20:13 konjak魔芋 阅读(304) 评论(0) 推荐(0)
摘要:【题意】 有n个数字的全排列,每次可以剪切一段粘贴到某个位置。问最后变成升序最少多少步。 如“{2,4,1,5,3,6}要2步 {3,4,5,1,2}只要一步 【分析】 迭代深搜真的AC了也觉得慌= = 【其实看到这题不应该想到宽搜么??? 全排列只有9!=362880个 这题的IDA*的估价函数特 阅读全文
posted @ 2016-11-15 09:09 konjak魔芋 阅读(424) 评论(0) 推荐(0)
摘要:其实,随便搜了一搜就可以AC了!!! - - 亏我纠结了这么久= = 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream> 5 #include<algorithm> 6 #include<qu 阅读全文
posted @ 2016-11-14 21:51 konjak魔芋 阅读(649) 评论(0) 推荐(1)
摘要:题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下: 行号 1 2 3 4 5 6 列号 阅读全文
posted @ 2016-11-14 20:47 konjak魔芋 阅读(427) 评论(0) 推荐(0)
摘要:IDA* 就是iterative deepening(迭代深搜)+A*(启发式搜索) 启发式搜索就是设计估价函数进行的搜索(可以减很多枝哦~) 这题。。。 理论上可以回溯,但是解答树非常恐怖,深度没有明显上界,加数的选择理论上也是无限的。 我们可以从小到大枚举深度maxd, 设计估价函数,当扩展到第 阅读全文
posted @ 2016-11-14 20:12 konjak魔芋 阅读(438) 评论(0) 推荐(0)
摘要:还没学会,先转了再说。。 出处:http://grenet.cnblogs.com/ 跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题 精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1 例如:如下的矩阵 就包含了这样一个 阅读全文
posted @ 2016-11-14 16:57 konjak魔芋 阅读(521) 评论(0) 推荐(0)