随笔分类 -  搜索进阶

摘要:201809 4 "再卖菜" 我使用的是爆搜解决,只得了60分。 "记忆化搜索" "差分约束" include include include include include using namespace std; int n; int a[303]; int b[303]; bool flag= 阅读全文
posted @ 2019-08-29 11:50 Garrett_Wale 阅读(226) 评论(0) 推荐(0) 编辑
摘要:201803 4 "棋局评估" 这题主要使用对抗搜索,也就是每一步寻找可以下棋的位置,通过在这一步下棋看最后会取的什么样的分数。 include include include include include using namespace std; const int INF=0x3f3f3f3f 阅读全文
posted @ 2019-08-29 10:42 Garrett_Wale 阅读(247) 评论(0) 推荐(0) 编辑
摘要:permutation 1 "HDOJ 6628" 这题使用的暴力深搜,在dfs里面直接从最小的差异开始枚举 注意这里的pre记录前一个数,并且最后答案需要减去排列中最小的数再加一 这里有一个技巧关于求第k小的问题,就是在dfs里面只要找到满足的长度为n的排列,k就减一,这样当k为0时的排列就是字典 阅读全文
posted @ 2019-08-08 17:37 Garrett_Wale 阅读(175) 评论(0) 推荐(0) 编辑
摘要:DNA sequence "HDOJ 1560" 本题是迭代加深搜索问题,主要是要理解题目,题目中一定是有解的,所以为了找最小的解,可以从小的搜索深度开始逐渐增加。 这里有个技巧就是,如果本次指定开始迭代搜索的深度之后没有找到解,那么需要用一个临时数组将每个字符串中已经匹配好的字符数存起来。 inc 阅读全文
posted @ 2019-08-05 21:15 Garrett_Wale 阅读(129) 评论(0) 推荐(0) 编辑
摘要:bfs搜索加记录路径 HDOJ-1043 主要思路就是使用双向广度优先搜索,找最短路径。然后记录路径,找到结果是打印出来。 使用康拓序列来来实现状态的映射。 打印路径推荐使用vector最后需要使用algorithm里的reverse进行路径的翻转。 注意本题有多组输入,这里的输入需要注意一下。 如 阅读全文
posted @ 2019-08-03 09:53 Garrett_Wale 阅读(122) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示