hash
mr_zj_
这个作者很懒,什么都没留下…
展开
-
51nod 1267 4个数和为0(STL,二分)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1267解题方案:4个数a,b,c,d的和可以拆成(a+b)+(c+d)的和,即可以先预处理出所有可以凑成的2个数的和,然后在这所有的2个数的和里面进行二分查找0-(a+b)。因为题目没有说N个数互不相同,所以二分找到以后还得check一下是否共用了某个数,如果原创 2017-04-07 13:08:16 · 229 阅读 · 0 评论 -
51Nod 1073 约瑟夫环 (递推)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1073解题方案:约瑟夫环的经典解题方案——一人出列以后重新排列,变成和原问题相似的规模更小的子问题,再找出映射规则,即递推。参考博客:约瑟夫环问题(数学方法) 当只剩下一个人的时候,即在O(1)规模下他的编号为0。通过递推,也就是层层映射原创 2017-03-31 16:22:35 · 249 阅读 · 0 评论 -
hdu 1443 Joseph (约瑟夫环)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=1443题意:约瑟夫环,一共2*k个人,每次报到m出局,前k个是好人,后k个是坏人,求最小的m使得所有的坏人先出局。解题方案:模拟,打表,可以维护一个[start,end]区间保护所有的好人,模拟k步。设p=(m-1)%n,n为当前人数,即p为每次出局的位置(重新排列并映射以后的位置),初始时s原创 2017-03-30 18:05:21 · 388 阅读 · 0 评论 -
蓝桥杯 PREV-19 九宫重排 (BFS + hash)
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T42解题方案:一共9!=362880种状态,爆搜不会超时。刚开始用dfs,刚开始直接用dir记录上一层到本层所走的方向,目的是想要防止走回头路。结果:爆栈。经过调试发现这样只能避免立即走回头路,并不能防止走环路。于是发现还是要写vis数组进行标记,但是本题的状态是一个图,或者说是一个字原创 2017-04-02 20:27:12 · 302 阅读 · 0 评论