计蒜客
埋没。
这个作者很懒,什么都没留下…
展开
-
计蒜客 逃生
样例输入4 4 3 2 5 101 2 3 4-1 -2 -3 -44 0 2 1-4 -3 -2 -1样例输出10思路最开始是想的直接bfs暴力扩展,用优先队列存储节点,保证返回的一定是生命值最大的,并且在扩展时人为保证扩展方向,但是有几组数据没过,不知道哪里的方向没写对还是有一些小细节没注意到。后面直接用动态规划去做,本来这道题就是动态规划问题,有三个原则:1....原创 2020-04-15 17:45:09 · 217 阅读 · 0 评论 -
计蒜客 密码锁
样例输入12342144样例输出2思路运用bfs对每种序列进行遍历,每次遍历一个序列时,都把它可能拥有的所有状态都进行选择,运用map进行标记操作。AC代码#include<iostream>#include<cstdio>#include<queue>#include<map>using namespace std...原创 2020-04-13 15:09:23 · 442 阅读 · 1 评论 -
计蒜客 蒜头君回家
样例输入8 10P.####.#P#…#…#…#…#T##.#.#……##.#####…#####…#####…S##样例输出21思路用两次bfs,第一次计算出起点到P的距离,第二次计算出T到P的距离,然后循环取最小值。但是WA了很多次,找了很久,发现是vis判断的问题,导致一个数据更新多次。AC代码#include<iostream>#in...原创 2020-04-13 14:30:17 · 185 阅读 · 0 评论 -
计蒜客 一维跳棋
思路普通bfs思路,建立一个Node,里面包含空格位置,当前序列,和前置序列。这道题主要点是map<string,bool>这个,这里的map不是用string的地址做映射,而是用string的值做映射的(开始我还以为静态字符串和动态生成的字符串在对map做映射时会有区别,惭愧惭愧)。但是如果用普通的map会导致超时,是因为map内部时刻有序红黑树,所以建立起来非常简单,但是查...原创 2020-04-12 23:32:11 · 443 阅读 · 0 评论 -
计蒜客 因数最多的数
样例输入3101001000样例输出660840最重要的一个公式:例如数字6可以分解为21 * 31,所以按照公式,它的因数个数为4(1,2,3,6)。由于任何合数都可以被分解为质数之积的形式,所以我们可以只选用质数进行求解。这里选用16个质数(15个质数的积就已经超过1016了)。对于剪枝,由于求得是最小的那个,所以我们设定一个m,对于每一个质数的次数都不会...原创 2020-04-12 14:33:25 · 359 阅读 · 1 评论