题目:给你一个数字n0。将它的每一个位的数字按递增排序生成数a,按递减排序生成数b, 新的数字为n1 = a-b,下次依照相同方法计算n1,知道出现循环,问计算了多少次。 分析:数论、模拟。直接模拟计算就可以,利用hash表判重。 说明:注意初始化。 #include <algorithm> #in ...
分类:
其他好文 时间:
2017-06-03 15:11:16
阅读次数:
180
1.题目描写叙述:点击打开链接 2.解题思路:本题是一道隐式图的搜索题目。一般来说,这类题目首先要定义状态,接下来是弄清楚状态怎样转移,以及状态怎样判重,怎样推断当前状态是否和目标状态同样。至于求解最短路就是经常使用的BFS就可以。接下来我们逐一展开讨论。 1.状态的定义:看到这道题,猛一下会想着把 ...
分类:
其他好文 时间:
2017-05-30 16:21:34
阅读次数:
241
这里是传送门 这道题用普通BFS是可以做的,但是很明显没得过,效率太低了。效率更高的算法A*和双向广搜都可取,这写一下双向广搜的。 注意题目中的判重很重要,可以转化成九位数用hash来解决这个问题。 ...
分类:
其他好文 时间:
2017-05-29 22:23:30
阅读次数:
278
因为数字达到了2亿。所以用不了筛选。我用的是bfs+map判重 至于输出格式.......看代码吧~ #include<iostream> #include<cstdio> #include<queue> #include<map> #include<algorithm> #include<cstr ...
分类:
其他好文 时间:
2017-05-21 19:39:47
阅读次数:
136
传送门 可以枚举被删除的位置,然后用hash表判重,然而网上好多题解都是用 sort 判重的。 不知道为什么,int 总是过不了,换成 long long 或者是 unsigned long long 就过了 QAQ ——代码 1 #include <cstdio> 2 #include <cstr ...
分类:
其他好文 时间:
2017-05-14 21:48:16
阅读次数:
202
http://acm.hdu.edu.cn/showproblem.php?pid=4821 昨晚卡了非常久,開始TLE,然后优化了之后,由于几个地方变量写混。一直狂WA。搞得我昨晚都失眠了,,。 这几次hash军写错的变量--tmp=(j==m-1)?ah[j]:(ah[j]-ah[j-m]*ba ...
分类:
其他好文 时间:
2017-04-25 18:36:32
阅读次数:
235
開始的时候是暴力dfs+剪枝。怎么也不行。后来參考他人思想: 先求出每一个点之间的最短路(这样预处理之后的搜索就能够判重返回了)。截肢还是关键:1最优性剪枝(尽量最优:眼下的状态+估计还有的最小时间>min就return !),2:可行性截肢:假设当前状态+估计状态已经不可行,return。(注意考 ...
分类:
其他好文 时间:
2017-04-22 12:43:08
阅读次数:
161
题意: 翻转是指其中一段长度为k的子串全部翻转 n<=200000 a[i]<=n 思路:枚举k,直接哈希判充即可 时间复杂度是n/i求和,根据定理可得是O(n log n)级别的 单哈双哈都可能被卡,我用的是单哈+哈希表判重 ...
分类:
其他好文 时间:
2017-04-15 12:31:19
阅读次数:
138
思路: 维护两个指针pointer_1和pointer_2 代表用算法一走到的位置 和算法2走到的位置 若 算法一<算法2 数组后面就插入算法一的解 pointer_1++ (记得判重) (这题卡不住heap什么鬼) ...
分类:
其他好文 时间:
2017-04-01 09:47:16
阅读次数:
150
qwqx 突然想起要打上题目 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。 当n=7共14种拆分方法: 7=1+1+1+1+1+1+1 7=1+1+1+1+1+2 7=1+1+1+1+3 7=1+1+1+2+2 7=1+1+1+4 7=1+1+2+3 7=1+1+5 7=1+2+ ...
分类:
其他好文 时间:
2017-03-24 19:57:00
阅读次数:
149