摘要: 题目链接:http://acm.xidian.edu.cn/problem.php?id=1313 bfs用队列模拟操作,剪枝最重要的就是标记,若该数已经在之前的层中到达,则没必要在新的层中做继续操作,并且可以用这个标记来记录层数;(这是一个技巧,可以记住以后用,我也是学的别人的) 用一个数组,A[ 阅读全文
posted @ 2018-05-28 16:52 Dicer 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.xidian.edu.cn/problem.php?id=1312 可以用队列模拟,但D题再说吧,这个只有两种操作,-1和*2; 若n > m,一直做-1; 若n = 0,而m != 0,则不可能达到 若n < m,可以从m出发,尽可能做 / 2,若不行,则做 + 1 阅读全文
posted @ 2018-05-28 16:45 Dicer 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.xidian.edu.cn/problem.php?id=1311 先在vector直接储存值的初始位置,用vector来操作数的删除(注意每次删完后面的数都会自己定上来);关于剪枝,本题接近二分操作,复杂度很小,但注意,可以手动直接操作第一次,直接减去偶数位置的数, 阅读全文
posted @ 2018-05-28 16:37 Dicer 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.xidian.edu.cn/problem.php?id=1310 用栈模拟整个过程,我在开始的时候先往栈中压入了一个‘m’,用来和第一个压入的y或Y判断,方便代码与后面相同,也方便栈空是的操作(原因是不怎么熟悉stack,瞎J8想 了一个操作),模拟他的全过程就好, 阅读全文
posted @ 2018-05-28 16:26 Dicer 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目链接 :http://acm.xidian.edu.cn/problem.php?cid=1041&pid=4 dfs题目,关键在于剪枝,题目要求两相邻数之和为素数,已知奇数加奇数,偶数加偶数一定非素数,若n为奇数,围成环后定会有两个相邻数为奇数,所以n为奇数可直接减掉; 在dfs内,可对上一个 阅读全文
posted @ 2018-05-28 16:12 Dicer 阅读(142) 评论(0) 推荐(0) 编辑