上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 走迷宫拿宝藏,拿到所有对应的钥匙才能开门 *解法:从起点bfs,遇到门时先放入队列中,取出的时候看钥匙够不够决定开不开门,如果不够就把它再放回队列继续往下走,当队列里只有几个门循环的时候就可以退出,所以记一个T<400 #include <iostream> #include <cstdio> #i 阅读全文
posted @ 2018-02-03 18:27 舒羽倾 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 给一个矩形棋盘,每次走日字,问能否不重复的走完棋盘的每个点,并将路径按字典序输出 *解法:按字典序输出路径,因此方向向量的数组按字典序写顺序,dfs+回溯,注意flag退出递归的判断,并且用pre记录路径 #include <iostream> #include <cstdio> #include 阅读全文
posted @ 2018-02-03 18:25 舒羽倾 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 棋盘上#可以放,.不可以放,每行每列只能放一个 *解法:类似八皇后问题 dfs+回溯,考虑每一行和每一列 【【【【dfs的样子】】】】最前面写达到目标状态or不能走下去了 然后return #include <iostream> #include <cstdio> using namespace s 阅读全文
posted @ 2018-02-02 21:41 舒羽倾 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 从任意一点可以往上下左右比它小的数那里走,问最远长度是多少 *解法:每一点dfs搜索一遍 记忆化搜索:http://blog.csdn.net/acmer_sly/article/details/53440798 递归:求解的方法都是相同的(距离是周围的点最大值加一),假设已知周围点的距离则dd[i 阅读全文
posted @ 2018-02-02 21:34 舒羽倾 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 给n个数,依次按顺序插入,第二行m个数,a[i]=b表示在第b次插入后输出第i小的数 *解法:写两个优先队列,q1里由大到小排,q2由小到大排,保持q2中有i-1个元素,那么第i小的元素就是q2的top 而且注意到每次输出第i小的数i都是递增的 #include <iostream> #includ 阅读全文
posted @ 2018-02-02 15:30 舒羽倾 阅读(103) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-02-02 15:23 舒羽倾 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 给一字符串,每次操作把字符串中的两种字母交换,问最后交换完的字符串是多少 arr数组记录每个字母最后被替换成了哪个字母 读入字符前面加一空格 scanf(" %c %c", &a, &b); #include <iostream> #include <cstdio> using namespace 阅读全文
posted @ 2018-02-02 15:09 舒羽倾 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 给出N*M矩阵,对于该矩阵有两种操作: 1.交换两列,对于整个矩阵只能操作一次 2.每行交换两个数。 交换后是否可以使每行都递增。 *解法:N与M均为20,直接枚举所有可能的交换结果,进行判断 每次枚举注意列和行都可以选择不交换 #include <iostream> #include <cstdi 阅读全文
posted @ 2018-02-02 14:58 舒羽倾 阅读(144) 评论(0) 推荐(0) 编辑
摘要: N堆石头排成一列,每堆有Ai个石子。有M个学生来将所有石头搬走。一开始所有学生都在原点, 每秒钟每个学生都可以在原地搬走一块石头,或者向前移动一格距离,求搬走所有石头的最短时间。 *解法:二分答案x(时间),即每位学生均有x秒的时间,模拟搬石头过程看能否搬完即可(一个人一个人计算,每个人均尽力完成任 阅读全文
posted @ 2018-02-02 13:44 舒羽倾 阅读(112) 评论(0) 推荐(0) 编辑
摘要: L距离中有n块石头,位置在d[i], 移走m块,使从起点0跳到终点l时,每次跳跃的最小距离最大,求这个最小距离 *解法:想到二分(想不到),对要求的结果进行二分,于是对最小距离二分== #include <iostream> #include <cstdio> using namespace std 阅读全文
posted @ 2018-02-02 13:41 舒羽倾 阅读(118) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页