随笔分类 -  搜索---BFS

摘要:Codeforces Round 516 (Div. 2, by Moscow Team Olympiad) + Solved : 3 out of 6 + Rank : 1347 + A. Make a triangle! + 难度: 普及? + 数学题。。。若刚好能凑成三角形就输出0,否则,设a 阅读全文
posted @ 2018-10-21 21:13 dprswdr 阅读(185) 评论(0) 推荐(0)
摘要:CODEVS1411 武士风度的牛 === "传送门" 思路: 由于本题是求 最少步数 ,相当于在一张 边权为1 (即步数增加1)的图上跑最短路,可以用普通BFS求解:每个状态只 访问(入队)一次 ,所以时间复杂度为$O(n)$,每个状态 第一次入队 时即得到该状态的最优解。 AC Code: in 阅读全文
posted @ 2018-09-09 13:29 dprswdr 阅读(326) 评论(0) 推荐(0)
摘要:传送门 思路:我们用一个n位二进制数表示当前疾病的状态:0表示已经治愈,1表示未治愈。通过BFS遍历所有状态,对于每个状态x,我们枚举所有解药,若当前解药i能够治愈第j种疾病,就将x的第j位赋值为0;若当前解药i能够使人得第j种疾病,就将x的第j位赋值为1。注意,别忘了对状态判重!若第一次所有疾病都 阅读全文
posted @ 2018-08-05 13:45 dprswdr 阅读(251) 评论(0) 推荐(0)
摘要:传送门 思路: STL大法好(然而不能过度依赖STL)。。此题可通过对A串每一位字符,枚举所有变换方案,最终得到答案。然而这样的复杂度是520 ,显然不能接受。 我们可通过multimap存储变换方案,通过find函数寻找当前字串在A串中的位置,通过replace函数进行字串变换,通过map进行字符 阅读全文
posted @ 2018-04-10 23:12 dprswdr 阅读(159) 评论(0) 推荐(0)
摘要:problem 2 agar(agar.cpp)题目描述Skyfall 最近迷上了一个叫做 agar 的游戏。在这个游戏中,地图由 N*M 的点阵构成,每个 cell占有一个点。体积大的 cell 可以吃掉体积小的 cell,吃掉之后,较大的 cell 的大小会增加被吃掉的 cell 的大小。比如: 阅读全文
posted @ 2018-04-10 22:01 dprswdr 阅读(173) 评论(0) 推荐(0)